From 7122bab9cf4b5eff215d23da7e56b26758ecf3b8 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 14 Nov 2022 13:48:34 -0800 Subject: [PATCH 01/31] add md5.js package --- packages/firestore/package.json | 1 + packages/firestore/src/remote/bloom_filter.ts | 68 +++++++++++++++++++ .../test/unit/remote/bloom_filter.test.ts | 33 +++++++++ 3 files changed, 102 insertions(+) create mode 100644 packages/firestore/src/remote/bloom_filter.ts create mode 100644 packages/firestore/test/unit/remote/bloom_filter.test.ts diff --git a/packages/firestore/package.json b/packages/firestore/package.json index ec2ba937eec..6bcae44f289 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -86,6 +86,7 @@ "@firebase/webchannel-wrapper": "0.8.1", "@grpc/grpc-js": "^1.3.2", "@grpc/proto-loader": "^0.6.13", + "md5.js": "^1.3.5", "node-fetch": "2.6.7", "tslib": "^2.1.0" }, diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts new file mode 100644 index 00000000000..66f8017cf58 --- /dev/null +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -0,0 +1,68 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import MD5 from 'md5.js' + +interface BitSequence { + bitmap: string; + padding: number; +} + +export class BloomFilter { + private readonly bitmap: String; + private readonly bitSize: number; + + constructor(readonly bits: BitSequence, private readonly hashCount: number) { + this.bitmap = bits.bitmap; + this.bitSize = this.bitmap.length * 8 - bits.padding; + } + + public mightContain(document: string): Boolean { + //hash the string using md5 + const hash64 = md5HashStringToHex(document); + let hash1 = hash64.slice(0, 16); + let hash2 = hash64.slice(16); + console.log(isBigEndian()); + + + for (let i = 0; i <= this.hashCount; i++) { + let combinedHash = parseInt(hash1) + i * parseInt(hash2); + // Flip all the bits if it's negative (guaranteed positive number) + if (combinedHash < 0) { + combinedHash = ~combinedHash; + } + if (!this.bitmap[combinedHash % this.bitSize]) { + return false; + } + } + return true; + } +} + +//temp function for md5 hash +export function md5HashStringToHex(document: string): string { + return new MD5().update(document).digest('hex'); +} + +export function isBigEndian(): boolean { + let uInt32 = new Uint32Array([0x12345678]); + let uInt8 = new Uint8Array(uInt32.buffer); + + if (uInt8[0] === 0x78) { + return false; + } + return true; +} diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts new file mode 100644 index 00000000000..1d413360415 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -0,0 +1,33 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { expect } from 'chai'; + + import { BloomFilter, isBigEndian, md5HashStringToHex, + } from '../../../src/remote/bloom_filter'; + + describe('BloomFilter', () => { + it.only('md5Hash', () => { + expect(isBigEndian()).to.be.false; + expect(md5HashStringToHex("hi")).to.equal('49f68a5c8493ec2c0bf489821c21fc3b'); + + }); + + + + }); + + From 3c38d569934b3a234ac5eeac0f3cb062ced04599 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 14 Nov 2022 14:22:37 -0800 Subject: [PATCH 02/31] remove noises due to format --- packages/firestore/src/remote/bloom_filter.ts | 15 +- .../test/unit/remote/bloom_filter.test.ts | 26 +- yarn.lock | 32378 ++++++++-------- 3 files changed, 16435 insertions(+), 15984 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 66f8017cf58..69948fbcd5b 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -14,7 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import MD5 from 'md5.js' +// @ts-ignore +import MD5 from 'md5.js'; interface BitSequence { bitmap: string; @@ -22,7 +23,7 @@ interface BitSequence { } export class BloomFilter { - private readonly bitmap: String; + private readonly bitmap: string; private readonly bitSize: number; constructor(readonly bits: BitSequence, private readonly hashCount: number) { @@ -30,16 +31,14 @@ export class BloomFilter { this.bitSize = this.bitmap.length * 8 - bits.padding; } - public mightContain(document: string): Boolean { + mightContain(document: string): boolean { //hash the string using md5 const hash64 = md5HashStringToHex(document); let hash1 = hash64.slice(0, 16); let hash2 = hash64.slice(16); - console.log(isBigEndian()); - for (let i = 0; i <= this.hashCount; i++) { - let combinedHash = parseInt(hash1) + i * parseInt(hash2); + let combinedHash = parseInt(hash1, 10) + i * parseInt(hash2, 10); // Flip all the bits if it's negative (guaranteed positive number) if (combinedHash < 0) { combinedHash = ~combinedHash; @@ -58,8 +57,8 @@ export function md5HashStringToHex(document: string): string { } export function isBigEndian(): boolean { - let uInt32 = new Uint32Array([0x12345678]); - let uInt8 = new Uint8Array(uInt32.buffer); + const uInt32 = new Uint32Array([0x12345678]); + const uInt8 = new Uint8Array(uInt32.buffer); if (uInt8[0] === 0x78) { return false; diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 1d413360415..e9a9845e6f3 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -14,20 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { expect } from 'chai'; - - import { BloomFilter, isBigEndian, md5HashStringToHex, - } from '../../../src/remote/bloom_filter'; - - describe('BloomFilter', () => { - it.only('md5Hash', () => { - expect(isBigEndian()).to.be.false; - expect(md5HashStringToHex("hi")).to.equal('49f68a5c8493ec2c0bf489821c21fc3b'); - - }); - +import { expect } from 'chai'; +import { + isBigEndian, + md5HashStringToHex +} from '../../../src/remote/bloom_filter'; +describe('BloomFilter', () => { + it.only('md5Hash', () => { + expect(isBigEndian()).to.be.false; + expect(md5HashStringToHex('hi')).to.equal( + '49f68a5c8493ec2c0bf489821c21fc3b' + ); }); - - +}); diff --git a/yarn.lock b/yarn.lock index 47ba68aa47f..3eba341744c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,74 +3,45 @@ "@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + "integrity" "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==" + "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" + "version" "2.1.2" dependencies: "@jridgewell/trace-mapping" "^0.3.0" "@apidevtools/json-schema-ref-parser@^9.0.3": - version "9.0.9" - resolved "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b" - integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w== + "integrity" "sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==" + "resolved" "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz" + "version" "9.0.9" dependencies: "@jsdevtools/ono" "^7.1.3" "@types/json-schema" "^7.0.6" - call-me-maybe "^1.0.1" - js-yaml "^4.1.0" + "call-me-maybe" "^1.0.1" + "js-yaml" "^4.1.0" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== - dependencies: - "@babel/highlight" "^7.14.5" - -"@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": + "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" - integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== - -"@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== - -"@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== +"@babel/code-frame@7.12.11": + "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + "version" "7.12.11" + dependencies: + "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.19.4", "@babel/compat-data@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.0.tgz#9b61938c5f688212c7b9ae363a819df7d29d4093" - integrity sha512-Gt9jszFJYq7qzXVK4slhc6NzJXnOVmRECWcVjF/T23rNXD9NtWQ0W3qxdg+p9wWIB+VQw3GYV/U2Ha9bRTfs4w== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.4", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": + "integrity" "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" + "version" "7.20.1" -"@babel/core@7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" - integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@7", "@babel/core@7.17.10": + "integrity" "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz" + "version" "7.17.10" dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" @@ -82,351 +53,124 @@ "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.10" "@babel/types" "^7.17.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": - version "7.15.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" - integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.4" - "@babel/helpers" "^7.15.4" - "@babel/parser" "^7.15.5" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.15.4", "@babel/generator@^7.7.2": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" - integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== - dependencies: - "@babel/types" "^7.15.4" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" - integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== - dependencies: - "@babel/types" "^7.17.10" - "@jridgewell/gen-mapping" "^0.1.0" - jsesc "^2.5.1" - -"@babel/generator@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" - integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.2.1" + "semver" "^6.3.0" -"@babel/generator@^7.19.4": - version "7.19.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" - integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg== +"@babel/generator@^7.17.10", "@babel/generator@^7.19.6", "@babel/generator@^7.7.2": + "integrity" "sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz" + "version" "7.19.6" dependencies: "@babel/types" "^7.19.4" "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.0.tgz#0bfc5379e0efb05ca6092091261fcdf7ec36249d" - integrity sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w== - dependencies: - "@babel/types" "^7.20.0" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" - integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" + "jsesc" "^2.5.1" "@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" + "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + "integrity" "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==" + "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" - integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== - dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" - integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== +"@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.0": + "integrity" "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" + "version" "7.20.0" dependencies: "@babel/compat-data" "^7.20.0" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.7": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" - integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-class-features-plugin@^7.18.6": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== + "browserslist" "^4.21.3" + "semver" "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.18.6": + "integrity" "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz" + "version" "7.20.2" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-replace-supers" "^7.19.1" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" - integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - regexpu-core "^4.7.1" - "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== + "integrity" "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz" + "version" "7.19.0" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" + "regexpu-core" "^5.1.0" "@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + "integrity" "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" + "version" "0.3.3" dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" "@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + "version" "7.18.9" "@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + "integrity" "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==" + "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" - integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== - dependencies: - "@babel/helper-get-function-arity" "^7.15.4" - "@babel/template" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + "integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + "version" "7.19.0" dependencies: "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" -"@babel/helper-get-function-arity@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" - integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-hoist-variables@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" - integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" - integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== - dependencies: - "@babel/types" "^7.17.0" - "@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== + "integrity" "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/types" "^7.18.9" -"@babel/helper-module-imports@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" - integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.15.4": - version "7.15.7" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" - integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== - dependencies: - "@babel/helper-module-imports" "^7.15.4" - "@babel/helper-replace-supers" "^7.15.4" - "@babel/helper-simple-access" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.6" - -"@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-module-transforms@^7.18.6": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-module-transforms@^7.19.6": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" - integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== +"@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6": + "integrity" "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz" + "version" "7.19.6" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -437,77 +181,32 @@ "@babel/traverse" "^7.19.6" "@babel/types" "^7.19.4" -"@babel/helper-optimise-call-expression@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" - integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-plugin-utils@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + "integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + "version" "7.20.2" "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + "integrity" "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" + "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" - integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.4" - "@babel/helper-optimise-call-expression" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": + "integrity" "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz" + "version" "7.19.1" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-member-expression-to-functions" "^7.18.9" @@ -515,190 +214,95 @@ "@babel/traverse" "^7.19.1" "@babel/types" "^7.19.0" -"@babel/helper-simple-access@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" - integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - "@babel/helper-simple-access@^7.18.6", "@babel/helper-simple-access@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" - integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== + "integrity" "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz" + "version" "7.19.4" dependencies: "@babel/types" "^7.19.4" "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + "integrity" "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==" + "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" + "version" "7.20.0" dependencies: "@babel/types" "^7.20.0" -"@babel/helper-split-export-declaration@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" - integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + "integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + "version" "7.19.4" "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + "version" "7.19.1" -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== +"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": + "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + "version" "7.18.6" "@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== + "integrity" "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==" + "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz" + "version" "7.19.0" dependencies: "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" "@babel/traverse" "^7.19.0" "@babel/types" "^7.19.0" -"@babel/helpers@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" - integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== - dependencies: - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - "@babel/helpers@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== + "integrity" "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz" + "version" "7.17.9" dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": + "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.2": - version "7.15.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" - integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== - -"@babel/parser@^7.16.7", "@babel/parser@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" - integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== - -"@babel/parser@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" - integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== - -"@babel/parser@^7.18.10", "@babel/parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc" - integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA== - -"@babel/parser@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz#b26133c888da4d79b0d3edcf42677bcadc783046" - integrity sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg== + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" + +"@babel/parser@^7.17.10", "@babel/parser@^7.18.10", "@babel/parser@^7.19.6", "@babel/parser@^7.7.2", "@babel/parser@^7.9.4": + "integrity" "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz" + "version" "7.19.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + "integrity" "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== + "integrity" "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz" + "version" "7.20.1" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" @@ -706,416 +310,384 @@ "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + "integrity" "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + "integrity" "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + "integrity" "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + "integrity" "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + "integrity" "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" - integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== + "integrity" "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz" + "version" "7.20.2" dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-parameters" "^7.20.1" "@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== + "integrity" "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + "integrity" "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" - integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + "integrity" "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" + "version" "7.20.0" dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" - integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== +"@babel/plugin-syntax-typescript@^7.16.7", "@babel/plugin-syntax-typescript@^7.7.2": + "integrity" "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + "integrity" "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + "integrity" "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-module-imports" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.19.4": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz#91fe5e6ffc9ba13cb6c95ed7f0b1204f68c988c5" - integrity sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w== + "integrity" "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz" + "version" "7.20.2" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== + "integrity" "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz" + "version" "7.20.2" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" + "@babel/helper-compilation-targets" "^7.20.0" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.19.1" "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" + "globals" "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + "integrity" "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-destructuring@^7.19.4": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz#712829ef4825d9cc04bb379de316f981e9a6f648" - integrity sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA== + "integrity" "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz" + "version" "7.20.2" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-dotall-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" - integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + "integrity" "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== + "integrity" "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" + "version" "7.18.8" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + "integrity" "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + "integrity" "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.18.6": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" - integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== + "integrity" "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz" + "version" "7.19.6" dependencies: "@babel/helper-module-transforms" "^7.19.6" "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-modules-commonjs@7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== +"@babel/plugin-transform-modules-commonjs@^7.18.6", "@babel/plugin-transform-modules-commonjs@7.18.6": + "integrity" "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" - integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== - dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-simple-access" "^7.19.4" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" - integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== + "integrity" "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz" + "version" "7.19.6" dependencies: "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-module-transforms" "^7.19.6" @@ -1123,129 +695,129 @@ "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== + "integrity" "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz" + "version" "7.19.1" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + "integrity" "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== +"@babel/plugin-transform-parameters@^7.18.8", "@babel/plugin-transform-parameters@^7.20.1": + "integrity" "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz" + "version" "7.20.3" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + "integrity" "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "regenerator-transform" "^0.15.0" "@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== + "integrity" "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz" + "version" "7.19.0" dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + "integrity" "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + "integrity" "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.16.7": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" - integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== + "integrity" "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz" + "version" "7.16.8" dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-typescript" "^7.16.7" "@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + "integrity" "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" + "version" "7.18.10" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-env@7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" - integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== + "integrity" "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==" + "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz" + "version" "7.19.4" dependencies: "@babel/compat-data" "^7.19.4" "@babel/helper-compilation-targets" "^7.19.3" @@ -1317,202 +889,88 @@ "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.19.4" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.3.3" + "babel-plugin-polyfill-corejs3" "^0.6.0" + "babel-plugin-polyfill-regenerator" "^0.4.1" + "core-js-compat" "^3.25.1" + "semver" "^6.3.0" "@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + "version" "0.1.5" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - esutils "^2.0.2" + "esutils" "^2.0.2" "@babel/preset-typescript@7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" - integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== + "integrity" "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==" + "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-transform-typescript" "^7.16.7" "@babel/register@7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" - integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== + "integrity" "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==" + "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz" + "version" "7.18.9" dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" + "clone-deep" "^4.0.1" + "find-cache-dir" "^2.0.0" + "make-dir" "^2.1.0" + "pirates" "^4.0.5" + "source-map-support" "^0.5.16" "@babel/runtime@^7.10.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" - integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.15.4": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" - integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== + "integrity" "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz" + "version" "7.15.4" dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" + "regenerator-runtime" "^0.13.4" -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/template@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== +"@babel/template@^7.16.7", "@babel/template@^7.18.10": + "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + "version" "7.18.10" dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.15.4", "@babel/traverse@^7.7.2": - version "7.15.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" - integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" - "@babel/helper-function-name" "^7.15.4" - "@babel/helper-hoist-variables" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.16.7", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" - integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.9" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" - integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.10" - "@babel/types" "^7.17.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.0": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz#f117820e18b1e59448a6c1fa9d0ff08f7ac459a8" - integrity sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g== +"@babel/traverse@^7.17.10", "@babel/traverse@^7.17.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.6", "@babel/traverse@^7.7.2": + "integrity" "sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz" + "version" "7.19.6" dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.4" + "@babel/generator" "^7.19.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.4" + "@babel/parser" "^7.19.6" "@babel/types" "^7.19.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.1", "@babel/traverse@^7.19.6": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.0.tgz#538c4c6ce6255f5666eba02252a7b59fc2d5ed98" - integrity sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.0" - "@babel/types" "^7.20.0" - debug "^4.1.0" - globals "^11.1.0" + "debug" "^4.1.0" + "globals" "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.15.6" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" - integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - to-fast-properties "^2.0.0" - -"@babel/types@^7.16.7", "@babel/types@^7.17.0": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" - integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" - integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.9", "@babel/types@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" - integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== +"@babel/types@^7.0.0", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + "integrity" "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz" + "version" "7.20.2" dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" + "to-fast-properties" "^2.0.0" "@changesets/apply-release-plan@^6.1.1": - version "6.1.1" - resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.1.tgz#14ec261c11c9b90d110a83b8b96412ddb7303ddf" - integrity sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g== + "integrity" "sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g==" + "resolved" "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.1.tgz" + "version" "6.1.1" dependencies: "@babel/runtime" "^7.10.4" "@changesets/config" "^2.2.0" @@ -1520,46 +978,46 @@ "@changesets/git" "^1.5.0" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - detect-indent "^6.0.0" - fs-extra "^7.0.1" - lodash.startcase "^4.4.0" - outdent "^0.5.0" - prettier "^2.7.1" - resolve-from "^5.0.0" - semver "^5.4.1" + "detect-indent" "^6.0.0" + "fs-extra" "^7.0.1" + "lodash.startcase" "^4.4.0" + "outdent" "^0.5.0" + "prettier" "^2.7.1" + "resolve-from" "^5.0.0" + "semver" "^5.4.1" "@changesets/assemble-release-plan@^5.2.2": - version "5.2.2" - resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.2.tgz#9824f14a7a6e411c7153f1ccc2a42bbe35688129" - integrity sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ== + "integrity" "sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ==" + "resolved" "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.2.tgz" + "version" "5.2.2" dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - semver "^5.4.1" + "semver" "^5.4.1" "@changesets/changelog-git@^0.1.13": - version "0.1.13" - resolved "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.13.tgz#182e130add456255d8ee2b4c8eaf88048944aaaf" - integrity sha512-zvJ50Q+EUALzeawAxax6nF2WIcSsC5PwbuLeWkckS8ulWnuPYx8Fn/Sjd3rF46OzeKA8t30loYYV6TIzp4DIdg== + "integrity" "sha512-zvJ50Q+EUALzeawAxax6nF2WIcSsC5PwbuLeWkckS8ulWnuPYx8Fn/Sjd3rF46OzeKA8t30loYYV6TIzp4DIdg==" + "resolved" "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.13.tgz" + "version" "0.1.13" dependencies: "@changesets/types" "^5.2.0" "@changesets/changelog-github@0.4.7": - version "0.4.7" - resolved "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz#4da67472eaa0dc1ccff91fe8ecd9846ce818ec7b" - integrity sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew== + "integrity" "sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew==" + "resolved" "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz" + "version" "0.4.7" dependencies: "@changesets/get-github-info" "^0.5.1" "@changesets/types" "^5.2.0" - dotenv "^8.1.0" + "dotenv" "^8.1.0" "@changesets/cli@2.25.0": - version "2.25.0" - resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.25.0.tgz#c338fefe69daa8348a504e7f54382eb1a4bb7a10" - integrity sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA== + "integrity" "sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA==" + "resolved" "https://registry.npmjs.org/@changesets/cli/-/cli-2.25.0.tgz" + "version" "2.25.0" dependencies: "@babel/runtime" "^7.10.4" "@changesets/apply-release-plan" "^6.1.1" @@ -1578,66 +1036,66 @@ "@manypkg/get-packages" "^1.1.3" "@types/is-ci" "^3.0.0" "@types/semver" "^6.0.0" - ansi-colors "^4.1.3" - chalk "^2.1.0" - enquirer "^2.3.0" - external-editor "^3.1.0" - fs-extra "^7.0.1" - human-id "^1.0.2" - is-ci "^3.0.1" - meow "^6.0.0" - outdent "^0.5.0" - p-limit "^2.2.0" - preferred-pm "^3.0.0" - resolve-from "^5.0.0" - semver "^5.4.1" - spawndamnit "^2.0.0" - term-size "^2.1.0" - tty-table "^4.1.5" + "ansi-colors" "^4.1.3" + "chalk" "^2.1.0" + "enquirer" "^2.3.0" + "external-editor" "^3.1.0" + "fs-extra" "^7.0.1" + "human-id" "^1.0.2" + "is-ci" "^3.0.1" + "meow" "^6.0.0" + "outdent" "^0.5.0" + "p-limit" "^2.2.0" + "preferred-pm" "^3.0.0" + "resolve-from" "^5.0.0" + "semver" "^5.4.1" + "spawndamnit" "^2.0.0" + "term-size" "^2.1.0" + "tty-table" "^4.1.5" "@changesets/config@^2.2.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@changesets/config/-/config-2.2.0.tgz#382f6cd801fa56273942659114c8060378dfe066" - integrity sha512-GGaokp3nm5FEDk/Fv2PCRcQCOxGKKPRZ7prcMqxEr7VSsG75MnChQE8plaW1k6V8L2bJE+jZWiRm19LbnproOw== + "integrity" "sha512-GGaokp3nm5FEDk/Fv2PCRcQCOxGKKPRZ7prcMqxEr7VSsG75MnChQE8plaW1k6V8L2bJE+jZWiRm19LbnproOw==" + "resolved" "https://registry.npmjs.org/@changesets/config/-/config-2.2.0.tgz" + "version" "2.2.0" dependencies: "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.4" "@changesets/logger" "^0.0.5" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - fs-extra "^7.0.1" - micromatch "^4.0.2" + "fs-extra" "^7.0.1" + "micromatch" "^4.0.2" "@changesets/errors@^0.1.4": - version "0.1.4" - resolved "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz#f79851746c43679a66b383fdff4c012f480f480d" - integrity sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q== + "integrity" "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==" + "resolved" "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz" + "version" "0.1.4" dependencies: - extendable-error "^0.1.5" + "extendable-error" "^0.1.5" "@changesets/get-dependents-graph@^1.3.4": - version "1.3.4" - resolved "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.4.tgz#d8bf537f45a7ff773da99143675f49e250996838" - integrity sha512-+C4AOrrFY146ydrgKOo5vTZfj7vetNu1tWshOID+UjPUU9afYGDXI8yLnAeib1ffeBXV3TuGVcyphKpJ3cKe+A== + "integrity" "sha512-+C4AOrrFY146ydrgKOo5vTZfj7vetNu1tWshOID+UjPUU9afYGDXI8yLnAeib1ffeBXV3TuGVcyphKpJ3cKe+A==" + "resolved" "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.4.tgz" + "version" "1.3.4" dependencies: "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - chalk "^2.1.0" - fs-extra "^7.0.1" - semver "^5.4.1" + "chalk" "^2.1.0" + "fs-extra" "^7.0.1" + "semver" "^5.4.1" -"@changesets/get-github-info@0.5.1", "@changesets/get-github-info@^0.5.1": - version "0.5.1" - resolved "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz#5a20328b26f301b2193717abb32e73651e8811b7" - integrity sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw== +"@changesets/get-github-info@^0.5.1", "@changesets/get-github-info@0.5.1": + "integrity" "sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw==" + "resolved" "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz" + "version" "0.5.1" dependencies: - dataloader "^1.4.0" - node-fetch "^2.5.0" + "dataloader" "^1.4.0" + "node-fetch" "^2.5.0" "@changesets/get-release-plan@^3.0.15": - version "3.0.15" - resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.15.tgz#55577b235b785125a462d5d2a2dffe4dbf94e590" - integrity sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA== + "integrity" "sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA==" + "resolved" "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.15.tgz" + "version" "3.0.15" dependencies: "@babel/runtime" "^7.10.4" "@changesets/assemble-release-plan" "^5.2.2" @@ -1648,156 +1106,532 @@ "@manypkg/get-packages" "^1.1.3" "@changesets/get-version-range-type@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" - integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== + "integrity" "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==" + "resolved" "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz" + "version" "0.3.2" "@changesets/git@^1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@changesets/git/-/git-1.5.0.tgz#71bbcf11f3b346d56eeaf3d3201e6dc3e270ea5a" - integrity sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg== + "integrity" "sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg==" + "resolved" "https://registry.npmjs.org/@changesets/git/-/git-1.5.0.tgz" + "version" "1.5.0" dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - is-subdir "^1.1.1" - spawndamnit "^2.0.0" + "is-subdir" "^1.1.1" + "spawndamnit" "^2.0.0" "@changesets/logger@^0.0.5": - version "0.0.5" - resolved "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz#68305dd5a643e336be16a2369cb17cdd8ed37d4c" - integrity sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw== + "integrity" "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==" + "resolved" "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz" + "version" "0.0.5" dependencies: - chalk "^2.1.0" + "chalk" "^2.1.0" "@changesets/parse@^0.3.15": - version "0.3.15" - resolved "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.15.tgz#1bc74f8c43b0861d71f4fccf78950411004ba308" - integrity sha512-3eDVqVuBtp63i+BxEWHPFj2P1s3syk0PTrk2d94W9JD30iG+OER0Y6n65TeLlY8T2yB9Fvj6Ev5Gg0+cKe/ZUA== + "integrity" "sha512-3eDVqVuBtp63i+BxEWHPFj2P1s3syk0PTrk2d94W9JD30iG+OER0Y6n65TeLlY8T2yB9Fvj6Ev5Gg0+cKe/ZUA==" + "resolved" "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.15.tgz" + "version" "0.3.15" dependencies: "@changesets/types" "^5.2.0" - js-yaml "^3.13.1" + "js-yaml" "^3.13.1" "@changesets/pre@^1.0.13": - version "1.0.13" - resolved "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.13.tgz#49c3ae8bb444a1ce3e0fe4cb21f238318b6763e9" - integrity sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA== + "integrity" "sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA==" + "resolved" "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.13.tgz" + "version" "1.0.13" dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - fs-extra "^7.0.1" + "fs-extra" "^7.0.1" "@changesets/read@^0.5.8": - version "0.5.8" - resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.8.tgz#84e24fd12e6759cef090088261c08b1dfe0f350e" - integrity sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw== + "integrity" "sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw==" + "resolved" "https://registry.npmjs.org/@changesets/read/-/read-0.5.8.tgz" + "version" "0.5.8" dependencies: "@babel/runtime" "^7.10.4" "@changesets/git" "^1.5.0" "@changesets/logger" "^0.0.5" "@changesets/parse" "^0.3.15" "@changesets/types" "^5.2.0" - chalk "^2.1.0" - fs-extra "^7.0.1" - p-filter "^2.1.0" - -"@changesets/types@3.3.0": - version "3.3.0" - resolved "https://registry.npmjs.org/@changesets/types/-/types-3.3.0.tgz#04cd8184b2d2da760667bd89bf9b930938dbd96e" - integrity sha512-rJamRo+OD/MQekImfIk07JZwYSB18iU6fYL8xOg0gfAiTh1a1+OlR1fPIxm55I7RsWw812is2YcPPwXdIewrhA== + "chalk" "^2.1.0" + "fs-extra" "^7.0.1" + "p-filter" "^2.1.0" "@changesets/types@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@changesets/types/-/types-4.0.1.tgz#85cf3cc32baff0691112d9d15fc21fbe022c9f0a" - integrity sha512-zVfv752D8K2tjyFmxU/vnntQ+dPu+9NupOSguA/2Zuym4tVxRh0ylArgKZ1bOAi2eXfGlZMxJU/kj7uCSI15RQ== + "integrity" "sha512-zVfv752D8K2tjyFmxU/vnntQ+dPu+9NupOSguA/2Zuym4tVxRh0ylArgKZ1bOAi2eXfGlZMxJU/kj7uCSI15RQ==" + "resolved" "https://registry.npmjs.org/@changesets/types/-/types-4.0.1.tgz" + "version" "4.0.1" "@changesets/types@^5.2.0": - version "5.2.0" - resolved "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz#c4927f5bf9668f778c12b4226cfd07a1f5b79c9b" - integrity sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA== + "integrity" "sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA==" + "resolved" "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz" + "version" "5.2.0" + +"@changesets/types@3.3.0": + "integrity" "sha512-rJamRo+OD/MQekImfIk07JZwYSB18iU6fYL8xOg0gfAiTh1a1+OlR1fPIxm55I7RsWw812is2YcPPwXdIewrhA==" + "resolved" "https://registry.npmjs.org/@changesets/types/-/types-3.3.0.tgz" + "version" "3.3.0" "@changesets/write@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@changesets/write/-/write-0.2.1.tgz#c00d95851e2ca70385434a360a90ead9a1d07c74" - integrity sha512-KUd49nt2fnYdGixIqTi1yVE1nAoZYUMdtB3jBfp77IMqjZ65hrmZE5HdccDlTeClZN0420ffpnfET3zzeY8pdw== + "integrity" "sha512-KUd49nt2fnYdGixIqTi1yVE1nAoZYUMdtB3jBfp77IMqjZ65hrmZE5HdccDlTeClZN0420ffpnfET3zzeY8pdw==" + "resolved" "https://registry.npmjs.org/@changesets/write/-/write-0.2.1.tgz" + "version" "0.2.1" dependencies: "@babel/runtime" "^7.10.4" "@changesets/types" "^5.2.0" - fs-extra "^7.0.1" - human-id "^1.0.2" - prettier "^2.7.1" + "fs-extra" "^7.0.1" + "human-id" "^1.0.2" + "prettier" "^2.7.1" "@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + "version" "1.5.0" "@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" + "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + "version" "0.8.1" dependencies: "@jridgewell/trace-mapping" "0.3.9" "@dabh/diagnostics@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31" - integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q== + "integrity" "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==" + "resolved" "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz" + "version" "2.0.2" dependencies: - colorspace "1.1.x" - enabled "2.0.x" - kuler "^2.0.0" + "colorspace" "1.1.x" + "enabled" "2.0.x" + "kuler" "^2.0.0" "@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" + "integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==" + "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + "version" "0.4.3" + dependencies: + "ajv" "^6.12.4" + "debug" "^4.1.1" + "espree" "^7.3.0" + "globals" "^13.9.0" + "ignore" "^4.0.6" + "import-fresh" "^3.2.1" + "js-yaml" "^3.13.1" + "minimatch" "^3.0.4" + "strip-json-comments" "^3.1.1" + +"@firebase/analytics-compat@0.1.17", "@firebase/analytics-compat@file:/Users/milamamat/firebase-js-sdk/packages/analytics-compat": + "resolved" "file:packages/analytics-compat" + "version" "0.1.17" + dependencies: + "@firebase/analytics" "0.8.4" + "@firebase/analytics-types" "0.7.1" + "@firebase/component" "0.5.21" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/analytics-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/analytics-interop-types": + "resolved" "file:packages/analytics-interop-types" + "version" "0.2.1" + +"@firebase/analytics-types@0.7.1", "@firebase/analytics-types@file:/Users/milamamat/firebase-js-sdk/packages/analytics-types": + "resolved" "file:packages/analytics-types" + "version" "0.7.1" + +"@firebase/analytics@0.8.4", "@firebase/analytics@file:/Users/milamamat/firebase-js-sdk/packages/analytics": + "resolved" "file:packages/analytics" + "version" "0.8.4" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/installations" "0.5.16" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/api-documenter@file:/Users/milamamat/firebase-js-sdk/repo-scripts/api-documenter": + "resolved" "file:repo-scripts/api-documenter" + "version" "0.3.0" + dependencies: + "@microsoft/tsdoc" "0.12.24" + "@rushstack/node-core-library" "3.45.5" + "@rushstack/ts-command-line" "4.13.0" + "api-extractor-model-me" "0.1.1" + "colors" "~1.4.0" + "js-yaml" "4.1.0" + "resolve" "~1.22.0" + "tslib" "^2.1.0" + +"@firebase/app-check-compat@0.2.17", "@firebase/app-check-compat@file:/Users/milamamat/firebase-js-sdk/packages/app-check-compat": + "resolved" "file:packages/app-check-compat" + "version" "0.2.17" + dependencies: + "@firebase/app-check" "0.5.17" + "@firebase/app-check-types" "0.4.1" + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/app-check-interop-types@0.1.1", "@firebase/app-check-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/app-check-interop-types": + "resolved" "file:packages/app-check-interop-types" + "version" "0.1.1" + +"@firebase/app-check-types@0.4.1", "@firebase/app-check-types@file:/Users/milamamat/firebase-js-sdk/packages/app-check-types": + "resolved" "file:packages/app-check-types" + "version" "0.4.1" + +"@firebase/app-check@0.5.17", "@firebase/app-check@file:/Users/milamamat/firebase-js-sdk/packages/app-check": + "resolved" "file:packages/app-check" + "version" "0.5.17" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/app-compat@0.1.39", "@firebase/app-compat@file:/Users/milamamat/firebase-js-sdk/packages/app-compat": + "resolved" "file:packages/app-compat" + "version" "0.1.39" + dependencies: + "@firebase/app" "0.8.4" + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/app-types@0.8.1", "@firebase/app-types@0.x", "@firebase/app-types@file:/Users/milamamat/firebase-js-sdk/packages/app-types": + "resolved" "file:packages/app-types" + "version" "0.8.1" + +"@firebase/app@0.8.4", "@firebase/app@file:/Users/milamamat/firebase-js-sdk/packages/app": + "resolved" "file:packages/app" + "version" "0.8.4" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "idb" "7.0.1" + "tslib" "^2.1.0" + +"@firebase/auth-compat@0.2.24", "@firebase/auth-compat@file:/Users/milamamat/firebase-js-sdk/packages/auth-compat": + "resolved" "file:packages/auth-compat" + "version" "0.2.24" + dependencies: + "@firebase/auth" "0.20.11" + "@firebase/auth-types" "0.11.1" + "@firebase/component" "0.5.21" + "@firebase/util" "1.7.3" + "node-fetch" "2.6.7" + "selenium-webdriver" "4.5.0" + "tslib" "^2.1.0" + +"@firebase/auth-interop-types@0.1.7", "@firebase/auth-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/auth-interop-types": + "resolved" "file:packages/auth-interop-types" + "version" "0.1.7" + +"@firebase/auth-types@0.11.1", "@firebase/auth-types@file:/Users/milamamat/firebase-js-sdk/packages/auth-types": + "resolved" "file:packages/auth-types" + "version" "0.11.1" + +"@firebase/auth@0.20.11", "@firebase/auth@file:/Users/milamamat/firebase-js-sdk/packages/auth": + "resolved" "file:packages/auth" + "version" "0.20.11" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "node-fetch" "2.6.7" + "selenium-webdriver" "4.5.0" + "tslib" "^2.1.0" + +"@firebase/changelog-generator@file:/Users/milamamat/firebase-js-sdk/repo-scripts/changelog-generator": + "resolved" "file:repo-scripts/changelog-generator" + "version" "0.1.0" + dependencies: + "@changesets/get-github-info" "0.5.1" + "@changesets/types" "3.3.0" + "@types/node-fetch" "2.6.2" + "node-fetch" "2.6.7" + +"@firebase/component@0.5.21", "@firebase/component@file:/Users/milamamat/firebase-js-sdk/packages/component": + "resolved" "file:packages/component" + "version" "0.5.21" + dependencies: + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/database-compat@0.2.10", "@firebase/database-compat@file:/Users/milamamat/firebase-js-sdk/packages/database-compat": + "resolved" "file:packages/database-compat" + "version" "0.2.10" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/database" "0.13.10" + "@firebase/database-types" "0.9.17" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/database-types@0.9.17", "@firebase/database-types@file:/Users/milamamat/firebase-js-sdk/packages/database-types": + "resolved" "file:packages/database-types" + "version" "0.9.17" + dependencies: + "@firebase/app-types" "0.8.1" + "@firebase/util" "1.7.3" + +"@firebase/database@0.13.10", "@firebase/database@file:/Users/milamamat/firebase-js-sdk/packages/database": + "resolved" "file:packages/database" + "version" "0.13.10" + dependencies: + "@firebase/auth-interop-types" "0.1.7" + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "faye-websocket" "0.11.4" + "tslib" "^2.1.0" + +"@firebase/firestore-compat@0.2.3", "@firebase/firestore-compat@file:/Users/milamamat/firebase-js-sdk/packages/firestore-compat": + "resolved" "file:packages/firestore-compat" + "version" "0.2.3" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/firestore" "3.7.3" + "@firebase/firestore-types" "2.5.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/firestore-types@2.5.1", "@firebase/firestore-types@file:/Users/milamamat/firebase-js-sdk/packages/firestore-types": + "resolved" "file:packages/firestore-types" + "version" "2.5.1" + +"@firebase/firestore@3.7.3", "@firebase/firestore@file:/Users/milamamat/firebase-js-sdk/packages/firestore": + "resolved" "file:packages/firestore" + "version" "3.7.3" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "@firebase/webchannel-wrapper" "0.8.1" + "@grpc/grpc-js" "^1.3.2" + "@grpc/proto-loader" "^0.6.13" + "blueimp-md5" "^2.19.0" + "node-fetch" "2.6.7" + "tslib" "^2.1.0" + +"@firebase/functions-compat@0.2.8", "@firebase/functions-compat@file:/Users/milamamat/firebase-js-sdk/packages/functions-compat": + "resolved" "file:packages/functions-compat" + "version" "0.2.8" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/functions" "0.8.8" + "@firebase/functions-types" "0.5.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/functions-types@0.5.1", "@firebase/functions-types@file:/Users/milamamat/firebase-js-sdk/packages/functions-types": + "resolved" "file:packages/functions-types" + "version" "0.5.1" + +"@firebase/functions@0.8.8", "@firebase/functions@file:/Users/milamamat/firebase-js-sdk/packages/functions": + "resolved" "file:packages/functions" + "version" "0.8.8" + dependencies: + "@firebase/app-check-interop-types" "0.1.1" + "@firebase/auth-interop-types" "0.1.7" + "@firebase/component" "0.5.21" + "@firebase/messaging-interop-types" "0.1.1" + "@firebase/util" "1.7.3" + "node-fetch" "2.6.7" + "tslib" "^2.1.0" + +"@firebase/installations-compat@0.1.16", "@firebase/installations-compat@file:/Users/milamamat/firebase-js-sdk/packages/installations-compat": + "resolved" "file:packages/installations-compat" + "version" "0.1.16" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/installations" "0.5.16" + "@firebase/installations-types" "0.4.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/installations-types@0.4.1", "@firebase/installations-types@file:/Users/milamamat/firebase-js-sdk/packages/installations-types": + "resolved" "file:packages/installations-types" + "version" "0.4.1" + +"@firebase/installations@0.5.16", "@firebase/installations@file:/Users/milamamat/firebase-js-sdk/packages/installations": + "resolved" "file:packages/installations" + "version" "0.5.16" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/util" "1.7.3" + "idb" "7.0.1" + "tslib" "^2.1.0" + +"@firebase/logger@0.3.4", "@firebase/logger@file:/Users/milamamat/firebase-js-sdk/packages/logger": + "resolved" "file:packages/logger" + "version" "0.3.4" + dependencies: + "tslib" "^2.1.0" + +"@firebase/messaging-compat@0.1.21", "@firebase/messaging-compat@file:/Users/milamamat/firebase-js-sdk/packages/messaging-compat": + "resolved" "file:packages/messaging-compat" + "version" "0.1.21" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/messaging" "0.11.0" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/messaging-interop-types@0.1.1", "@firebase/messaging-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/messaging-interop-types": + "resolved" "file:packages/messaging-interop-types" + "version" "0.1.1" + +"@firebase/messaging@0.11.0", "@firebase/messaging@file:/Users/milamamat/firebase-js-sdk/packages/messaging": + "resolved" "file:packages/messaging" + "version" "0.11.0" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/installations" "0.5.16" + "@firebase/messaging-interop-types" "0.1.1" + "@firebase/util" "1.7.3" + "idb" "7.0.1" + "tslib" "^2.1.0" + +"@firebase/performance-compat@0.1.17", "@firebase/performance-compat@file:/Users/milamamat/firebase-js-sdk/packages/performance-compat": + "resolved" "file:packages/performance-compat" + "version" "0.1.17" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/performance" "0.5.17" + "@firebase/performance-types" "0.1.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/performance-types@0.1.1", "@firebase/performance-types@file:/Users/milamamat/firebase-js-sdk/packages/performance-types": + "resolved" "file:packages/performance-types" + "version" "0.1.1" + +"@firebase/performance@0.5.17", "@firebase/performance@file:/Users/milamamat/firebase-js-sdk/packages/performance": + "resolved" "file:packages/performance" + "version" "0.5.17" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/installations" "0.5.16" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/remote-config-compat@0.1.16", "@firebase/remote-config-compat@file:/Users/milamamat/firebase-js-sdk/packages/remote-config-compat": + "resolved" "file:packages/remote-config-compat" + "version" "0.1.16" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/logger" "0.3.4" + "@firebase/remote-config" "0.3.15" + "@firebase/remote-config-types" "0.2.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/remote-config-types@0.2.1", "@firebase/remote-config-types@file:/Users/milamamat/firebase-js-sdk/packages/remote-config-types": + "resolved" "file:packages/remote-config-types" + "version" "0.2.1" + +"@firebase/remote-config@0.3.15", "@firebase/remote-config@file:/Users/milamamat/firebase-js-sdk/packages/remote-config": + "resolved" "file:packages/remote-config" + "version" "0.3.15" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/installations" "0.5.16" + "@firebase/logger" "0.3.4" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/rules-unit-testing@file:/Users/milamamat/firebase-js-sdk/packages/rules-unit-testing": + "resolved" "file:packages/rules-unit-testing" + "version" "2.0.5" + dependencies: + "node-fetch" "2.6.7" + +"@firebase/storage-compat@0.1.22", "@firebase/storage-compat@file:/Users/milamamat/firebase-js-sdk/packages/storage-compat": + "resolved" "file:packages/storage-compat" + "version" "0.1.22" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/storage" "0.9.14" + "@firebase/storage-types" "0.6.1" + "@firebase/util" "1.7.3" + "tslib" "^2.1.0" + +"@firebase/storage-types@0.6.1", "@firebase/storage-types@file:/Users/milamamat/firebase-js-sdk/packages/storage-types": + "resolved" "file:packages/storage-types" + "version" "0.6.1" + +"@firebase/storage@0.9.14", "@firebase/storage@file:/Users/milamamat/firebase-js-sdk/packages/storage": + "resolved" "file:packages/storage" + "version" "0.9.14" + dependencies: + "@firebase/component" "0.5.21" + "@firebase/util" "1.7.3" + "node-fetch" "2.6.7" + "tslib" "^2.1.0" + +"@firebase/template-types@0.1.0", "@firebase/template-types@file:/Users/milamamat/firebase-js-sdk/packages/template-types": + "resolved" "file:packages/template-types" + "version" "0.1.0" + +"@firebase/template@file:/Users/milamamat/firebase-js-sdk/packages/template": + "resolved" "file:packages/template" + "version" "0.1.2" + dependencies: + "@firebase/template-types" "0.1.0" + "tslib" "^2.1.0" + +"@firebase/util@1.7.3", "@firebase/util@1.x", "@firebase/util@file:/Users/milamamat/firebase-js-sdk/packages/util": + "resolved" "file:packages/util" + "version" "1.7.3" + dependencies: + "tslib" "^2.1.0" + +"@firebase/webchannel-wrapper@0.8.1", "@firebase/webchannel-wrapper@file:/Users/milamamat/firebase-js-sdk/packages/webchannel-wrapper": + "resolved" "file:packages/webchannel-wrapper" + "version" "0.8.1" "@gar/promisify@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" - integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + "integrity" "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + "resolved" "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz" + "version" "1.1.2" "@google-cloud/paginator@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-4.0.0.tgz#9c3e01544717aecb9a922b4269ff298f30a0f1bb" - integrity sha512-wNmCZl+2G2DmgT/VlF+AROf80SoaC/CwS8trwmjNaq26VRNK8yPbU5F/Vy+R9oDAGKWQU2k8+Op5H4kFJVXFaQ== + "integrity" "sha512-wNmCZl+2G2DmgT/VlF+AROf80SoaC/CwS8trwmjNaq26VRNK8yPbU5F/Vy+R9oDAGKWQU2k8+Op5H4kFJVXFaQ==" + "resolved" "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-4.0.0.tgz" + "version" "4.0.0" dependencies: - arrify "^2.0.0" - extend "^3.0.2" + "arrify" "^2.0.0" + "extend" "^3.0.2" "@google-cloud/precise-date@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-3.0.0.tgz#8e4d805b27dcce8d23bd7af3f14ce6462208709b" - integrity sha512-bc+R9MgVTo/I6/+zZOAej7EpFlQMhzd6gJwJesEetpnJwW1MsxbkB82CQMrCc516CgZ8ypC020Xs+ylBTm9pRA== + "integrity" "sha512-bc+R9MgVTo/I6/+zZOAej7EpFlQMhzd6gJwJesEetpnJwW1MsxbkB82CQMrCc516CgZ8ypC020Xs+ylBTm9pRA==" + "resolved" "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-3.0.0.tgz" + "version" "3.0.0" "@google-cloud/projectify@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-3.0.0.tgz#302b25f55f674854dce65c2532d98919b118a408" - integrity sha512-HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA== + "integrity" "sha512-HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA==" + "resolved" "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-3.0.0.tgz" + "version" "3.0.0" "@google-cloud/promisify@^2.0.0": - version "2.0.4" - resolved "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz#9d8705ecb2baa41b6b2673f3a8e9b7b7e1abc52a" - integrity sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA== + "integrity" "sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==" + "resolved" "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz" + "version" "2.0.4" "@google-cloud/pubsub@^3.0.1": - version "3.1.0" - resolved "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.1.0.tgz#8dfae0cbcaa1e513f9e2e9448931481ae0ffde1a" - integrity sha512-SNrLRkZDrIxLwUYZ+PN1XZWzGdQOqCwPkFX2+bVUG5M66VmK+uCfQ5oMBDZ4pm1PZGOYaKMxINtpRNmMsBtejg== + "integrity" "sha512-SNrLRkZDrIxLwUYZ+PN1XZWzGdQOqCwPkFX2+bVUG5M66VmK+uCfQ5oMBDZ4pm1PZGOYaKMxINtpRNmMsBtejg==" + "resolved" "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.1.0.tgz" + "version" "3.1.0" dependencies: "@google-cloud/paginator" "^4.0.0" "@google-cloud/precise-date" "^3.0.0" @@ -1807,254 +1641,226 @@ "@opentelemetry/semantic-conventions" "~1.3.0" "@types/duplexify" "^3.6.0" "@types/long" "^4.0.0" - arrify "^2.0.0" - extend "^3.0.2" - google-auth-library "^8.0.2" - google-gax "^3.0.1" - is-stream-ended "^0.1.4" - lodash.snakecase "^4.1.1" - p-defer "^3.0.0" - -"@grpc/grpc-js@^1.3.2": - version "1.3.7" - resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz#58b687aff93b743aafde237fd2ee9a3259d7f2d8" - integrity sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA== - dependencies: - "@types/node" ">=12.12.47" - -"@grpc/grpc-js@~1.6.0": - version "1.6.7" - resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz#4c4fa998ff719fe859ac19fe977fdef097bb99aa" - integrity sha512-eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw== - dependencies: - "@grpc/proto-loader" "^0.6.4" + "arrify" "^2.0.0" + "extend" "^3.0.2" + "google-auth-library" "^8.0.2" + "google-gax" "^3.0.1" + "is-stream-ended" "^0.1.4" + "lodash.snakecase" "^4.1.1" + "p-defer" "^3.0.0" + +"@grpc/grpc-js@^1.3.2", "@grpc/grpc-js@~1.7.0": + "integrity" "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==" + "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" -"@grpc/proto-loader@^0.6.12", "@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.6.4": - version "0.6.13" - resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" - integrity sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g== +"@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.7.0": + "integrity" "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==" + "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz" + "version" "0.6.13" dependencies: "@types/long" "^4.0.1" - lodash.camelcase "^4.3.0" - long "^4.0.0" - protobufjs "^6.11.3" - yargs "^16.2.0" + "lodash.camelcase" "^4.3.0" + "long" "^4.0.0" + "protobufjs" "^6.11.3" + "yargs" "^16.2.0" "@gulp-sourcemaps/identity-map@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" - integrity sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q== + "integrity" "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==" + "resolved" "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz" + "version" "2.0.1" dependencies: - acorn "^6.4.1" - normalize-path "^3.0.0" - postcss "^7.0.16" - source-map "^0.6.0" - through2 "^3.0.1" + "acorn" "^6.4.1" + "normalize-path" "^3.0.0" + "postcss" "^7.0.16" + "source-map" "^0.6.0" + "through2" "^3.0.1" "@gulp-sourcemaps/map-sources@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" - integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o= + "integrity" "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=" + "resolved" "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz" + "version" "1.0.0" dependencies: - normalize-path "^2.0.1" - through2 "^2.0.3" + "normalize-path" "^2.0.1" + "through2" "^2.0.3" "@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + "integrity" "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + "version" "0.5.0" dependencies: "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" + "debug" "^4.1.1" + "minimatch" "^3.0.4" "@humanwhocodes/object-schema@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" - integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "integrity" "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" + "version" "1.2.0" "@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + "integrity" "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==" + "resolved" "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" + "version" "3.0.2" "@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" + "camelcase" "^5.3.1" + "find-up" "^4.1.0" + "get-package-type" "^0.1.0" + "js-yaml" "^3.13.1" + "resolve-from" "^5.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + "version" "0.1.3" "@jest/console@^27.2.0": - version "27.2.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz#57f702837ec52899be58c3794dce5941c77a8b63" - integrity sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw== + "integrity" "sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.2.0" - jest-util "^27.2.0" - slash "^3.0.0" + "chalk" "^4.0.0" + "jest-message-util" "^27.2.0" + "jest-util" "^27.2.0" + "slash" "^3.0.0" "@jest/test-result@^27.0.6": - version "27.2.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz#377b46a41a6415dd4839fd0bed67b89fecea6b20" - integrity sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA== + "integrity" "sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/console" "^27.2.0" "@jest/types" "^27.1.1" "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" + "collect-v8-coverage" "^1.0.0" "@jest/transform@^27.2.1": - version "27.2.1" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.2.1.tgz#743443adb84b3b7419951fc702515ce20ba6285e" - integrity sha512-xmB5vh81KK8DiiCMtI5vI59mP+GggNmc9BiN+fg4mKdQHV369+WuZc1Lq2xWFCOCsRPHt24D9h7Idp4YaMB1Ww== + "integrity" "sha512-xmB5vh81KK8DiiCMtI5vI59mP+GggNmc9BiN+fg4mKdQHV369+WuZc1Lq2xWFCOCsRPHt24D9h7Idp4YaMB1Ww==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.2.1.tgz" + "version" "27.2.1" dependencies: "@babel/core" "^7.1.0" "@jest/types" "^27.1.1" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.0" - jest-regex-util "^27.0.6" - jest-util "^27.2.0" - micromatch "^4.0.4" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + "babel-plugin-istanbul" "^6.0.0" + "chalk" "^4.0.0" + "convert-source-map" "^1.4.0" + "fast-json-stable-stringify" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^27.2.0" + "jest-regex-util" "^27.0.6" + "jest-util" "^27.2.0" + "micromatch" "^4.0.4" + "pirates" "^4.0.1" + "slash" "^3.0.0" + "source-map" "^0.6.1" + "write-file-atomic" "^3.0.0" "@jest/types@^27.1.1": - version "27.1.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz#77a3fc014f906c65752d12123a0134359707c0ad" - integrity sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA== + "integrity" "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz" + "version" "27.1.1" dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + "chalk" "^4.0.0" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + "version" "0.3.2" dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== - -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + "integrity" "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz" + "version" "3.0.5" "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + "version" "1.1.2" "@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + "integrity" "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==" + "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" + "version" "0.3.2" dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + "integrity" "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz" + "version" "1.4.11" -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.9": + "integrity" "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" + "version" "0.3.14" dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.14" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" - integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== +"@jridgewell/trace-mapping@0.3.9": + "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + "version" "0.3.9" dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@jsdevtools/ono@^7.1.3": - version "7.1.3" - resolved "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" - integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "integrity" "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + "resolved" "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz" + "version" "7.1.3" "@kwsites/file-exists@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" - integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== + "integrity" "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==" + "resolved" "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz" + "version" "1.1.1" dependencies: - debug "^4.1.1" + "debug" "^4.1.1" "@kwsites/promise-deferred@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" - integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== + "integrity" "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + "resolved" "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz" + "version" "1.1.1" "@lerna/add@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" - integrity sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng== + "integrity" "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==" + "resolved" "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/bootstrap" "4.0.0" "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" "@lerna/npm-conf" "4.0.0" "@lerna/validation-error" "4.0.0" - dedent "^0.7.0" - npm-package-arg "^8.1.0" - p-map "^4.0.0" - pacote "^11.2.6" - semver "^7.3.4" + "dedent" "^0.7.0" + "npm-package-arg" "^8.1.0" + "p-map" "^4.0.0" + "pacote" "^11.2.6" + "semver" "^7.3.4" "@lerna/bootstrap@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz#5f5c5e2c6cfc8fcec50cb2fbe569a8c607101891" - integrity sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw== + "integrity" "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==" + "resolved" "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -2068,21 +1874,21 @@ "@lerna/symlink-binary" "4.0.0" "@lerna/symlink-dependencies" "4.0.0" "@lerna/validation-error" "4.0.0" - dedent "^0.7.0" - get-port "^5.1.1" - multimatch "^5.0.0" - npm-package-arg "^8.1.0" - npmlog "^4.1.2" - p-map "^4.0.0" - p-map-series "^2.1.0" - p-waterfall "^2.1.1" - read-package-tree "^5.3.1" - semver "^7.3.4" + "dedent" "^0.7.0" + "get-port" "^5.1.1" + "multimatch" "^5.0.0" + "npm-package-arg" "^8.1.0" + "npmlog" "^4.1.2" + "p-map" "^4.0.0" + "p-map-series" "^2.1.0" + "p-waterfall" "^2.1.1" + "read-package-tree" "^5.3.1" + "semver" "^7.3.4" "@lerna/changed@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz#b9fc76cea39b9292a6cd263f03eb57af85c9270b" - integrity sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ== + "integrity" "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==" + "resolved" "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/collect-updates" "4.0.0" "@lerna/command" "4.0.0" @@ -2090,155 +1896,155 @@ "@lerna/output" "4.0.0" "@lerna/check-working-tree@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz#257e36a602c00142e76082a19358e3e1ae8dbd58" - integrity sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q== + "integrity" "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==" + "resolved" "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/collect-uncommitted" "4.0.0" "@lerna/describe-ref" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/child-process@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz#341b96a57dffbd9705646d316e231df6fa4df6e1" - integrity sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q== + "integrity" "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==" + "resolved" "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz" + "version" "4.0.0" dependencies: - chalk "^4.1.0" - execa "^5.0.0" - strong-log-transformer "^2.1.0" + "chalk" "^4.1.0" + "execa" "^5.0.0" + "strong-log-transformer" "^2.1.0" "@lerna/clean@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz#8f778b6f2617aa2a936a6b5e085ae62498e57dc5" - integrity sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA== + "integrity" "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==" + "resolved" "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" "@lerna/prompt" "4.0.0" "@lerna/pulse-till-done" "4.0.0" "@lerna/rimraf-dir" "4.0.0" - p-map "^4.0.0" - p-map-series "^2.1.0" - p-waterfall "^2.1.1" + "p-map" "^4.0.0" + "p-map-series" "^2.1.0" + "p-waterfall" "^2.1.1" "@lerna/cli@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz#8eabd334558836c1664df23f19acb95e98b5bbf3" - integrity sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA== + "integrity" "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==" + "resolved" "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/global-options" "4.0.0" - dedent "^0.7.0" - npmlog "^4.1.2" - yargs "^16.2.0" + "dedent" "^0.7.0" + "npmlog" "^4.1.2" + "yargs" "^16.2.0" "@lerna/collect-uncommitted@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz#855cd64612969371cfc2453b90593053ff1ba779" - integrity sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g== + "integrity" "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==" + "resolved" "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" - chalk "^4.1.0" - npmlog "^4.1.2" + "chalk" "^4.1.0" + "npmlog" "^4.1.2" "@lerna/collect-updates@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz#8e208b1bafd98a372ff1177f7a5e288f6bea8041" - integrity sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw== + "integrity" "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==" + "resolved" "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/describe-ref" "4.0.0" - minimatch "^3.0.4" - npmlog "^4.1.2" - slash "^3.0.0" + "minimatch" "^3.0.4" + "npmlog" "^4.1.2" + "slash" "^3.0.0" "@lerna/command@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz#991c7971df8f5bf6ae6e42c808869a55361c1b98" - integrity sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A== + "integrity" "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==" + "resolved" "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/package-graph" "4.0.0" "@lerna/project" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/write-log-file" "4.0.0" - clone-deep "^4.0.1" - dedent "^0.7.0" - execa "^5.0.0" - is-ci "^2.0.0" - npmlog "^4.1.2" + "clone-deep" "^4.0.1" + "dedent" "^0.7.0" + "execa" "^5.0.0" + "is-ci" "^2.0.0" + "npmlog" "^4.1.2" "@lerna/conventional-commits@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz#660fb2c7b718cb942ead70110df61f18c6f99750" - integrity sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw== + "integrity" "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==" + "resolved" "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/validation-error" "4.0.0" - conventional-changelog-angular "^5.0.12" - conventional-changelog-core "^4.2.2" - conventional-recommended-bump "^6.1.0" - fs-extra "^9.1.0" - get-stream "^6.0.0" - lodash.template "^4.5.0" - npm-package-arg "^8.1.0" - npmlog "^4.1.2" - pify "^5.0.0" - semver "^7.3.4" + "conventional-changelog-angular" "^5.0.12" + "conventional-changelog-core" "^4.2.2" + "conventional-recommended-bump" "^6.1.0" + "fs-extra" "^9.1.0" + "get-stream" "^6.0.0" + "lodash.template" "^4.5.0" + "npm-package-arg" "^8.1.0" + "npmlog" "^4.1.2" + "pify" "^5.0.0" + "semver" "^7.3.4" "@lerna/create-symlink@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz#8c5317ce5ae89f67825443bd7651bf4121786228" - integrity sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig== + "integrity" "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==" + "resolved" "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz" + "version" "4.0.0" dependencies: - cmd-shim "^4.1.0" - fs-extra "^9.1.0" - npmlog "^4.1.2" + "cmd-shim" "^4.1.0" + "fs-extra" "^9.1.0" + "npmlog" "^4.1.2" "@lerna/create@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz#b6947e9b5dfb6530321952998948c3e63d64d730" - integrity sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag== + "integrity" "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==" + "resolved" "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/npm-conf" "4.0.0" "@lerna/validation-error" "4.0.0" - dedent "^0.7.0" - fs-extra "^9.1.0" - globby "^11.0.2" - init-package-json "^2.0.2" - npm-package-arg "^8.1.0" - p-reduce "^2.1.0" - pacote "^11.2.6" - pify "^5.0.0" - semver "^7.3.4" - slash "^3.0.0" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^3.0.0" - whatwg-url "^8.4.0" - yargs-parser "20.2.4" + "dedent" "^0.7.0" + "fs-extra" "^9.1.0" + "globby" "^11.0.2" + "init-package-json" "^2.0.2" + "npm-package-arg" "^8.1.0" + "p-reduce" "^2.1.0" + "pacote" "^11.2.6" + "pify" "^5.0.0" + "semver" "^7.3.4" + "slash" "^3.0.0" + "validate-npm-package-license" "^3.0.4" + "validate-npm-package-name" "^3.0.0" + "whatwg-url" "^8.4.0" + "yargs-parser" "20.2.4" "@lerna/describe-ref@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz#53c53b4ea65fdceffa072a62bfebe6772c45d9ec" - integrity sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ== + "integrity" "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==" + "resolved" "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/diff@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz#6d3071817aaa4205a07bf77cfc6e932796d48b92" - integrity sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag== + "integrity" "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==" + "resolved" "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/validation-error" "4.0.0" - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/exec@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz#eb6cb95cb92d42590e9e2d628fcaf4719d4a8be6" - integrity sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw== + "integrity" "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==" + "resolved" "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" @@ -2246,125 +2052,125 @@ "@lerna/profiler" "4.0.0" "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" - p-map "^4.0.0" + "p-map" "^4.0.0" "@lerna/filter-options@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz#ac94cc515d7fa3b47e2f7d74deddeabb1de5e9e6" - integrity sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw== + "integrity" "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==" + "resolved" "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/collect-updates" "4.0.0" "@lerna/filter-packages" "4.0.0" - dedent "^0.7.0" - npmlog "^4.1.2" + "dedent" "^0.7.0" + "npmlog" "^4.1.2" "@lerna/filter-packages@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz#b1f70d70e1de9cdd36a4e50caa0ac501f8d012f2" - integrity sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA== + "integrity" "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==" + "resolved" "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/validation-error" "4.0.0" - multimatch "^5.0.0" - npmlog "^4.1.2" + "multimatch" "^5.0.0" + "npmlog" "^4.1.2" "@lerna/get-npm-exec-opts@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz#dc955be94a4ae75c374ef9bce91320887d34608f" - integrity sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ== + "integrity" "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==" + "resolved" "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz" + "version" "4.0.0" dependencies: - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/get-packed@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz#0989d61624ac1f97e393bdad2137c49cd7a37823" - integrity sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w== + "integrity" "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==" + "resolved" "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz" + "version" "4.0.0" dependencies: - fs-extra "^9.1.0" - ssri "^8.0.1" - tar "^6.1.0" + "fs-extra" "^9.1.0" + "ssri" "^8.0.1" + "tar" "^6.1.0" "@lerna/github-client@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz#2ced67721363ef70f8e12ffafce4410918f4a8a4" - integrity sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw== + "integrity" "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==" + "resolved" "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@octokit/plugin-enterprise-rest" "^6.0.1" "@octokit/rest" "^18.1.0" - git-url-parse "^11.4.4" - npmlog "^4.1.2" + "git-url-parse" "^11.4.4" + "npmlog" "^4.1.2" "@lerna/gitlab-client@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz#00dad73379c7b38951d4b4ded043504c14e2b67d" - integrity sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA== + "integrity" "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==" + "resolved" "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz" + "version" "4.0.0" dependencies: - node-fetch "^2.6.1" - npmlog "^4.1.2" - whatwg-url "^8.4.0" + "node-fetch" "^2.6.1" + "npmlog" "^4.1.2" + "whatwg-url" "^8.4.0" "@lerna/global-options@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz#c7d8b0de6a01d8a845e2621ea89e7f60f18c6a5f" - integrity sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ== + "integrity" "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==" + "resolved" "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz" + "version" "4.0.0" "@lerna/has-npm-version@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz#d3fc3292c545eb28bd493b36e6237cf0279f631c" - integrity sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg== + "integrity" "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==" + "resolved" "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" - semver "^7.3.4" + "semver" "^7.3.4" "@lerna/import@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz#bde656c4a451fa87ae41733ff8a8da60547c5465" - integrity sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg== + "integrity" "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==" + "resolved" "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/prompt" "4.0.0" "@lerna/pulse-till-done" "4.0.0" "@lerna/validation-error" "4.0.0" - dedent "^0.7.0" - fs-extra "^9.1.0" - p-map-series "^2.1.0" + "dedent" "^0.7.0" + "fs-extra" "^9.1.0" + "p-map-series" "^2.1.0" "@lerna/info@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz#b9fb0e479d60efe1623603958a831a88b1d7f1fc" - integrity sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q== + "integrity" "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==" + "resolved" "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/output" "4.0.0" - envinfo "^7.7.4" + "envinfo" "^7.7.4" "@lerna/init@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz#dadff67e6dfb981e8ccbe0e6a310e837962f6c7a" - integrity sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ== + "integrity" "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==" + "resolved" "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" - fs-extra "^9.1.0" - p-map "^4.0.0" - write-json-file "^4.3.0" + "fs-extra" "^9.1.0" + "p-map" "^4.0.0" + "write-json-file" "^4.3.0" "@lerna/link@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz#c3a38aabd44279d714e90f2451e31b63f0fb65ba" - integrity sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w== + "integrity" "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==" + "resolved" "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/package-graph" "4.0.0" "@lerna/symlink-dependencies" "4.0.0" - p-map "^4.0.0" - slash "^3.0.0" + "p-map" "^4.0.0" + "slash" "^3.0.0" "@lerna/list@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz#24b4e6995bd73f81c556793fe502b847efd9d1d7" - integrity sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg== + "integrity" "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==" + "resolved" "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -2372,171 +2178,171 @@ "@lerna/output" "4.0.0" "@lerna/listable@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz#d00d6cb4809b403f2b0374fc521a78e318b01214" - integrity sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ== + "integrity" "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==" + "resolved" "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/query-graph" "4.0.0" - chalk "^4.1.0" - columnify "^1.5.4" + "chalk" "^4.1.0" + "columnify" "^1.5.4" "@lerna/log-packed@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz#95168fe2e26ac6a71e42f4be857519b77e57a09f" - integrity sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ== + "integrity" "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==" + "resolved" "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz" + "version" "4.0.0" dependencies: - byte-size "^7.0.0" - columnify "^1.5.4" - has-unicode "^2.0.1" - npmlog "^4.1.2" + "byte-size" "^7.0.0" + "columnify" "^1.5.4" + "has-unicode" "^2.0.1" + "npmlog" "^4.1.2" "@lerna/npm-conf@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz#b259fd1e1cee2bf5402b236e770140ff9ade7fd2" - integrity sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw== + "integrity" "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==" + "resolved" "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz" + "version" "4.0.0" dependencies: - config-chain "^1.1.12" - pify "^5.0.0" + "config-chain" "^1.1.12" + "pify" "^5.0.0" "@lerna/npm-dist-tag@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz#d1e99b4eccd3414142f0548ad331bf2d53f3257a" - integrity sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw== + "integrity" "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==" + "resolved" "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/otplease" "4.0.0" - npm-package-arg "^8.1.0" - npm-registry-fetch "^9.0.0" - npmlog "^4.1.2" + "npm-package-arg" "^8.1.0" + "npm-registry-fetch" "^9.0.0" + "npmlog" "^4.1.2" "@lerna/npm-install@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz#31180be3ab3b7d1818a1a0c206aec156b7094c78" - integrity sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg== + "integrity" "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==" + "resolved" "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/get-npm-exec-opts" "4.0.0" - fs-extra "^9.1.0" - npm-package-arg "^8.1.0" - npmlog "^4.1.2" - signal-exit "^3.0.3" - write-pkg "^4.0.0" + "fs-extra" "^9.1.0" + "npm-package-arg" "^8.1.0" + "npmlog" "^4.1.2" + "signal-exit" "^3.0.3" + "write-pkg" "^4.0.0" "@lerna/npm-publish@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz#84eb62e876fe949ae1fd62c60804423dbc2c4472" - integrity sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w== + "integrity" "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==" + "resolved" "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/otplease" "4.0.0" "@lerna/run-lifecycle" "4.0.0" - fs-extra "^9.1.0" - libnpmpublish "^4.0.0" - npm-package-arg "^8.1.0" - npmlog "^4.1.2" - pify "^5.0.0" - read-package-json "^3.0.0" + "fs-extra" "^9.1.0" + "libnpmpublish" "^4.0.0" + "npm-package-arg" "^8.1.0" + "npmlog" "^4.1.2" + "pify" "^5.0.0" + "read-package-json" "^3.0.0" "@lerna/npm-run-script@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz#dfebf4f4601442e7c0b5214f9fb0d96c9350743b" - integrity sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA== + "integrity" "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==" + "resolved" "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" "@lerna/get-npm-exec-opts" "4.0.0" - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/otplease@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz#84972eb43448f8a1077435ba1c5e59233b725850" - integrity sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw== + "integrity" "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==" + "resolved" "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/prompt" "4.0.0" "@lerna/output@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz#b1d72215c0e35483e4f3e9994debc82c621851f2" - integrity sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w== + "integrity" "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==" + "resolved" "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz" + "version" "4.0.0" dependencies: - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/pack-directory@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz#8b617db95d20792f043aaaa13a9ccc0e04cb4c74" - integrity sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ== + "integrity" "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==" + "resolved" "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/get-packed" "4.0.0" "@lerna/package" "4.0.0" "@lerna/run-lifecycle" "4.0.0" - npm-packlist "^2.1.4" - npmlog "^4.1.2" - tar "^6.1.0" - temp-write "^4.0.0" + "npm-packlist" "^2.1.4" + "npmlog" "^4.1.2" + "tar" "^6.1.0" + "temp-write" "^4.0.0" "@lerna/package-graph@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz#16a00253a8ac810f72041481cb46bcee8d8123dd" - integrity sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw== + "integrity" "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==" + "resolved" "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/prerelease-id-from-version" "4.0.0" "@lerna/validation-error" "4.0.0" - npm-package-arg "^8.1.0" - npmlog "^4.1.2" - semver "^7.3.4" + "npm-package-arg" "^8.1.0" + "npmlog" "^4.1.2" + "semver" "^7.3.4" "@lerna/package@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" - integrity sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q== + "integrity" "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==" + "resolved" "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz" + "version" "4.0.0" dependencies: - load-json-file "^6.2.0" - npm-package-arg "^8.1.0" - write-pkg "^4.0.0" + "load-json-file" "^6.2.0" + "npm-package-arg" "^8.1.0" + "write-pkg" "^4.0.0" "@lerna/prerelease-id-from-version@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz#c7e0676fcee1950d85630e108eddecdd5b48c916" - integrity sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg== + "integrity" "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==" + "resolved" "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz" + "version" "4.0.0" dependencies: - semver "^7.3.4" + "semver" "^7.3.4" "@lerna/profiler@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz#8a53ab874522eae15d178402bff90a14071908e9" - integrity sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q== + "integrity" "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==" + "resolved" "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz" + "version" "4.0.0" dependencies: - fs-extra "^9.1.0" - npmlog "^4.1.2" - upath "^2.0.1" + "fs-extra" "^9.1.0" + "npmlog" "^4.1.2" + "upath" "^2.0.1" "@lerna/project@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" - integrity sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg== + "integrity" "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==" + "resolved" "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/package" "4.0.0" "@lerna/validation-error" "4.0.0" - cosmiconfig "^7.0.0" - dedent "^0.7.0" - dot-prop "^6.0.1" - glob-parent "^5.1.1" - globby "^11.0.2" - load-json-file "^6.2.0" - npmlog "^4.1.2" - p-map "^4.0.0" - resolve-from "^5.0.0" - write-json-file "^4.3.0" + "cosmiconfig" "^7.0.0" + "dedent" "^0.7.0" + "dot-prop" "^6.0.1" + "glob-parent" "^5.1.1" + "globby" "^11.0.2" + "load-json-file" "^6.2.0" + "npmlog" "^4.1.2" + "p-map" "^4.0.0" + "resolve-from" "^5.0.0" + "write-json-file" "^4.3.0" "@lerna/prompt@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz#5ec69a803f3f0db0ad9f221dad64664d3daca41b" - integrity sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ== + "integrity" "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==" + "resolved" "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz" + "version" "4.0.0" dependencies: - inquirer "^7.3.3" - npmlog "^4.1.2" + "inquirer" "^7.3.3" + "npmlog" "^4.1.2" "@lerna/publish@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz#f67011305adeba120066a3b6d984a5bb5fceef65" - integrity sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg== + "integrity" "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==" + "resolved" "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/check-working-tree" "4.0.0" "@lerna/child-process" "4.0.0" @@ -2557,70 +2363,70 @@ "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/version" "4.0.0" - fs-extra "^9.1.0" - libnpmaccess "^4.0.1" - npm-package-arg "^8.1.0" - npm-registry-fetch "^9.0.0" - npmlog "^4.1.2" - p-map "^4.0.0" - p-pipe "^3.1.0" - pacote "^11.2.6" - semver "^7.3.4" + "fs-extra" "^9.1.0" + "libnpmaccess" "^4.0.1" + "npm-package-arg" "^8.1.0" + "npm-registry-fetch" "^9.0.0" + "npmlog" "^4.1.2" + "p-map" "^4.0.0" + "p-pipe" "^3.1.0" + "pacote" "^11.2.6" + "semver" "^7.3.4" "@lerna/pulse-till-done@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz#04bace7d483a8205c187b806bcd8be23d7bb80a3" - integrity sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg== + "integrity" "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==" + "resolved" "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz" + "version" "4.0.0" dependencies: - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/query-graph@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz#09dd1c819ac5ee3f38db23931143701f8a6eef63" - integrity sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg== + "integrity" "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==" + "resolved" "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/package-graph" "4.0.0" "@lerna/resolve-symlink@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz#6d006628a210c9b821964657a9e20a8c9a115e14" - integrity sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA== + "integrity" "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==" + "resolved" "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz" + "version" "4.0.0" dependencies: - fs-extra "^9.1.0" - npmlog "^4.1.2" - read-cmd-shim "^2.0.0" + "fs-extra" "^9.1.0" + "npmlog" "^4.1.2" + "read-cmd-shim" "^2.0.0" "@lerna/rimraf-dir@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz#2edf3b62d4eb0ef4e44e430f5844667d551ec25a" - integrity sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg== + "integrity" "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==" + "resolved" "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/child-process" "4.0.0" - npmlog "^4.1.2" - path-exists "^4.0.0" - rimraf "^3.0.2" + "npmlog" "^4.1.2" + "path-exists" "^4.0.0" + "rimraf" "^3.0.2" "@lerna/run-lifecycle@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz#e648a46f9210a9bcd7c391df6844498cb5079334" - integrity sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ== + "integrity" "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==" + "resolved" "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/npm-conf" "4.0.0" - npm-lifecycle "^3.1.5" - npmlog "^4.1.2" + "npm-lifecycle" "^3.1.5" + "npmlog" "^4.1.2" "@lerna/run-topologically@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz#af846eeee1a09b0c2be0d1bfb5ef0f7b04bb1827" - integrity sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA== + "integrity" "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==" + "resolved" "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/query-graph" "4.0.0" - p-queue "^6.6.2" + "p-queue" "^6.6.2" "@lerna/run@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz#4bc7fda055a729487897c23579694f6183c91262" - integrity sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ== + "integrity" "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==" + "resolved" "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -2630,46 +2436,46 @@ "@lerna/run-topologically" "4.0.0" "@lerna/timer" "4.0.0" "@lerna/validation-error" "4.0.0" - p-map "^4.0.0" + "p-map" "^4.0.0" "@lerna/symlink-binary@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz#21009f62d53a425f136cb4c1a32c6b2a0cc02d47" - integrity sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA== + "integrity" "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==" + "resolved" "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/create-symlink" "4.0.0" "@lerna/package" "4.0.0" - fs-extra "^9.1.0" - p-map "^4.0.0" + "fs-extra" "^9.1.0" + "p-map" "^4.0.0" "@lerna/symlink-dependencies@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz#8910eca084ae062642d0490d8972cf2d98e9ebbd" - integrity sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw== + "integrity" "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==" + "resolved" "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/create-symlink" "4.0.0" "@lerna/resolve-symlink" "4.0.0" "@lerna/symlink-binary" "4.0.0" - fs-extra "^9.1.0" - p-map "^4.0.0" - p-map-series "^2.1.0" + "fs-extra" "^9.1.0" + "p-map" "^4.0.0" + "p-map-series" "^2.1.0" "@lerna/timer@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz#a52e51bfcd39bfd768988049ace7b15c1fd7a6da" - integrity sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg== + "integrity" "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==" + "resolved" "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz" + "version" "4.0.0" "@lerna/validation-error@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" - integrity sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw== + "integrity" "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==" + "resolved" "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz" + "version" "4.0.0" dependencies: - npmlog "^4.1.2" + "npmlog" "^4.1.2" "@lerna/version@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz#532659ec6154d8a8789c5ab53878663e244e3228" - integrity sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA== + "integrity" "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==" + "resolved" "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/check-working-tree" "4.0.0" "@lerna/child-process" "4.0.0" @@ -2684,234 +2490,249 @@ "@lerna/run-lifecycle" "4.0.0" "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" - chalk "^4.1.0" - dedent "^0.7.0" - load-json-file "^6.2.0" - minimatch "^3.0.4" - npmlog "^4.1.2" - p-map "^4.0.0" - p-pipe "^3.1.0" - p-reduce "^2.1.0" - p-waterfall "^2.1.1" - semver "^7.3.4" - slash "^3.0.0" - temp-write "^4.0.0" - write-json-file "^4.3.0" + "chalk" "^4.1.0" + "dedent" "^0.7.0" + "load-json-file" "^6.2.0" + "minimatch" "^3.0.4" + "npmlog" "^4.1.2" + "p-map" "^4.0.0" + "p-pipe" "^3.1.0" + "p-reduce" "^2.1.0" + "p-waterfall" "^2.1.1" + "semver" "^7.3.4" + "slash" "^3.0.0" + "temp-write" "^4.0.0" + "write-json-file" "^4.3.0" "@lerna/write-log-file@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz#18221a38a6a307d6b0a5844dd592ad53fa27091e" - integrity sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg== + "integrity" "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==" + "resolved" "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz" + "version" "4.0.0" dependencies: - npmlog "^4.1.2" - write-file-atomic "^3.0.3" + "npmlog" "^4.1.2" + "write-file-atomic" "^3.0.3" "@manypkg/find-root@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" - integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== + "integrity" "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==" + "resolved" "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz" + "version" "1.1.0" dependencies: "@babel/runtime" "^7.5.5" "@types/node" "^12.7.1" - find-up "^4.1.0" - fs-extra "^8.1.0" + "find-up" "^4.1.0" + "fs-extra" "^8.1.0" "@manypkg/get-packages@^1.1.3": - version "1.1.3" - resolved "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" - integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== + "integrity" "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==" + "resolved" "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz" + "version" "1.1.3" dependencies: "@babel/runtime" "^7.5.5" "@changesets/types" "^4.0.1" "@manypkg/find-root" "^1.1.0" - fs-extra "^8.1.0" - globby "^11.0.0" - read-yaml-file "^1.1.0" + "fs-extra" "^8.1.0" + "globby" "^11.0.0" + "read-yaml-file" "^1.1.0" + +"@mapbox/node-pre-gyp@^1.0.0": + "integrity" "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==" + "resolved" "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "detect-libc" "^2.0.0" + "https-proxy-agent" "^5.0.0" + "make-dir" "^3.1.0" + "node-fetch" "^2.6.7" + "nopt" "^5.0.0" + "npmlog" "^5.0.1" + "rimraf" "^3.0.2" + "semver" "^7.3.5" + "tar" "^6.1.11" "@microsoft/tsdoc@0.12.24": - version "0.12.24" - resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz#30728e34ebc90351dd3aff4e18d038eed2c3e098" - integrity sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg== + "integrity" "sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg==" + "resolved" "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz" + "version" "0.12.24" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@npmcli/ci-detect@^1.0.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" - integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== + "integrity" "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==" + "resolved" "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz" + "version" "1.3.0" "@npmcli/fs@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" - integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + "integrity" "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==" + "resolved" "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz" + "version" "1.0.0" dependencies: "@gar/promisify" "^1.0.1" - semver "^7.3.5" + "semver" "^7.3.5" "@npmcli/git@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" - integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== + "integrity" "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==" + "resolved" "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz" + "version" "2.1.0" dependencies: "@npmcli/promise-spawn" "^1.3.2" - lru-cache "^6.0.0" - mkdirp "^1.0.4" - npm-pick-manifest "^6.1.1" - promise-inflight "^1.0.1" - promise-retry "^2.0.1" - semver "^7.3.5" - which "^2.0.2" + "lru-cache" "^6.0.0" + "mkdirp" "^1.0.4" + "npm-pick-manifest" "^6.1.1" + "promise-inflight" "^1.0.1" + "promise-retry" "^2.0.1" + "semver" "^7.3.5" + "which" "^2.0.2" "@npmcli/installed-package-contents@^1.0.6": - version "1.0.7" - resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" - integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + "integrity" "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==" + "resolved" "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" + "version" "1.0.7" dependencies: - npm-bundled "^1.1.1" - npm-normalize-package-bin "^1.0.1" + "npm-bundled" "^1.1.1" + "npm-normalize-package-bin" "^1.0.1" "@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + "integrity" "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==" + "resolved" "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" + "version" "1.1.2" dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" + "mkdirp" "^1.0.4" + "rimraf" "^3.0.2" "@npmcli/node-gyp@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" - integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== + "integrity" "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==" + "resolved" "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz" + "version" "1.0.2" "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" - integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== + "integrity" "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==" + "resolved" "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz" + "version" "1.3.2" dependencies: - infer-owner "^1.0.4" + "infer-owner" "^1.0.4" "@npmcli/run-script@^1.8.2": - version "1.8.6" - resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" - integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g== + "integrity" "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==" + "resolved" "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz" + "version" "1.8.6" dependencies: "@npmcli/node-gyp" "^1.0.2" "@npmcli/promise-spawn" "^1.3.2" - node-gyp "^7.1.0" - read-package-json-fast "^2.0.1" + "node-gyp" "^7.1.0" + "read-package-json-fast" "^2.0.1" "@octokit/auth-token@^2.4.4": - version "2.5.0" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" - integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== + "integrity" "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==" + "resolved" "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" + "version" "2.5.0" dependencies: "@octokit/types" "^6.0.3" -"@octokit/core@^3.5.1": - version "3.5.1" - resolved "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" - integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== +"@octokit/core@^3.5.1", "@octokit/core@>=2", "@octokit/core@>=3": + "integrity" "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==" + "resolved" "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz" + "version" "3.5.1" dependencies: "@octokit/auth-token" "^2.4.4" "@octokit/graphql" "^4.5.8" "@octokit/request" "^5.6.0" "@octokit/request-error" "^2.0.5" "@octokit/types" "^6.0.3" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" + "before-after-hook" "^2.2.0" + "universal-user-agent" "^6.0.0" "@octokit/endpoint@^6.0.1": - version "6.0.12" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" - integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== + "integrity" "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==" + "resolved" "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" + "version" "6.0.12" dependencies: "@octokit/types" "^6.0.3" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" + "is-plain-object" "^5.0.0" + "universal-user-agent" "^6.0.0" "@octokit/graphql@^4.5.8": - version "4.8.0" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" - integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== + "integrity" "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==" + "resolved" "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" + "version" "4.8.0" dependencies: "@octokit/request" "^5.6.0" "@octokit/types" "^6.0.3" - universal-user-agent "^6.0.0" + "universal-user-agent" "^6.0.0" "@octokit/openapi-types@^10.5.0": - version "10.6.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.6.0.tgz#13278af3cbe7bb141dc4ae02c24eaff209efadfb" - integrity sha512-/iQtZq+zuQJrwawFyjixh333xPu4/KJKk0bFM/Omm4kFlTGw0dWXfq6xCOe5DqONW0faW29Cc9r6p2mvl72aTQ== + "integrity" "sha512-/iQtZq+zuQJrwawFyjixh333xPu4/KJKk0bFM/Omm4kFlTGw0dWXfq6xCOe5DqONW0faW29Cc9r6p2mvl72aTQ==" + "resolved" "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.6.0.tgz" + "version" "10.6.0" "@octokit/plugin-enterprise-rest@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" - integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== + "integrity" "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz" + "version" "6.0.1" "@octokit/plugin-paginate-rest@^2.16.0": - version "2.16.5" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.5.tgz#4d8098410f4c4697d33979f06f38d2ed2574adf1" - integrity sha512-2PfRGymdBypqRes4Xelu0BAZZRCV/Qg0xgo8UB10UKoghCM+zg640+T5WkRsRD0edwfLBPP3VsJgDyDTG4EIYg== + "integrity" "sha512-2PfRGymdBypqRes4Xelu0BAZZRCV/Qg0xgo8UB10UKoghCM+zg640+T5WkRsRD0edwfLBPP3VsJgDyDTG4EIYg==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.5.tgz" + "version" "2.16.5" dependencies: "@octokit/types" "^6.31.0" "@octokit/plugin-request-log@^1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" - integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + "integrity" "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" + "version" "1.0.4" "@octokit/plugin-rest-endpoint-methods@5.11.1": - version "5.11.1" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.11.1.tgz#308476ae5de133ab4d30a6fa6c8f2766ff2524a0" - integrity sha512-EE69SuO08wtnIy9q/HftGDr7/Im1txzDfeYr+I4T/JkMSNEiedUUE5RuCWkEQAwwbeEU4kVTwSEQZb9Af77/PA== + "integrity" "sha512-EE69SuO08wtnIy9q/HftGDr7/Im1txzDfeYr+I4T/JkMSNEiedUUE5RuCWkEQAwwbeEU4kVTwSEQZb9Af77/PA==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.11.1.tgz" + "version" "5.11.1" dependencies: "@octokit/types" "^6.30.0" - deprecation "^2.3.1" + "deprecation" "^2.3.1" "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" - integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== + "integrity" "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==" + "resolved" "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" + "version" "2.1.0" dependencies: "@octokit/types" "^6.0.3" - deprecation "^2.0.0" - once "^1.4.0" + "deprecation" "^2.0.0" + "once" "^1.4.0" "@octokit/request@^5.6.0": - version "5.6.1" - resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz#f97aff075c37ab1d427c49082fefeef0dba2d8ce" - integrity sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ== + "integrity" "sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ==" + "resolved" "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz" + "version" "5.6.1" dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" "@octokit/types" "^6.16.1" - is-plain-object "^5.0.0" - node-fetch "^2.6.1" - universal-user-agent "^6.0.0" + "is-plain-object" "^5.0.0" + "node-fetch" "^2.6.1" + "universal-user-agent" "^6.0.0" "@octokit/rest@^18.1.0": - version "18.11.0" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.11.0.tgz#d7c5f1cef0a8bedaf8f7d8bc8feb80ee840c7b40" - integrity sha512-e30+ERbA4nXkzkaCDgfxS9H1A43Z1GvV5nqLfkxS81rYKbFE6+sEsrXsTRzV1aWLsRIQ+B75Vgnyzjw/ioTyVA== + "integrity" "sha512-e30+ERbA4nXkzkaCDgfxS9H1A43Z1GvV5nqLfkxS81rYKbFE6+sEsrXsTRzV1aWLsRIQ+B75Vgnyzjw/ioTyVA==" + "resolved" "https://registry.npmjs.org/@octokit/rest/-/rest-18.11.0.tgz" + "version" "18.11.0" dependencies: "@octokit/core" "^3.5.1" "@octokit/plugin-paginate-rest" "^2.16.0" @@ -2919,329 +2740,334 @@ "@octokit/plugin-rest-endpoint-methods" "5.11.1" "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.30.0", "@octokit/types@^6.31.0": - version "6.31.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-6.31.0.tgz#b444852100090d1c5d0015614860c6131dc217e8" - integrity sha512-xobpvYmMYoFSxZB6jL1TPTMMZkxZIBlY145ZKibBJDKCczP1FrLLougtuVOZywGVZdcYs8oq2Bxb3aMjqIFeiw== + "integrity" "sha512-xobpvYmMYoFSxZB6jL1TPTMMZkxZIBlY145ZKibBJDKCczP1FrLLougtuVOZywGVZdcYs8oq2Bxb3aMjqIFeiw==" + "resolved" "https://registry.npmjs.org/@octokit/types/-/types-6.31.0.tgz" + "version" "6.31.0" dependencies: "@octokit/openapi-types" "^10.5.0" "@opentelemetry/api@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz#13a12ae9e05c2a782f7b5e84c3cbfda4225eaf80" - integrity sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ== + "integrity" "sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==" + "resolved" "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz" + "version" "1.0.3" "@opentelemetry/semantic-conventions@~1.3.0": - version "1.3.1" - resolved "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.3.1.tgz#ba07b864a3c955f061aa30ea3ef7f4ae4449794a" - integrity sha512-wU5J8rUoo32oSef/rFpOT1HIjLjAv3qIDHkw1QIhODV3OpAVHi5oVzlouozg9obUmZKtbZ0qUe/m7FP0y0yBzA== + "integrity" "sha512-wU5J8rUoo32oSef/rFpOT1HIjLjAv3qIDHkw1QIhODV3OpAVHi5oVzlouozg9obUmZKtbZ0qUe/m7FP0y0yBzA==" + "resolved" "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.3.1.tgz" + "version" "1.3.1" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + "integrity" "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + "version" "2.0.4" "@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + "integrity" "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + "integrity" "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=" + "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" + "version" "1.1.0" dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" "@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + "integrity" "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" + "version" "1.0.2" "@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + "integrity" "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + "integrity" "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" + "version" "1.1.2" "@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + "integrity" "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" + "version" "1.1.0" "@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + "integrity" "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" + "version" "1.1.0" "@rollup/plugin-alias@3.1.9": - version "3.1.9" - resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf" - integrity sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw== + "integrity" "sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz" + "version" "3.1.9" dependencies: - slash "^3.0.0" + "slash" "^3.0.0" "@rollup/plugin-commonjs@21.1.0": - version "21.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz#45576d7b47609af2db87f55a6d4b46e44fc3a553" - integrity sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA== + "integrity" "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz" + "version" "21.1.0" dependencies: "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" + "commondir" "^1.0.1" + "estree-walker" "^2.0.1" + "glob" "^7.1.6" + "is-reference" "^1.2.1" + "magic-string" "^0.25.7" + "resolve" "^1.17.0" "@rollup/plugin-json@4.1.0": - version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + "integrity" "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz" + "version" "4.1.0" dependencies: "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@13.3.0": - version "13.3.0" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" - integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== + "integrity" "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz" + "version" "13.3.0" dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" - deepmerge "^4.2.2" - is-builtin-module "^3.1.0" - is-module "^1.0.0" - resolve "^1.19.0" + "deepmerge" "^4.2.2" + "is-builtin-module" "^3.1.0" + "is-module" "^1.0.0" + "resolve" "^1.19.0" "@rollup/plugin-strip@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.1.0.tgz#04c2d2ccfb2c6b192bb70447fbf26e336379a333" - integrity sha512-OKlIlXMFlH4nVxq0beNSIKVw0LkpNUpVjjvfzH5OAOAR5dhLZgLZBzwYX4ifIAs18YDrreMcZH4xnKmW9fI2AQ== + "integrity" "sha512-OKlIlXMFlH4nVxq0beNSIKVw0LkpNUpVjjvfzH5OAOAR5dhLZgLZBzwYX4ifIAs18YDrreMcZH4xnKmW9fI2AQ==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.1.0.tgz" + "version" "2.1.0" dependencies: "@rollup/pluginutils" "^3.1.0" - estree-walker "^2.0.1" - magic-string "^0.25.7" + "estree-walker" "^2.0.1" + "magic-string" "^0.25.7" "@rollup/plugin-virtual@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.1.0.tgz#a77bfd0dff74f0203401c75287ff4d1a1cfbc816" - integrity sha512-CPPAtlKT53HFqC8jFHb/V5WErpU8Hrq2TyCR0A7kPQMlF2wNUf0o1xuAc+Qxj8NCZM0Z3Yvl+FbUXfJjVWqDwA== + "integrity" "sha512-CPPAtlKT53HFqC8jFHb/V5WErpU8Hrq2TyCR0A7kPQMlF2wNUf0o1xuAc+Qxj8NCZM0Z3Yvl+FbUXfJjVWqDwA==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.1.0.tgz" + "version" "2.1.0" "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" + "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" + "version" "3.1.0" dependencies: "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" + "estree-walker" "^1.0.1" + "picomatch" "^2.2.2" "@rollup/pluginutils@^4.1.2": - version "4.2.1" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" - integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + "integrity" "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==" + "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" + "version" "4.2.1" dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" + "estree-walker" "^2.0.1" + "picomatch" "^2.2.2" "@rushstack/node-core-library@3.36.0": - version "3.36.0" - resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.36.0.tgz#95dace39d763c8695d6607c421f95c6ac65b0ed4" - integrity sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg== + "integrity" "sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg==" + "resolved" "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.36.0.tgz" + "version" "3.36.0" dependencies: "@types/node" "10.17.13" - colors "~1.2.1" - fs-extra "~7.0.1" - import-lazy "~4.0.0" - jju "~1.4.0" - resolve "~1.17.0" - semver "~7.3.0" - timsort "~0.3.0" - z-schema "~3.18.3" + "colors" "~1.2.1" + "fs-extra" "~7.0.1" + "import-lazy" "~4.0.0" + "jju" "~1.4.0" + "resolve" "~1.17.0" + "semver" "~7.3.0" + "timsort" "~0.3.0" + "z-schema" "~3.18.3" "@rushstack/node-core-library@3.45.5": - version "3.45.5" - resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz#00f92143cc21c3ad94fcd81ba168a40ac8cb77f2" - integrity sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg== + "integrity" "sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg==" + "resolved" "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz" + "version" "3.45.5" dependencies: "@types/node" "12.20.24" - colors "~1.2.1" - fs-extra "~7.0.1" - import-lazy "~4.0.0" - jju "~1.4.0" - resolve "~1.17.0" - semver "~7.3.0" - timsort "~0.3.0" - z-schema "~5.0.2" + "colors" "~1.2.1" + "fs-extra" "~7.0.1" + "import-lazy" "~4.0.0" + "jju" "~1.4.0" + "resolve" "~1.17.0" + "semver" "~7.3.0" + "timsort" "~0.3.0" + "z-schema" "~5.0.2" "@rushstack/rig-package@0.2.9": - version "0.2.9" - resolved "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz#57ef94e7f7703b18e275b603d3f59a1a16580716" - integrity sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ== + "integrity" "sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ==" + "resolved" "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz" + "version" "0.2.9" dependencies: "@types/node" "10.17.13" - resolve "~1.17.0" - strip-json-comments "~3.1.1" + "resolve" "~1.17.0" + "strip-json-comments" "~3.1.1" "@rushstack/ts-command-line@4.13.0": - version "4.13.0" - resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz#a56aa90e5742c25d330cdb0cda1da19225d7bfcf" - integrity sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg== + "integrity" "sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg==" + "resolved" "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz" + "version" "4.13.0" dependencies: "@types/argparse" "1.0.38" - argparse "~1.0.9" - colors "~1.2.1" - string-argv "~0.3.1" + "argparse" "~1.0.9" + "colors" "~1.2.1" + "string-argv" "~0.3.1" "@rushstack/ts-command-line@4.7.8": - version "4.7.8" - resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz#3aa77cf544c571be3206fc2bcba20c7a096ed254" - integrity sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA== + "integrity" "sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA==" + "resolved" "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz" + "version" "4.7.8" dependencies: "@types/argparse" "1.0.38" - argparse "~1.0.9" - colors "~1.2.1" - string-argv "~0.3.1" + "argparse" "~1.0.9" + "colors" "~1.2.1" + "string-argv" "~0.3.1" "@samverschueren/stream-to-observable@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" - integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== + "integrity" "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==" + "resolved" "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" + "version" "0.3.1" dependencies: - any-observable "^0.3.0" + "any-observable" "^0.3.0" "@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + "version" "0.14.0" "@sindresorhus/is@^4.0.0": - version "4.2.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca" - integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw== + "integrity" "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz" + "version" "4.2.0" "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.1": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + "version" "1.8.3" dependencies: - type-detect "4.0.8" + "type-detect" "4.0.8" "@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + "integrity" "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" + "version" "6.0.1" dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers@^7.1.0": - version "7.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== + "integrity" "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" + "version" "7.1.2" dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/samsam@^5.3.1": - version "5.3.1" - resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" - integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== + "integrity" "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==" + "resolved" "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz" + "version" "5.3.1" dependencies: "@sinonjs/commons" "^1.6.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" + "lodash.get" "^4.4.2" + "type-detect" "^4.0.8" "@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== + "integrity" "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" + "version" "0.7.1" "@socket.io/base64-arraybuffer@~1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" - integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== + "integrity" "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==" + "resolved" "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz" + "version" "1.0.2" "@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + "version" "1.1.2" dependencies: - defer-to-connect "^1.0.1" + "defer-to-connect" "^1.0.1" "@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + "integrity" "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" + "version" "4.0.6" dependencies: - defer-to-connect "^2.0.0" + "defer-to-connect" "^2.0.0" "@testim/chrome-version@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz#092005c5b77bd3bb6576a4677110a11485e11864" - integrity sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw== + "integrity" "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==" + "resolved" "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz" + "version" "1.1.2" "@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + "version" "1.1.2" "@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + "integrity" "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "resolved" "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" + "version" "1.0.8" "@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + "integrity" "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "resolved" "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" + "version" "1.0.9" "@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + "integrity" "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "resolved" "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" + "version" "1.0.1" "@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + "integrity" "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "resolved" "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" + "version" "1.0.2" "@types/argparse@1.0.38": - version "1.0.38" - resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" - integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + "integrity" "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" + "resolved" "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz" + "version" "1.0.38" "@types/babel__traverse@^7.0.4": - version "7.14.2" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + "integrity" "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz" + "version" "7.14.2" dependencies: "@babel/types" "^7.3.0" +"@types/blueimp-md5@^2.18.0": + "integrity" "sha512-f4A+++lGZGJvVSgeyMkqA7BEf2BVQli6F+qEykKb49c5ieWQBkfpn6CP5c1IZr2Yi2Ofl6Fj+v0e1fN18Z8Cnw==" + "resolved" "https://registry.npmjs.org/@types/blueimp-md5/-/blueimp-md5-2.18.0.tgz" + "version" "2.18.0" + "@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + "integrity" "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==" + "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz" + "version" "1.19.1" dependencies: "@types/connect" "*" "@types/node" "*" "@types/cacheable-request@^6.0.1": - version "6.0.2" - resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" - integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== + "integrity" "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==" + "resolved" "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz" + "version" "6.0.2" dependencies: "@types/http-cache-semantics" "*" "@types/keyv" "*" @@ -3249,112 +3075,107 @@ "@types/responselike" "*" "@types/caseless@*": - version "0.12.2" - resolved "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" - integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== + "integrity" "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + "resolved" "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz" + "version" "0.12.2" "@types/chai-as-promised@7.1.5": - version "7.1.5" - resolved "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255" - integrity sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ== + "integrity" "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==" + "resolved" "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz" + "version" "7.1.5" dependencies: "@types/chai" "*" -"@types/chai@*": - version "4.2.22" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz#47020d7e4cf19194d43b5202f35f75bd2ad35ce7" - integrity sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ== - -"@types/chai@4.3.3": - version "4.3.3" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" - integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g== +"@types/chai@*", "@types/chai@4.3.3": + "integrity" "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" + "resolved" "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz" + "version" "4.3.3" "@types/child-process-promise@2.2.2": - version "2.2.2" - resolved "https://registry.npmjs.org/@types/child-process-promise/-/child-process-promise-2.2.2.tgz#ac7d640a6289f7caa6102d92d83a0123a07a4937" - integrity sha512-4eGTIhKW0jb9DlS81Fgo/UyZ12DMhDhz3Ec8tdHW53l4ubteynNIuy7Z1HNnyHn1jTzXa/o9iX0WoAdiSoDs+Q== + "integrity" "sha512-4eGTIhKW0jb9DlS81Fgo/UyZ12DMhDhz3Ec8tdHW53l4ubteynNIuy7Z1HNnyHn1jTzXa/o9iX0WoAdiSoDs+Q==" + "resolved" "https://registry.npmjs.org/@types/child-process-promise/-/child-process-promise-2.2.2.tgz" + "version" "2.2.2" dependencies: "@types/node" "*" "@types/clone@2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/@types/clone/-/clone-2.1.1.tgz#9b880d0ce9b1f209b5e0bd6d9caa38209db34024" - integrity sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg== + "integrity" "sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg==" + "resolved" "https://registry.npmjs.org/@types/clone/-/clone-2.1.1.tgz" + "version" "2.1.1" "@types/component-emitter@^1.2.10": - version "1.2.10" - resolved "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea" - integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== + "integrity" "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" + "resolved" "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz" + "version" "1.2.10" "@types/connect@*": - version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" + "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + "version" "3.4.35" dependencies: "@types/node" "*" "@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + "integrity" "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz" + "version" "0.4.1" "@types/cors@^2.8.12": - version "2.8.12" - resolved "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" - integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + "integrity" "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "resolved" "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz" + "version" "2.8.12" "@types/duplexify@^3.6.0": - version "3.6.0" - resolved "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz#dfc82b64bd3a2168f5bd26444af165bf0237dcd8" - integrity sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A== + "integrity" "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==" + "resolved" "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz" + "version" "3.6.0" dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== + "integrity" "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==" + "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz" + "version" "3.7.1" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*", "@types/eslint@7.29.0": - version "7.29.0" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" - integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== + "integrity" "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==" + "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz" + "version" "7.29.0" dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + "integrity" "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" + "version" "0.0.50" "@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" + "version" "0.0.39" "@types/expect@^1.20.4": - version "1.20.4" - resolved "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5" - integrity sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== + "integrity" "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" + "resolved" "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz" + "version" "1.20.4" "@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== + "integrity" "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==" + "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz" + "version" "4.17.24" dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@4.17.14": - version "4.17.14" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== + "integrity" "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==" + "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz" + "version" "4.17.14" dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -3362,532 +3183,535 @@ "@types/serve-static" "*" "@types/fs-extra@^8.0.1": - version "8.1.2" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz#7125cc2e4bdd9bd2fc83005ffdb1d0ba00cca61f" - integrity sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== + "integrity" "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==" + "resolved" "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz" + "version" "8.1.2" dependencies: "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + "integrity" "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==" + "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz" + "version" "7.1.4" dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + "version" "4.1.5" dependencies: "@types/node" "*" "@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + "integrity" "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "resolved" "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" + "version" "4.0.1" "@types/inquirer@8.2.1": - version "8.2.1" - resolved "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz#28a139be3105a1175e205537e8ac10830e38dbf4" - integrity sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw== + "integrity" "sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==" + "resolved" "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz" + "version" "8.2.1" dependencies: "@types/through" "*" - rxjs "^7.2.0" + "rxjs" "^7.2.0" "@types/is-ci@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" - integrity sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ== + "integrity" "sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==" + "resolved" "https://registry.npmjs.org/@types/is-ci/-/is-ci-3.0.0.tgz" + "version" "3.0.0" dependencies: - ci-info "^3.1.0" + "ci-info" "^3.1.0" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" + "version" "2.0.3" "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + "version" "3.0.1" dependencies: "@types/istanbul-lib-report" "*" "@types/js-yaml@4.0.5": - version "4.0.5" - resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" - integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + "integrity" "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" + "resolved" "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz" + "version" "4.0.5" "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "integrity" "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" + "version" "7.0.9" "@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + "version" "7.0.11" "@types/json-stable-stringify@1.0.34": - version "1.0.34" - resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz#c0fb25e4d957e0ee2e497c1f553d7f8bb668fd75" - integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== + "integrity" "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==" + "resolved" "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz" + "version" "1.0.34" "@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" + "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + "version" "0.0.29" "@types/keyv@*": - version "3.1.3" - resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" - integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== + "integrity" "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==" + "resolved" "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz" + "version" "3.1.3" dependencies: "@types/node" "*" +"@types/linkify-it@*": + "integrity" "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==" + "resolved" "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz" + "version" "3.0.2" + "@types/listr@0.14.4": - version "0.14.4" - resolved "https://registry.npmjs.org/@types/listr/-/listr-0.14.4.tgz#6ba2a4206615cf80d79d10f9ba9701c303cd57b6" - integrity sha512-+MWvidNujBUgJsi4yMVwEQQwaHe6oHedPSy+dwk3akGEeuIbvhWkK+TGsXSwbFup7Y0cCBb+wzzdD+yGKp7sOg== + "integrity" "sha512-+MWvidNujBUgJsi4yMVwEQQwaHe6oHedPSy+dwk3akGEeuIbvhWkK+TGsXSwbFup7Y0cCBb+wzzdD+yGKp7sOg==" + "resolved" "https://registry.npmjs.org/@types/listr/-/listr-0.14.4.tgz" + "version" "0.14.4" dependencies: "@types/node" "*" - rxjs "^6.5.1" + "rxjs" "^6.5.1" -"@types/long@4.0.2": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== +"@types/long@^4.0.0", "@types/long@^4.0.1", "@types/long@4.0.2": + "integrity" "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" + "version" "4.0.2" -"@types/long@^4.0.0", "@types/long@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" - integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== +"@types/markdown-it@*", "@types/markdown-it@^12.2.3": + "integrity" "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==" + "resolved" "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" + "version" "12.2.3" + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" -"@types/mime@*": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== +"@types/mdurl@*": + "integrity" "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" + "resolved" "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz" + "version" "1.0.2" + +"@types/mime@^1": + "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + "version" "1.3.2" "@types/minimatch@*", "@types/minimatch@^3.0.3": - version "3.0.5" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "integrity" "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" + "version" "3.0.5" "@types/minimatch@3.0.3": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + "integrity" "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" + "version" "3.0.3" "@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + "integrity" "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "resolved" "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" + "version" "1.2.2" "@types/mocha@9.1.1": - version "9.1.1" - resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" - integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== + "integrity" "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" + "resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz" + "version" "9.1.1" "@types/mz@2.7.4": - version "2.7.4" - resolved "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz#f9d1535cb5171199b28ae6abd6ec29e856551401" - integrity sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA== + "integrity" "sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==" + "resolved" "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz" + "version" "2.7.4" dependencies: "@types/node" "*" "@types/node-fetch@2.6.2": - version "2.6.2" - resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== + "integrity" "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==" + "resolved" "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz" + "version" "2.6.2" dependencies: "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "16.9.6" - resolved "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" - integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== + "form-data" "^3.0.0" -"@types/node@10.17.13": - version "10.17.13" - resolved "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" - integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== +"@types/node@*", "@types/node@^12.7.1", "@types/node@>=10.0.0", "@types/node@12.20.50": + "integrity" "sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz" + "version" "12.20.50" -"@types/node@12.20.24": - version "12.20.24" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" - integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== +"@types/node@^14.14.41": + "integrity" "sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz" + "version" "14.17.18" -"@types/node@12.20.50": - version "12.20.50" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz#14ba5198f1754ffd0472a2f84ab433b45ee0b65e" - integrity sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA== +"@types/node@>=12.12.47", "@types/node@>=13.7.0": + "integrity" "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz" + "version" "16.9.6" -"@types/node@^12.7.1": - version "12.20.26" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz#a6db0d0577e40844f0b28c2a9289c09e5b44b541" - integrity sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ== +"@types/node@10.17.13": + "integrity" "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz" + "version" "10.17.13" -"@types/node@^14.14.41": - version "14.17.18" - resolved "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz#0198489a751005f71217744aa966cd1f29447c81" - integrity sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA== +"@types/node@12.20.24": + "integrity" "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz" + "version" "12.20.24" "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + "integrity" "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + "version" "2.4.1" "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@2.7.1": - version "2.7.1" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" - integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== + "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" -"@types/prettier@^2.1.5": - version "2.3.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" - integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== +"@types/prettier@^2.1.5", "@types/prettier@2.7.1": + "integrity" "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" + "version" "2.7.1" "@types/q@^0.0.32": - version "0.0.32" - resolved "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" - integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= + "integrity" "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=" + "resolved" "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz" + "version" "0.0.32" "@types/qs@*": - version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + "version" "6.9.7" "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + "version" "1.2.4" "@types/request@2.48.8": - version "2.48.8" - resolved "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz#0b90fde3b655ab50976cb8c5ac00faca22f5a82c" - integrity sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ== + "integrity" "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==" + "resolved" "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz" + "version" "2.48.8" dependencies: "@types/caseless" "*" "@types/node" "*" "@types/tough-cookie" "*" - form-data "^2.5.0" + "form-data" "^2.5.0" "@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" + "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" + "version" "1.17.1" dependencies: "@types/node" "*" "@types/resolve@1.20.2": - version "1.20.2" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" - integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + "integrity" "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" + "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" + "version" "1.20.2" "@types/responselike@*", "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + "integrity" "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==" + "resolved" "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" + "version" "1.0.0" dependencies: "@types/node" "*" "@types/selenium-webdriver@^3.0.0": - version "3.0.19" - resolved "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz#28ecede76f15b13553b4e86074d4cf9a0bbe49c4" - integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== + "integrity" "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==" + "resolved" "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz" + "version" "3.0.19" "@types/semver@^6.0.0": - version "6.2.3" - resolved "https://registry.npmjs.org/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" - integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== + "integrity" "sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==" + "resolved" "https://registry.npmjs.org/@types/semver/-/semver-6.2.3.tgz" + "version" "6.2.3" "@types/serve-static@*": - version "1.15.0" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + "integrity" "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==" + "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" + "version" "1.13.10" dependencies: - "@types/mime" "*" + "@types/mime" "^1" "@types/node" "*" "@types/sinon-chai@3.2.8": - version "3.2.8" - resolved "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz#5871d09ab50d671d8e6dd72e9073f8e738ac61dc" - integrity sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g== + "integrity" "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==" + "resolved" "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz" + "version" "3.2.8" dependencies: "@types/chai" "*" "@types/sinon" "*" "@types/sinon@*": - version "10.0.3" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.3.tgz#2d17cf53f42981e8ebd3e2339dade748b0da742a" - integrity sha512-XUaFuUOQ3A/r6gS1qCU/USMleascaqGeQpGR1AZ5JdRtBPlzijRzKsik1TuGzvdtPA0mdq42JqaJmJ+Afg1LJg== + "integrity" "sha512-XUaFuUOQ3A/r6gS1qCU/USMleascaqGeQpGR1AZ5JdRtBPlzijRzKsik1TuGzvdtPA0mdq42JqaJmJ+Afg1LJg==" + "resolved" "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.3.tgz" + "version" "10.0.3" dependencies: "@sinonjs/fake-timers" "^7.1.0" "@types/sinon@9.0.11": - version "9.0.11" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz#7af202dda5253a847b511c929d8b6dda170562eb" - integrity sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg== + "integrity" "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==" + "resolved" "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz" + "version" "9.0.11" dependencies: "@types/sinonjs__fake-timers" "*" "@types/sinonjs__fake-timers@*": - version "6.0.4" - resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz#0ecc1b9259b76598ef01942f547904ce61a6a77d" - integrity sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A== + "integrity" "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==" + "resolved" "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz" + "version" "6.0.4" "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + "version" "2.0.1" "@types/through@*": - version "0.0.30" - resolved "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895" - integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg== + "integrity" "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==" + "resolved" "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz" + "version" "0.0.30" dependencies: "@types/node" "*" "@types/tmp@0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz#908bfb113419fd6a42273674c00994d40902c165" - integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== + "integrity" "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==" + "resolved" "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz" + "version" "0.2.3" "@types/tough-cookie@*": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40" - integrity sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== + "integrity" "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" + "resolved" "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz" + "version" "4.0.1" "@types/vinyl@^2.0.4": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz#b2d134603557a7c3d2b5d3dc23863ea2b5eb29b0" - integrity sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g== + "integrity" "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==" + "resolved" "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz" + "version" "2.0.6" dependencies: "@types/expect" "^1.20.4" "@types/node" "*" "@types/webpack@5.28.0": - version "5.28.0" - resolved "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" - integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== + "integrity" "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==" + "resolved" "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz" + "version" "5.28.0" dependencies: "@types/node" "*" - tapable "^2.2.0" - webpack "^5" + "tapable" "^2.2.0" + "webpack" "^5" "@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + "integrity" "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz" + "version" "20.2.1" -"@types/yargs@17.0.13": - version "17.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== +"@types/yargs@^16.0.0": + "integrity" "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" + "version" "16.0.4" dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== +"@types/yargs@17.0.13": + "integrity" "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" + "version" "17.0.13" dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - version "2.9.2" - resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" - integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + "integrity" "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==" + "resolved" "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz" + "version" "2.9.2" dependencies: "@types/node" "*" "@typescript-eslint/eslint-plugin-tslint@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.33.0.tgz#c0f2a5a8a53a915d6c24983888013b7e78e75b44" - integrity sha512-o3ujMErtZJPgiNRETRJefo1bFNrloocOa5dMU49OW/G+Rq92IbXTY6FSF5MOwrdQK1X+VBEcA8y6PhUPWGlYqA== + "integrity" "sha512-o3ujMErtZJPgiNRETRJefo1bFNrloocOa5dMU49OW/G+Rq92IbXTY6FSF5MOwrdQK1X+VBEcA8y6PhUPWGlYqA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/experimental-utils" "4.33.0" - lodash "^4.17.21" + "lodash" "^4.17.21" -"@typescript-eslint/eslint-plugin@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== +"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@4.33.0": + "integrity" "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/experimental-utils" "4.33.0" "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" + "debug" "^4.3.1" + "functional-red-black-tree" "^1.0.1" + "ignore" "^5.1.8" + "regexpp" "^3.1.0" + "semver" "^7.3.5" + "tsutils" "^3.21.0" "@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + "integrity" "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" + "version" "4.33.0" dependencies: "@types/json-schema" "^7.0.7" "@typescript-eslint/scope-manager" "4.33.0" "@typescript-eslint/types" "4.33.0" "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" + "eslint-scope" "^5.1.1" + "eslint-utils" "^3.0.0" -"@typescript-eslint/parser@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== +"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@4.33.0": + "integrity" "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/scope-manager" "4.33.0" "@typescript-eslint/types" "4.33.0" "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" + "debug" "^4.3.1" "@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + "integrity" "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" "@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + "integrity" "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" + "version" "4.33.0" "@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + "integrity" "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" + "debug" "^4.3.1" + "globby" "^11.0.3" + "is-glob" "^4.0.1" + "semver" "^7.3.5" + "tsutils" "^3.21.0" "@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + "integrity" "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" + "version" "4.33.0" dependencies: "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" + "eslint-visitor-keys" "^2.0.0" "@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + "integrity" "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "resolved" "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" + "version" "1.1.2" "@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -3895,9 +3719,9 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -3905,47 +3729,47 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + "version" "1.11.1" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + "version" "1.11.1" "@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -3957,9 +3781,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -3971,9 +3795,9 @@ "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -3982,9 +3806,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" @@ -3993,9 +3817,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -4003,9 +3827,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -4013,9 +3837,9 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -4025,9 +3849,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" @@ -4037,9 +3861,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" @@ -4049,851 +3873,881 @@ "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" "@yarn-tool/resolve-package@^1.0.40": - version "1.0.47" - resolved "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.47.tgz#8ec25f291a316280a281632331e88926a66fdf19" - integrity sha512-Zaw58gQxjQceJqhqybJi1oUDaORT8i2GTgwICPs8v/X/Pkx35FXQba69ldHVg5pQZ6YLKpROXgyHvBaCJOFXiA== - dependencies: - pkg-dir "< 6 >= 5" - tslib "^2" - upath2 "^3.1.13" - -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.7.6: - version "1.7.6" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz#580e3ffcae6770eebeec76c3b9723201e9d01f78" - integrity sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA== - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.1.0, acorn@^8.4.1: - version "8.5.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== - -acorn@^8.5.0: - version "8.7.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= - -adm-zip@0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.5.tgz#b6549dbea741e4050309f1bb4d47c47397ce2c4f" - integrity sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w== - -adm-zip@^0.4.9, adm-zip@~0.4.3: - version "0.4.16" - resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== - -agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - -agentkeepalive@^4.1.3: - version "4.1.4" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" - integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== - dependencies: - debug "^4.1.0" - depd "^1.1.2" - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-formats@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.3.0: - version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.6.3" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" - integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - -ansi-colors@4.1.1, ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== - dependencies: - ansi-wrap "^0.1.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-escapes@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" - integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== - dependencies: - type-fest "^1.0.2" - -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= - dependencies: - ansi-wrap "0.1.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= - -any-observable@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" - integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -api-documenter-me@0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/api-documenter-me/-/api-documenter-me-0.1.1.tgz#961abb299c3737b01f2dd7aa10b0caf1c9110538" - integrity sha512-h6CjdRZUcv6lK3VfnX8CDF+2CfA5DBqg3EfR+HOEZp4AggQfKZ4D5vegvdt5P2n+b95GRounfU5u3TJ2PAIlLQ== + "integrity" "sha512-Zaw58gQxjQceJqhqybJi1oUDaORT8i2GTgwICPs8v/X/Pkx35FXQba69ldHVg5pQZ6YLKpROXgyHvBaCJOFXiA==" + "resolved" "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.47.tgz" + "version" "1.0.47" + dependencies: + "pkg-dir" "< 6 >= 5" + "tslib" "^2" + "upath2" "^3.1.13" + +"abab@^2.0.5": + "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" + "version" "2.0.5" + +"abbrev@1": + "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + "version" "1.1.1" + +"abort-controller@^3.0.0": + "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" + "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "event-target-shim" "^5.0.0" + +"accepts@~1.3.4", "accepts@~1.3.5": + "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" + "version" "1.3.7" + dependencies: + "mime-types" "~2.1.24" + "negotiator" "0.6.2" + +"accepts@~1.3.8": + "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + "version" "1.3.8" + dependencies: + "mime-types" "~2.1.34" + "negotiator" "0.6.3" + +"acorn-import-assertions@^1.7.6": + "integrity" "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==" + "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz" + "version" "1.7.6" + +"acorn-jsx@^5.3.1": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-jsx@^5.3.2": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-walk@^8.0.2", "acorn-walk@^8.1.1": + "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + "version" "8.2.0" + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.4.0": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"acorn@^6.4.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" + +"acorn@^8", "acorn@^8.1.0", "acorn@^8.4.1", "acorn@^8.5.0", "acorn@^8.8.0": + "integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" + "version" "8.8.1" + +"add-stream@^1.0.0": + "integrity" "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=" + "resolved" "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" + "version" "1.0.0" + +"adm-zip@^0.4.9", "adm-zip@~0.4.3": + "integrity" "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz" + "version" "0.4.16" + +"adm-zip@0.5.5": + "integrity" "sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w==" + "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.5.tgz" + "version" "0.5.5" + +"agent-base@^4.3.0": + "integrity" "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "es6-promisify" "^5.0.0" + +"agent-base@^6.0.0", "agent-base@^6.0.2", "agent-base@6": + "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "debug" "4" + +"agentkeepalive@^4.1.3": + "integrity" "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==" + "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz" + "version" "4.1.4" + dependencies: + "debug" "^4.1.0" + "depd" "^1.1.2" + "humanize-ms" "^1.2.1" + +"aggregate-error@^3.0.0": + "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" + "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "clean-stack" "^2.0.0" + "indent-string" "^4.0.0" + +"ajv-errors@^1.0.0": + "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + "version" "1.0.1" + +"ajv-formats@^2.1.0": + "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" + "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ajv" "^8.0.0" + +"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv@^5.0.0": + "integrity" "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz" + "version" "5.5.2" + dependencies: + "co" "^4.6.0" + "fast-deep-equal" "^1.0.0" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.3.0" + +"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.12.6", "ajv@^6.9.1", "ajv@>=5.0.0": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + dependencies: + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" + +"ajv@^8.0.0", "ajv@^8.3.0": + "integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + "version" "8.11.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ajv@^8.0.1": + "integrity" "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" + "version" "8.6.3" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ansi-align@^3.0.0": + "integrity" "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==" + "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "string-width" "^3.0.0" + +"ansi-colors@^1.0.1": + "integrity" "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "ansi-wrap" "^0.1.0" + +"ansi-colors@^3.0.0": + "integrity" "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + "version" "3.2.4" + +"ansi-colors@^4.1.1": + "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" + "version" "4.1.1" + +"ansi-colors@^4.1.3": + "integrity" "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + "version" "4.1.3" + +"ansi-colors@4.1.1": + "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" + "version" "4.1.1" + +"ansi-escapes@^3.0.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" + +"ansi-escapes@^4.2.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-escapes@^5.0.0": + "integrity" "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "type-fest" "^1.0.2" + +"ansi-gray@^0.1.1": + "integrity" "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=" + "resolved" "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "ansi-wrap" "0.1.0" + +"ansi-regex@^2.0.0": + "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + "version" "2.1.1" + +"ansi-regex@^3.0.0": + "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + "version" "3.0.0" + +"ansi-regex@^4.1.0": + "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + "version" "4.1.0" + +"ansi-regex@^5.0.0": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-styles@^2.2.1": + "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + "version" "2.2.1" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^5.0.0": + "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + "version" "5.2.0" + +"ansi-wrap@^0.1.0", "ansi-wrap@0.1.0": + "integrity" "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + "resolved" "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" + "version" "0.1.0" + +"ansicolors@~0.3.2": + "integrity" "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + "resolved" "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" + "version" "0.3.2" + +"any-observable@^0.3.0": + "integrity" "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" + "resolved" "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" + "version" "0.3.0" + +"any-promise@^1.0.0": + "integrity" "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "resolved" "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + "version" "1.3.0" + +"anymatch@^2.0.0": + "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "micromatch" "^3.1.4" + "normalize-path" "^2.1.1" + +"anymatch@^3.0.3", "anymatch@~3.1.2": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"api-documenter-me@0.1.1": + "integrity" "sha512-h6CjdRZUcv6lK3VfnX8CDF+2CfA5DBqg3EfR+HOEZp4AggQfKZ4D5vegvdt5P2n+b95GRounfU5u3TJ2PAIlLQ==" + "resolved" "https://registry.npmjs.org/api-documenter-me/-/api-documenter-me-0.1.1.tgz" + "version" "0.1.1" dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" "@rushstack/ts-command-line" "4.7.8" - api-extractor-model-me "0.1.1" - colors "~1.2.1" - js-yaml "~3.13.1" - resolve "~1.17.0" + "api-extractor-model-me" "0.1.1" + "colors" "~1.2.1" + "js-yaml" "~3.13.1" + "resolve" "~1.17.0" -api-extractor-me@0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/api-extractor-me/-/api-extractor-me-0.1.2.tgz#ca0771a459c5982676565bae58fc955fbada8bbb" - integrity sha512-wgZeRMhIG1HRsvfjDRSHoamMPa2OHw+smMJOyU1WMXhsq4MvhVpM4sVFfWwzFmyKoh6tzxi26A6GGL/idGXsnw== +"api-extractor-me@0.1.2": + "integrity" "sha512-wgZeRMhIG1HRsvfjDRSHoamMPa2OHw+smMJOyU1WMXhsq4MvhVpM4sVFfWwzFmyKoh6tzxi26A6GGL/idGXsnw==" + "resolved" "https://registry.npmjs.org/api-extractor-me/-/api-extractor-me-0.1.2.tgz" + "version" "0.1.2" dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" "@rushstack/rig-package" "0.2.9" "@rushstack/ts-command-line" "4.7.8" - api-extractor-model-me "0.1.1" - colors "~1.2.1" - lodash "~4.17.15" - resolve "~1.17.0" - semver "~7.3.0" - source-map "~0.6.1" - typescript "~4.1.3" - -api-extractor-model-me@0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/api-extractor-model-me/-/api-extractor-model-me-0.1.1.tgz#e656e9d31e50976dd2a8d1d6e351bac4a6149932" - integrity sha512-Ez801ZMADfkseOWNRFquvyQYDm3D9McpxfkKMWL6JFCGcpub0miJ+TFNphIR1nSZbrsxz3kIeOovNMY4VlL6Bw== + "api-extractor-model-me" "0.1.1" + "colors" "~1.2.1" + "lodash" "~4.17.15" + "resolve" "~1.17.0" + "semver" "~7.3.0" + "source-map" "~0.6.1" + "typescript" "~4.1.3" + +"api-extractor-model-me@0.1.1": + "integrity" "sha512-Ez801ZMADfkseOWNRFquvyQYDm3D9McpxfkKMWL6JFCGcpub0miJ+TFNphIR1nSZbrsxz3kIeOovNMY4VlL6Bw==" + "resolved" "https://registry.npmjs.org/api-extractor-model-me/-/api-extractor-model-me-0.1.1.tgz" + "version" "0.1.1" dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= - dependencies: - buffer-equal "^1.0.0" - -append-transform@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" - integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== - dependencies: - default-require-extensions "^3.0.0" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -aproba@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archiver-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" - integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== - dependencies: - glob "^7.1.4" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash.defaults "^4.2.0" - lodash.difference "^4.5.0" - lodash.flatten "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.union "^4.6.0" - normalize-path "^3.0.0" - readable-stream "^2.0.0" - -archiver@^5.0.0: - version "5.3.0" - resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz#dd3e097624481741df626267564f7dd8640a45ba" - integrity sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.0" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.0.0" - tar-stream "^2.2.0" - zip-stream "^4.1.0" - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7, argparse@~1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -argsarray@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" - integrity sha1-bnIHtOzbObCviDA/pa4ivajfYcs= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-filter@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" - integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= - dependencies: - make-iterator "^1.0.0" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-map@^2.0.0, arr-map@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= - dependencies: - make-iterator "^1.0.0" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-each@^1.0.0, array-each@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= - -array-find-index@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" - integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-includes@^3.1.4: - version "3.1.5" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-initial@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" - integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= - dependencies: - array-slice "^1.0.0" - is-number "^4.0.0" - -array-last@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - dependencies: - is-number "^4.0.0" - -array-slice@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" - integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== - -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -arrify@^2.0.0, arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -as-array@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz#4f04805d87f8fce8e511bc2108f8e5e3a287d547" - integrity sha1-TwSAXYf4/OjlEbwhCPjl46KH1Uc= - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types@^0.13.2: - version "0.13.4" - resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" - integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== - dependencies: - tslib "^2.0.1" - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-done@^1.2.0, async-done@^1.2.2: - version "1.3.2" - resolved "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" - integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^2.0.0" - stream-exhaust "^1.0.1" - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-settle@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" - integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= - dependencies: - async-done "^1.2.2" - -async@^2.1.2, async@^2.6.2: - version "2.6.3" - resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -async@^3.0.1, async@^3.1.0, async@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" - integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axios@^0.24.0: - version "0.24.0" - resolved "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" - integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== - dependencies: - follow-redirects "^1.14.4" - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-loader@8.2.5: - version "8.2.5" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== +"append-buffer@^1.0.2": + "integrity" "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=" + "resolved" "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "buffer-equal" "^1.0.0" + +"append-transform@^2.0.0": + "integrity" "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==" + "resolved" "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "default-require-extensions" "^3.0.0" + +"aproba@^1.0.3", "aproba@^1.0.3 || ^2.0.0", "aproba@^1.1.1": + "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + "version" "1.2.0" + +"aproba@^2.0.0": + "integrity" "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + "resolved" "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + "version" "2.0.0" + +"archiver-utils@^2.1.0": + "integrity" "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==" + "resolved" "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "glob" "^7.1.4" + "graceful-fs" "^4.2.0" + "lazystream" "^1.0.0" + "lodash.defaults" "^4.2.0" + "lodash.difference" "^4.5.0" + "lodash.flatten" "^4.4.0" + "lodash.isplainobject" "^4.0.6" + "lodash.union" "^4.6.0" + "normalize-path" "^3.0.0" + "readable-stream" "^2.0.0" + +"archiver@^5.0.0": + "integrity" "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==" + "resolved" "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "archiver-utils" "^2.1.0" + "async" "^3.2.0" + "buffer-crc32" "^0.2.1" + "readable-stream" "^3.6.0" + "readdir-glob" "^1.0.0" + "tar-stream" "^2.2.0" + "zip-stream" "^4.1.0" + +"archy@^1.0.0": + "integrity" "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + "version" "1.0.0" + +"are-we-there-yet@^2.0.0": + "integrity" "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==" + "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "delegates" "^1.0.0" + "readable-stream" "^3.6.0" + +"are-we-there-yet@^3.0.0": + "integrity" "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==" + "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "delegates" "^1.0.0" + "readable-stream" "^3.6.0" + +"are-we-there-yet@~1.1.2": + "integrity" "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==" + "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "delegates" "^1.0.0" + "readable-stream" "^2.0.6" + +"arg@^4.1.0": + "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + "version" "4.1.3" + +"argparse@^1.0.7", "argparse@~1.0.9": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" + +"argsarray@^0.0.1": + "integrity" "sha1-bnIHtOzbObCviDA/pa4ivajfYcs=" + "resolved" "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz" + "version" "0.0.1" + +"arr-diff@^4.0.0": + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" + +"arr-filter@^1.1.1": + "integrity" "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=" + "resolved" "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "make-iterator" "^1.0.0" + +"arr-flatten@^1.0.1", "arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" + +"arr-map@^2.0.0", "arr-map@^2.0.2": + "integrity" "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=" + "resolved" "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "make-iterator" "^1.0.0" + +"arr-union@^3.1.0": + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" + +"array-differ@^3.0.0": + "integrity" "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" + "resolved" "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" + "version" "3.0.0" + +"array-each@^1.0.0", "array-each@^1.0.1": + "integrity" "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" + "resolved" "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz" + "version" "1.0.1" + +"array-find-index@^1.0.2": + "integrity" "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==" + "resolved" "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + "version" "1.0.2" + +"array-flatten@1.1.1": + "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "version" "1.1.1" + +"array-flatten@3.0.0": + "integrity" "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz" + "version" "3.0.0" + +"array-ify@^1.0.0": + "integrity" "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" + "resolved" "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" + "version" "1.0.0" + +"array-includes@^3.1.4": + "integrity" "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==" + "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.19.5" + "get-intrinsic" "^1.1.1" + "is-string" "^1.0.7" + +"array-initial@^1.0.0": + "integrity" "sha1-L6dLJnOTccOUe9enrcc74zSz15U=" + "resolved" "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "array-slice" "^1.0.0" + "is-number" "^4.0.0" + +"array-last@^1.1.1": + "integrity" "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==" + "resolved" "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "is-number" "^4.0.0" + +"array-slice@^1.0.0": + "integrity" "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" + "resolved" "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz" + "version" "1.1.0" + +"array-sort@^1.0.0": + "integrity" "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==" + "resolved" "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "default-compare" "^1.0.0" + "get-value" "^2.0.6" + "kind-of" "^5.0.2" + +"array-union@^1.0.1": + "integrity" "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "array-uniq" "^1.0.1" + +"array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"array-uniq@^1.0.1": + "integrity" "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + "version" "1.0.3" + +"array-unique@^0.3.2": + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" + +"array.prototype.flat@^1.2.3", "array.prototype.flat@^1.2.5": + "integrity" "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==" + "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.19.2" + "es-shim-unscopables" "^1.0.0" + +"arrify@^1.0.0": + "integrity" "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + "version" "1.0.1" + +"arrify@^1.0.1": + "integrity" "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + "version" "1.0.1" + +"arrify@^2.0.0", "arrify@^2.0.1": + "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" + "version" "2.0.1" + +"as-array@^2.0.0": + "integrity" "sha1-TwSAXYf4/OjlEbwhCPjl46KH1Uc=" + "resolved" "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz" + "version" "2.0.0" + +"asap@^2.0.0": + "integrity" "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + "version" "2.0.6" + +"asn1.js@^5.2.0": + "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" + "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bn.js" "^4.0.0" + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" + "safer-buffer" "^2.1.0" + +"asn1@~0.2.3": + "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "version" "0.2.4" + dependencies: + "safer-buffer" "~2.1.0" + +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + +"assert@^1.1.1": + "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" + "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "object-assign" "^4.1.1" + "util" "0.10.3" + +"assert@^2.0.0": + "integrity" "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==" + "resolved" "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "es6-object-assign" "^1.1.0" + "is-nan" "^1.2.1" + "object-is" "^1.0.1" + "util" "^0.12.0" + +"assertion-error@^1.1.0": + "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" + "version" "1.1.0" + +"assign-symbols@^1.0.0": + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" + +"ast-types@^0.13.2": + "integrity" "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==" + "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz" + "version" "0.13.4" + dependencies: + "tslib" "^2.0.1" + +"astral-regex@^2.0.0": + "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + "version" "2.0.0" + +"async-done@^1.2.0", "async-done@^1.2.2": + "integrity" "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==" + "resolved" "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.2" + "process-nextick-args" "^2.0.0" + "stream-exhaust" "^1.0.1" + +"async-each@^1.0.1": + "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + "version" "1.0.3" + +"async-settle@^1.0.0": + "integrity" "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=" + "resolved" "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "async-done" "^1.2.2" + +"async@^2.1.2": + "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" + "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "lodash" "^4.17.14" + +"async@^2.6.2": + "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" + "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "lodash" "^4.17.14" + +"async@^3.0.1", "async@^3.1.0", "async@^3.2.0": + "integrity" "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==" + "resolved" "https://registry.npmjs.org/async/-/async-3.2.1.tgz" + "version" "3.2.1" + +"asynckit@^0.4.0": + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"at-least-node@^1.0.0": + "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + "version" "1.0.0" + +"atob@^2.1.2": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" + +"available-typed-arrays@^1.0.5": + "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + "version" "1.0.5" + +"aws-sign2@~0.7.0": + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" + +"aws4@^1.8.0": + "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" + "version" "1.11.0" + +"axios@^0.24.0": + "integrity" "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz" + "version" "0.24.0" + dependencies: + "follow-redirects" "^1.14.4" + +"babel-code-frame@^6.26.0": + "integrity" "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=" + "resolved" "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz" + "version" "6.26.0" + dependencies: + "chalk" "^1.1.3" + "esutils" "^2.0.2" + "js-tokens" "^3.0.2" + +"babel-generator@^6.18.0": + "integrity" "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==" + "resolved" "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz" + "version" "6.26.1" + dependencies: + "babel-messages" "^6.23.0" + "babel-runtime" "^6.26.0" + "babel-types" "^6.26.0" + "detect-indent" "^4.0.0" + "jsesc" "^1.3.0" + "lodash" "^4.17.4" + "source-map" "^0.5.7" + "trim-right" "^1.0.1" + +"babel-loader@8.2.5": + "integrity" "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==" + "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz" + "version" "8.2.5" + dependencies: + "find-cache-dir" "^3.3.1" + "loader-utils" "^2.0.0" + "make-dir" "^3.1.0" + "schema-utils" "^2.6.5" + +"babel-messages@^6.23.0": + "integrity" "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=" + "resolved" "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" + "version" "6.23.0" + dependencies: + "babel-runtime" "^6.22.0" + +"babel-plugin-dynamic-import-node@^2.3.3": + "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "object.assign" "^4.1.0" + +"babel-plugin-istanbul@^6.0.0": + "integrity" "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" + "version" "6.0.0" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" + "istanbul-lib-instrument" "^4.0.0" + "test-exclude" "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== +"babel-plugin-polyfill-corejs2@^0.3.3": + "integrity" "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" + "version" "0.3.3" dependencies: "@babel/compat-data" "^7.17.7" "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" + "semver" "^6.1.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +"babel-plugin-polyfill-corejs3@^0.6.0": + "integrity" "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" + "version" "0.6.0" dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" + "core-js-compat" "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +"babel-plugin-polyfill-regenerator@^0.4.1": + "integrity" "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" + "version" "0.4.1" dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== +"babel-preset-current-node-syntax@^1.0.0": + "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + "version" "1.0.1" dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -4908,5861 +4762,6159 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -bach@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" - integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= - dependencies: - arr-filter "^1.1.1" - arr-flatten "^1.0.1" - arr-map "^2.0.0" - array-each "^1.0.0" - array-initial "^1.0.0" - array-last "^1.1.1" - async-done "^1.2.2" - async-settle "^1.0.0" - now-and-later "^2.0.0" - -backbone@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz#54db4de9df7c3811c3f032f34749a4cd27f3bd12" - integrity sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ== - dependencies: - underscore ">=1.8.3" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-arraybuffer-es6@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz#dbe1e6c87b1bf1ca2875904461a7de40f21abc86" - integrity sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw== - -base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base64id@2.0.0, base64id@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" - integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -basic-auth-connect@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" - integrity sha1-/bC0OWLKe0BFanwrtI/hc9otISI= - -basic-auth@^2.0.1, basic-auth@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -before-after-hook@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" - integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== - -better-path-resolve@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" - integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== - dependencies: - is-windows "^1.0.0" - -big-integer@^1.6.17: - version "1.6.49" - resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz#f6817d3ea5d4f3fb19e24df9f4b1b4471a8328ce" - integrity sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^9.0.0: - version "9.0.1" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" - integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -binaryextensions@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" - integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.3, bl@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -block-stream@*: - version "0.0.9" - resolved "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - -blocking-proxy@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" - integrity sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA== - dependencies: - minimist "^1.2.0" - -bluebird@3.7.2, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -body-parser@1.19.0, body-parser@^1.18.3, body-parser@^1.19.0: - version "1.19.0" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -body-parser@1.20.0: - version "1.20.0" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.10.3" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -breakword@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz#fd420a417f55016736b5b615161cae1c8f819810" - integrity sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg== - dependencies: - wcwidth "^1.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-resolve@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" - integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== - dependencies: - resolve "^1.17.0" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.14.5, browserslist@^4.16.6: - version "4.17.1" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" - integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== - dependencies: - caniuse-lite "^1.0.30001259" - electron-to-chromium "^1.3.846" - escalade "^3.1.1" - nanocolors "^0.1.5" - node-releases "^1.1.76" - -browserslist@^4.20.2: - version "4.20.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - -browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -browserstack@^1.5.1: - version "1.6.1" - resolved "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" - integrity sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw== - dependencies: - https-proxy-agent "^2.2.1" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= - -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.4.3, buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -builtin-modules@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - -byline@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= - -byte-size@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" - integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5, cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== +"babel-runtime@^6.22.0", "babel-runtime@^6.26.0": + "integrity" "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=" + "resolved" "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" + "version" "6.26.0" + dependencies: + "core-js" "^2.4.0" + "regenerator-runtime" "^0.11.0" + +"babel-template@^6.16.0": + "integrity" "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=" + "resolved" "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz" + "version" "6.26.0" + dependencies: + "babel-runtime" "^6.26.0" + "babel-traverse" "^6.26.0" + "babel-types" "^6.26.0" + "babylon" "^6.18.0" + "lodash" "^4.17.4" + +"babel-traverse@^6.18.0", "babel-traverse@^6.26.0": + "integrity" "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=" + "resolved" "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz" + "version" "6.26.0" + dependencies: + "babel-code-frame" "^6.26.0" + "babel-messages" "^6.23.0" + "babel-runtime" "^6.26.0" + "babel-types" "^6.26.0" + "babylon" "^6.18.0" + "debug" "^2.6.8" + "globals" "^9.18.0" + "invariant" "^2.2.2" + "lodash" "^4.17.4" + +"babel-types@^6.18.0", "babel-types@^6.26.0": + "integrity" "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=" + "resolved" "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz" + "version" "6.26.0" + dependencies: + "babel-runtime" "^6.26.0" + "esutils" "^2.0.2" + "lodash" "^4.17.4" + "to-fast-properties" "^1.0.3" + +"babylon@^6.18.0": + "integrity" "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + "resolved" "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz" + "version" "6.18.0" + +"bach@^1.0.0": + "integrity" "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=" + "resolved" "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "arr-filter" "^1.1.1" + "arr-flatten" "^1.0.1" + "arr-map" "^2.0.0" + "array-each" "^1.0.0" + "array-initial" "^1.0.0" + "array-last" "^1.1.1" + "async-done" "^1.2.2" + "async-settle" "^1.0.0" + "now-and-later" "^2.0.0" + +"backbone@^1.4.0": + "integrity" "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==" + "resolved" "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "underscore" ">=1.8.3" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" + dependencies: + "cache-base" "^1.0.1" + "class-utils" "^0.3.5" + "component-emitter" "^1.2.1" + "define-property" "^1.0.0" + "isobject" "^3.0.1" + "mixin-deep" "^1.2.0" + "pascalcase" "^0.1.1" + +"base64-arraybuffer-es6@^0.7.0": + "integrity" "sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==" + "resolved" "https://registry.npmjs.org/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz" + "version" "0.7.0" + +"base64-js@^1.0.2", "base64-js@^1.3.0", "base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"base64id@~2.0.0", "base64id@2.0.0": + "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz" + "version" "2.0.0" + +"basic-auth-connect@^1.0.0": + "integrity" "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" + "resolved" "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz" + "version" "1.0.0" + +"basic-auth@^2.0.1", "basic-auth@~2.0.1": + "integrity" "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==" + "resolved" "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "safe-buffer" "5.1.2" + +"bcrypt-pbkdf@^1.0.0": + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "tweetnacl" "^0.14.3" + +"before-after-hook@^2.2.0": + "integrity" "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + "resolved" "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" + "version" "2.2.2" + +"better-path-resolve@1.0.0": + "integrity" "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==" + "resolved" "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-windows" "^1.0.0" + +"big-integer@^1.6.17": + "integrity" "sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw==" + "resolved" "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz" + "version" "1.6.49" + +"big.js@^5.2.2": + "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + "version" "5.2.2" + +"bignumber.js@^9.0.0": + "integrity" "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz" + "version" "9.0.1" + +"binary-extensions@^1.0.0": + "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + "version" "1.13.1" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"binary@~0.3.0": + "integrity" "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=" + "resolved" "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "buffers" "~0.1.1" + "chainsaw" "~0.1.0" + +"binaryextensions@^2.2.0": + "integrity" "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==" + "resolved" "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz" + "version" "2.3.0" + +"bindings@^1.5.0": + "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" + "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "file-uri-to-path" "1.0.0" + +"bl@^4.0.3", "bl@^4.1.0": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" + +"blocking-proxy@^1.0.0": + "integrity" "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==" + "resolved" "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "minimist" "^1.2.0" + +"bluebird@^3.5.5", "bluebird@^3.7.2", "bluebird@3.7.2": + "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + "version" "3.7.2" + +"bluebird@~3.4.1": + "integrity" "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz" + "version" "3.4.7" + +"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.0.0": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"bn.js@^5.1.1": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"body-parser@^1.18.3", "body-parser@^1.19.0": + "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" + "version" "1.19.0" + dependencies: + "bytes" "3.1.0" + "content-type" "~1.0.4" + "debug" "2.6.9" + "depd" "~1.1.2" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "on-finished" "~2.3.0" + "qs" "6.7.0" + "raw-body" "2.4.0" + "type-is" "~1.6.17" + +"body-parser@1.20.0": + "integrity" "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "bytes" "3.1.2" + "content-type" "~1.0.4" + "debug" "2.6.9" + "depd" "2.0.0" + "destroy" "1.2.0" + "http-errors" "2.0.0" + "iconv-lite" "0.4.24" + "on-finished" "2.4.1" + "qs" "6.10.3" + "raw-body" "2.5.1" + "type-is" "~1.6.18" + "unpipe" "1.0.0" + +"boxen@^4.2.0": + "integrity" "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "ansi-align" "^3.0.0" + "camelcase" "^5.3.1" + "chalk" "^3.0.0" + "cli-boxes" "^2.2.0" + "string-width" "^4.1.0" + "term-size" "^2.1.0" + "type-fest" "^0.8.1" + "widest-line" "^3.1.0" + +"boxen@^5.0.0": + "integrity" "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "ansi-align" "^3.0.0" + "camelcase" "^6.2.0" + "chalk" "^4.1.0" + "cli-boxes" "^2.2.1" + "string-width" "^4.2.2" + "type-fest" "^0.20.2" + "widest-line" "^3.1.0" + "wrap-ansi" "^7.0.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"brace-expansion@^2.0.1": + "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "balanced-match" "^1.0.0" + +"braces@^2.3.1", "braces@^2.3.2": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + +"braces@^3.0.1", "braces@^3.0.2", "braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"breakword@^1.0.5": + "integrity" "sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==" + "resolved" "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "wcwidth" "^1.0.1" + +"brorand@^1.0.1", "brorand@^1.1.0": + "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + "version" "1.1.0" + +"browser-resolve@^2.0.0": + "integrity" "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==" + "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "resolve" "^1.17.0" + +"browser-stdout@1.3.1": + "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" + "version" "1.3.1" + +"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": + "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" + "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "buffer-xor" "^1.0.3" + "cipher-base" "^1.0.0" + "create-hash" "^1.1.0" + "evp_bytestokey" "^1.0.3" + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"browserify-cipher@^1.0.0": + "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" + "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "browserify-aes" "^1.0.4" + "browserify-des" "^1.0.0" + "evp_bytestokey" "^1.0.0" + +"browserify-des@^1.0.0": + "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" + "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "cipher-base" "^1.0.1" + "des.js" "^1.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" + +"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": + "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" + "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "bn.js" "^5.0.0" + "randombytes" "^2.0.1" + +"browserify-sign@^4.0.0": + "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" + "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "bn.js" "^5.1.1" + "browserify-rsa" "^4.0.1" + "create-hash" "^1.2.0" + "create-hmac" "^1.1.7" + "elliptic" "^6.5.3" + "inherits" "^2.0.4" + "parse-asn1" "^5.1.5" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"browserify-zlib@^0.2.0": + "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" + "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "pako" "~1.0.5" + +"browserslist@^4.14.5", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4.21.0": + "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + "version" "4.21.4" + dependencies: + "caniuse-lite" "^1.0.30001400" + "electron-to-chromium" "^1.4.251" + "node-releases" "^2.0.6" + "update-browserslist-db" "^1.0.9" + +"browserstack@^1.5.1": + "integrity" "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==" + "resolved" "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz" + "version" "1.6.1" + dependencies: + "https-proxy-agent" "^2.2.1" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-crc32@^0.2.1", "buffer-crc32@^0.2.13", "buffer-crc32@~0.2.3": + "integrity" "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + "version" "0.2.13" + +"buffer-equal-constant-time@1.0.1": + "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + "version" "1.0.1" + +"buffer-equal@^1.0.0": + "integrity" "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + "resolved" "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" + "version" "1.0.0" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"buffer-indexof-polyfill@~1.0.0": + "integrity" "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" + "resolved" "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz" + "version" "1.0.2" + +"buffer-xor@^1.0.3": + "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + "version" "1.0.3" + +"buffer@^4.3.0": + "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + "version" "4.9.2" + dependencies: + "base64-js" "^1.0.2" + "ieee754" "^1.1.4" + "isarray" "^1.0.0" + +"buffer@^5.4.3", "buffer@^5.5.0": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"buffers@~0.1.1": + "integrity" "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" + "resolved" "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" + "version" "0.1.1" + +"builtin-modules@^1.1.1": + "integrity" "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + "version" "1.1.1" + +"builtin-modules@^3.0.0": + "integrity" "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" + "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" + "version" "3.2.0" + +"builtin-status-codes@^3.0.0": + "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + "version" "3.0.0" + +"builtins@^1.0.3": + "integrity" "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" + "resolved" "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" + "version" "1.0.3" + +"byline@^5.0.0": + "integrity" "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + "resolved" "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" + "version" "5.0.0" + +"byte-size@^7.0.0": + "integrity" "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==" + "resolved" "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz" + "version" "7.0.1" + +"bytes@3.0.0": + "integrity" "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + "version" "3.0.0" + +"bytes@3.1.0": + "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + "version" "3.1.0" + +"bytes@3.1.2": + "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + "version" "3.1.2" + +"cacache@^12.0.2": + "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" + "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" + "version" "12.0.4" + dependencies: + "bluebird" "^3.5.5" + "chownr" "^1.1.1" + "figgy-pudding" "^3.5.1" + "glob" "^7.1.4" + "graceful-fs" "^4.1.15" + "infer-owner" "^1.0.3" + "lru-cache" "^5.1.1" + "mississippi" "^3.0.0" + "mkdirp" "^0.5.1" + "move-concurrently" "^1.0.1" + "promise-inflight" "^1.0.1" + "rimraf" "^2.6.3" + "ssri" "^6.0.1" + "unique-filename" "^1.1.1" + "y18n" "^4.0.0" + +"cacache@^15.0.5", "cacache@^15.2.0": + "integrity" "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==" + "resolved" "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" + "version" "15.3.0" dependencies: "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cacheable-request@^7.0.1: - version "7.0.2" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -caching-transform@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" - integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== - dependencies: - hasha "^5.0.0" - make-dir "^3.0.0" - package-hash "^4.0.0" - write-file-atomic "^3.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001259, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001400: - version "1.0.30001429" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz" - integrity sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg== - -cardinal@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" - integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= - dependencies: - ansicolors "~0.3.2" - redeyed "~2.1.0" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chai-as-promised@7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" - integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== - dependencies: - check-error "^1.0.2" - -chai-exclude@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.1.0.tgz#653d1218144eafb49b563684ad90b76d12bbc3f9" - integrity sha512-IBnm50Mvl3O1YhPpTgbU8MK0Gw7NHcb18WT2TxGdPKOMtdtZVKLHmQwdvOF7mTlHVQStbXuZKFwkevFtbHjpVg== - dependencies: - fclone "^1.0.11" - -chai@4.3.6: - version "4.3.6" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" - integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@2.x, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" - integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -child-process-promise@2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz#4730a11ef610fad450b8f223c79d31d7bdad8074" - integrity sha1-RzChHvYQ+tRQuPIjx50x172tgHQ= - dependencies: - cross-spawn "^4.0.2" - node-version "^1.0.0" - promise-polyfill "^6.0.1" - -chokidar@3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" + "chownr" "^2.0.0" + "fs-minipass" "^2.0.0" + "glob" "^7.1.4" + "infer-owner" "^1.0.4" + "lru-cache" "^6.0.0" + "minipass" "^3.1.1" + "minipass-collect" "^1.0.2" + "minipass-flush" "^1.0.5" + "minipass-pipeline" "^1.2.2" + "mkdirp" "^1.0.3" + "p-map" "^4.0.0" + "promise-inflight" "^1.0.1" + "rimraf" "^3.0.2" + "ssri" "^8.0.1" + "tar" "^6.0.2" + "unique-filename" "^1.1.1" + +"cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "collection-visit" "^1.0.0" + "component-emitter" "^1.2.1" + "get-value" "^2.0.6" + "has-value" "^1.0.0" + "isobject" "^3.0.1" + "set-value" "^2.0.0" + "to-object-path" "^0.3.0" + "union-value" "^1.0.0" + "unset-value" "^1.0.0" + +"cacheable-lookup@^5.0.3": + "integrity" "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" + "resolved" "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" + "version" "5.0.4" + +"cacheable-request@^6.0.0": + "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^3.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^4.1.0" + "responselike" "^1.0.2" + +"cacheable-request@^7.0.1": + "integrity" "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz" + "version" "7.0.2" + dependencies: + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^4.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^6.0.1" + "responselike" "^2.0.0" + +"caching-transform@^4.0.0": + "integrity" "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==" + "resolved" "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "hasha" "^5.0.0" + "make-dir" "^3.0.0" + "package-hash" "^4.0.0" + "write-file-atomic" "^3.0.0" + +"call-bind@^1.0.0", "call-bind@^1.0.2": + "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "function-bind" "^1.1.1" + "get-intrinsic" "^1.0.2" + +"call-me-maybe@^1.0.1": + "integrity" "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + "resolved" "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" + "version" "1.0.1" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camelcase-keys@^6.2.2": + "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + "version" "6.2.2" + dependencies: + "camelcase" "^5.3.1" + "map-obj" "^4.0.0" + "quick-lru" "^4.0.1" + +"camelcase@^3.0.0": + "integrity" "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" + "version" "3.0.0" + +"camelcase@^5.0.0", "camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.0.0": + "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + "version" "6.2.0" + +"camelcase@^6.2.0": + "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + "version" "6.2.0" + +"caniuse-lite@^1.0.30001400": + "integrity" "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz" + "version" "1.0.30001431" + +"cardinal@^2.1.1": + "integrity" "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=" + "resolved" "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ansicolors" "~0.3.2" + "redeyed" "~2.1.0" + +"caseless@~0.12.0": + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" + +"catharsis@^0.9.0": + "integrity" "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==" + "resolved" "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz" + "version" "0.9.0" + dependencies: + "lodash" "^4.17.15" + +"chai-as-promised@7.1.1": + "integrity" "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==" + "resolved" "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "check-error" "^1.0.2" + +"chai-exclude@2.1.0": + "integrity" "sha512-IBnm50Mvl3O1YhPpTgbU8MK0Gw7NHcb18WT2TxGdPKOMtdtZVKLHmQwdvOF7mTlHVQStbXuZKFwkevFtbHjpVg==" + "resolved" "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "fclone" "^1.0.11" + +"chai@^4.0.0", "chai@^4.3.4", "chai@>= 2.1.2 < 5", "chai@>= 4.0.0 < 5", "chai@4.3.6": + "integrity" "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==" + "resolved" "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz" + "version" "4.3.6" + dependencies: + "assertion-error" "^1.1.0" + "check-error" "^1.0.2" + "deep-eql" "^3.0.1" + "get-func-name" "^2.0.0" + "loupe" "^2.3.1" + "pathval" "^1.1.1" + "type-detect" "^4.0.5" + +"chainsaw@~0.1.0": + "integrity" "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=" + "resolved" "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "traverse" ">=0.3.0 <0.4" + +"chalk@^1.0.0", "chalk@^1.1.3": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "ansi-styles" "^2.2.1" + "escape-string-regexp" "^1.0.2" + "has-ansi" "^2.0.0" + "strip-ansi" "^3.0.0" + "supports-color" "^2.0.0" + +"chalk@^1.1.1": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "ansi-styles" "^2.2.1" + "escape-string-regexp" "^1.0.2" + "has-ansi" "^2.0.0" + "strip-ansi" "^3.0.0" + "supports-color" "^2.0.0" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.0.1", "chalk@^2.1.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.3.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.4.1": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^3.0.0": + "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.0.0", "chalk@^4.1.0", "chalk@^4.1.1", "chalk@^4.1.2", "chalk@4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^5.0.0": + "integrity" "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" + "version" "5.0.1" + +"chalk@2.x": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chardet@^0.7.0": + "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + "version" "0.7.0" + +"check-error@^1.0.2": + "integrity" "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + "resolved" "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" + "version" "1.0.2" + +"child-process-promise@2.2.1": + "integrity" "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=" + "resolved" "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "cross-spawn" "^4.0.2" + "node-version" "^1.0.0" + "promise-polyfill" "^6.0.1" + +"chokidar@^2.0.0": + "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + "version" "2.1.8" + dependencies: + "anymatch" "^2.0.0" + "async-each" "^1.0.1" + "braces" "^2.3.2" + "glob-parent" "^3.1.0" + "inherits" "^2.0.3" + "is-binary-path" "^1.0.0" + "is-glob" "^4.0.0" + "normalize-path" "^3.0.0" + "path-is-absolute" "^1.0.0" + "readdirp" "^2.2.1" + "upath" "^1.1.1" + optionalDependencies: + "fsevents" "^1.2.7" + +"chokidar@^2.1.8": + "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + "version" "2.1.8" + dependencies: + "anymatch" "^2.0.0" + "async-each" "^1.0.1" + "braces" "^2.3.2" + "glob-parent" "^3.1.0" + "inherits" "^2.0.3" + "is-binary-path" "^1.0.0" + "is-glob" "^4.0.0" + "normalize-path" "^3.0.0" + "path-is-absolute" "^1.0.0" + "readdirp" "^2.2.1" + "upath" "^1.1.1" optionalDependencies: - fsevents "~2.3.2" - -chokidar@^2.0.0, chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" + "fsevents" "^1.2.7" + +"chokidar@^3.0.2", "chokidar@^3.4.1", "chokidar@^3.5.1": + "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" + "version" "3.5.2" + dependencies: + "anymatch" "~3.1.2" + "braces" "~3.0.2" + "glob-parent" "~5.1.2" + "is-binary-path" "~2.1.0" + "is-glob" "~4.0.1" + "normalize-path" "~3.0.0" + "readdirp" "~3.6.0" optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.0.2, chokidar@^3.4.1, chokidar@^3.5.1: - version "3.5.2" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" + "fsevents" "~2.3.2" + +"chokidar@3.5.3": + "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + "version" "3.5.3" + dependencies: + "anymatch" "~3.1.2" + "braces" "~3.0.2" + "glob-parent" "~5.1.2" + "is-binary-path" "~2.1.0" + "is-glob" "~4.0.1" + "normalize-path" "~3.0.0" + "readdirp" "~3.6.0" optionalDependencies: - fsevents "~2.3.2" + "fsevents" "~2.3.2" + +"chownr@^1.1.1": + "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + "version" "1.1.4" -chownr@^1.1.1, chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +"chownr@^1.1.4": + "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + "version" "1.1.4" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +"chownr@^2.0.0": + "integrity" "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + "version" "2.0.0" -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" -chromedriver@98.0.1: - version "98.0.1" - resolved "https://registry.npmjs.org/chromedriver/-/chromedriver-98.0.1.tgz#ccb1e36a003b4c6af0b184caa00fca8370d88f2a" - integrity sha512-/04KkHHE/K/lfwdPTQr5fxi1dWvM83p8T/IkYbyGK2PBlH7K49Dd71A9jrS+aWgXlZYkuHhbwiy2PA2QqZ5qQw== +"chromedriver@98.0.1": + "integrity" "sha512-/04KkHHE/K/lfwdPTQr5fxi1dWvM83p8T/IkYbyGK2PBlH7K49Dd71A9jrS+aWgXlZYkuHhbwiy2PA2QqZ5qQw==" + "resolved" "https://registry.npmjs.org/chromedriver/-/chromedriver-98.0.1.tgz" + "version" "98.0.1" dependencies: "@testim/chrome-version" "^1.1.2" - axios "^0.24.0" - del "^6.0.0" - extract-zip "^2.0.1" - https-proxy-agent "^5.0.0" - proxy-from-env "^1.1.0" - tcp-port-used "^1.0.1" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.1.0, ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -ci-info@^3.1.1: - version "3.2.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cjson@^0.3.1: - version "0.3.3" - resolved "https://registry.npmjs.org/cjson/-/cjson-0.3.3.tgz#a92d9c786e5bf9b930806329ee05d5d3261b4afa" - integrity sha1-qS2ceG5b+bkwgGMp7gXV0yYbSvo= - dependencies: - json-parse-helpfulerror "^1.0.3" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^2.2.0, cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-color@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" - integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.61" - es6-iterator "^2.0.3" - memoizee "^0.4.15" - timers-ext "^0.1.7" - -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^2.5.0: - version "2.6.0" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" - integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== - -cli-table3@^0.6.1: - version "0.6.2" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" - integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== - dependencies: - string-width "^4.2.0" + "axios" "^0.24.0" + "del" "^6.0.0" + "extract-zip" "^2.0.1" + "https-proxy-agent" "^5.0.0" + "proxy-from-env" "^1.1.0" + "tcp-port-used" "^1.0.1" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"ci-info@^3.1.0", "ci-info@^3.1.1", "ci-info@^3.2.0": + "integrity" "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz" + "version" "3.3.0" + +"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": + "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" + "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"cjson@^0.3.1": + "integrity" "sha1-qS2ceG5b+bkwgGMp7gXV0yYbSvo=" + "resolved" "https://registry.npmjs.org/cjson/-/cjson-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "json-parse-helpfulerror" "^1.0.3" + +"class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" + +"clean-stack@^2.0.0": + "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + "version" "2.2.0" + +"cli-boxes@^2.2.0", "cli-boxes@^2.2.1": + "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + "version" "2.2.1" + +"cli-color@^2.0.2": + "integrity" "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==" + "resolved" "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "d" "^1.0.1" + "es5-ext" "^0.10.61" + "es6-iterator" "^2.0.3" + "memoizee" "^0.4.15" + "timers-ext" "^0.1.7" + +"cli-cursor@^2.0.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^2.1.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^3.1.0": + "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "restore-cursor" "^3.1.0" + +"cli-spinners@^2.5.0": + "integrity" "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" + "version" "2.6.0" + +"cli-table@0.3.11": + "integrity" "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==" + "resolved" "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz" + "version" "0.3.11" + dependencies: + "colors" "1.0.3" + +"cli-table3@^0.6.1": + "integrity" "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==" + "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "string-width" "^4.2.0" optionalDependencies: "@colors/colors" "1.5.0" -cli-table@0.3.11: - version "0.3.11" - resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz#ac69cdecbe81dccdba4889b9a18b7da312a9d3ee" - integrity sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ== - dependencies: - colors "1.0.3" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@2.1.2, clone@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -cmd-shim@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" - integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw== - dependencies: - mkdirp-infer-owner "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-map@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" - integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= - dependencies: - arr-map "^2.0.2" - for-own "^1.0.0" - make-iterator "^1.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.6.0" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" - integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -color@3.0.x: - version "3.0.0" - resolved "https://registry.npmjs.org/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" - integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colorette@^1.1.0: - version "1.4.0" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - -colors@1.4.0, colors@^1.2.1, colors@~1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -colors@~1.2.1: - version "1.2.5" - resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" - integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== - -colorspace@1.1.x: - version "1.1.2" - resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" - integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== - dependencies: - color "3.0.x" - text-hex "1.0.x" - -columnify@^1.5.4: - version "1.5.4" - resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - -combine-source-map@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b" - integrity sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos= - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.12.1, commander@^2.20.0, commander@^2.20.3, commander@^2.7.1: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^9.2.0: - version "9.4.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== - -commenting@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz#fae14345c6437b8554f30bc6aa6c1e1633033590" - integrity sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -compare-semver@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz#7c0a79a27bb80b6c6994445f82958259d3d02153" - integrity sha1-fAp5onu4C2xplERfgpWCWdPQIVM= - dependencies: - semver "^5.0.1" - -component-emitter@^1.2.1, component-emitter@~1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compress-commons@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" - integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^4.0.2" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.0: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0, concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -config-chain@^1.1.12: - version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -connect@^3.6.2, connect@^3.7.0: - version "3.7.0" - resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -console-browserify@^1.1.0, console-browserify@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@^1.0.4, content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -conventional-changelog-angular@^5.0.12: - version "5.0.13" - resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" - integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-core@^4.2.2: - version "4.2.4" - resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-writer@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz#c4042f3f1542f2f41d7d2e0d6cad23aba8df8eec" - integrity sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.6" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz#190fb9900c6e02be0c0bca9b03d57e24982639fd" - integrity sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -conventional-recommended-bump@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - -convert-source-map@^1.0.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@~1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" - integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA= - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -cookie@~0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-props@^2.0.1: - version "2.0.5" - resolved "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" - integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== - dependencies: - each-props "^1.3.2" - is-plain-object "^5.0.0" - -core-js-compat@^3.25.1: - version "3.26.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz#94e2cf8ba3e63800c4956ea298a6473bc9d62b44" - integrity sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A== - dependencies: - browserslist "^4.21.4" - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@^2.8.5, cors@~2.8.5: - version "2.8.5" - resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" - integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c= - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== +"cli-truncate@^0.2.1": + "integrity" "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=" + "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "slice-ansi" "0.0.4" + "string-width" "^1.0.1" + +"cli-width@^3.0.0": + "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + "version" "3.0.0" + +"cliui@^3.2.0": + "integrity" "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "string-width" "^1.0.1" + "strip-ansi" "^3.0.1" + "wrap-ansi" "^2.0.0" + +"cliui@^6.0.0": + "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^6.2.0" + +"cliui@^7.0.2", "cliui@^8.0.1": + "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + "version" "7.0.4" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^7.0.0" + +"clone-buffer@^1.0.0": + "integrity" "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" + "version" "1.0.0" + +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" + +"clone-response@^1.0.2": + "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=" + "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "mimic-response" "^1.0.0" + +"clone-stats@^1.0.0": + "integrity" "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" + "version" "1.0.0" + +"clone@^1.0.2": + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + +"clone@^2.1.1", "clone@2.1.2": + "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + "version" "2.1.2" + +"cloneable-readable@^1.0.0": + "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" + "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "inherits" "^2.0.1" + "process-nextick-args" "^2.0.0" + "readable-stream" "^2.3.5" + +"cmd-shim@^4.1.0": + "integrity" "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==" + "resolved" "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "mkdirp-infer-owner" "^2.0.0" + +"co@^4.6.0": + "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"code-point-at@^1.0.0": + "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + "version" "1.1.0" + +"collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + +"collection-map@^1.0.0": + "integrity" "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=" + "resolved" "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "arr-map" "^2.0.2" + "for-own" "^1.0.0" + "make-iterator" "^1.0.0" + +"collection-visit@^1.0.0": + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + +"color-convert@^1.9.0", "color-convert@^1.9.1": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@^1.0.0", "color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"color-string@^1.5.2": + "integrity" "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==" + "resolved" "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz" + "version" "1.6.0" + dependencies: + "color-name" "^1.0.0" + "simple-swizzle" "^0.2.2" + +"color-support@^1.1.2", "color-support@^1.1.3": + "integrity" "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + "resolved" "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + "version" "1.1.3" + +"color@3.0.x": + "integrity" "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==" + "resolved" "https://registry.npmjs.org/color/-/color-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "color-convert" "^1.9.1" + "color-string" "^1.5.2" + +"colorette@^1.1.0": + "integrity" "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" + "version" "1.4.0" + +"colors@^1.2.1": + "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + "version" "1.4.0" + +"colors@~1.2.1": + "integrity" "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz" + "version" "1.2.5" + +"colors@~1.4.0": + "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + "version" "1.4.0" + +"colors@1.0.3": + "integrity" "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" + "version" "1.0.3" + +"colors@1.4.0": + "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + "version" "1.4.0" + +"colorspace@1.1.x": + "integrity" "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==" + "resolved" "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "color" "3.0.x" + "text-hex" "1.0.x" + +"columnify@^1.5.4": + "integrity" "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=" + "resolved" "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" + "version" "1.5.4" + dependencies: + "strip-ansi" "^3.0.0" + "wcwidth" "^1.0.0" + +"combine-source-map@^0.8.0": + "integrity" "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=" + "resolved" "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz" + "version" "0.8.0" + dependencies: + "convert-source-map" "~1.1.0" + "inline-source-map" "~0.6.0" + "lodash.memoize" "~3.0.3" + "source-map" "~0.5.3" + +"combined-stream@^1.0.6", "combined-stream@^1.0.8", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"commander@^2.12.1", "commander@^2.20.0", "commander@^2.20.3", "commander@^2.7.1": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^4.0.1": + "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + "version" "4.1.1" + +"commander@^9.2.0": + "integrity" "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz" + "version" "9.4.0" + +"commenting@~1.1.0": + "integrity" "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==" + "resolved" "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz" + "version" "1.1.0" + +"commondir@^1.0.1": + "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + "version" "1.0.1" + +"compare-func@^2.0.0": + "integrity" "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==" + "resolved" "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "array-ify" "^1.0.0" + "dot-prop" "^5.1.0" + +"compare-semver@^1.0.0": + "integrity" "sha1-fAp5onu4C2xplERfgpWCWdPQIVM=" + "resolved" "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "semver" "^5.0.1" + +"component-emitter@^1.2.1", "component-emitter@~1.3.0": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + +"compress-commons@^4.1.0": + "integrity" "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==" + "resolved" "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "buffer-crc32" "^0.2.13" + "crc32-stream" "^4.0.2" + "normalize-path" "^3.0.0" + "readable-stream" "^3.6.0" + +"compressible@~2.0.16": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"compression@^1.7.0": + "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" + "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + "version" "1.7.4" + dependencies: + "accepts" "~1.3.5" + "bytes" "3.0.0" + "compressible" "~2.0.16" + "debug" "2.6.9" + "on-headers" "~1.0.2" + "safe-buffer" "5.1.2" + "vary" "~1.1.2" + +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"concat-stream@^1.5.0", "concat-stream@^1.6.0": + "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + "version" "1.6.2" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^2.2.2" + "typedarray" "^0.0.6" + +"concat-stream@^2.0.0": + "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.0.2" + "typedarray" "^0.0.6" + +"config-chain@^1.1.12": + "integrity" "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==" + "resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" + "version" "1.1.13" + dependencies: + "ini" "^1.3.4" + "proto-list" "~1.2.1" + +"configstore@^5.0.1": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + +"connect@^3.6.2", "connect@^3.7.0": + "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==" + "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" + "version" "3.7.0" + dependencies: + "debug" "2.6.9" + "finalhandler" "1.1.2" + "parseurl" "~1.3.3" + "utils-merge" "1.0.1" + +"console-browserify@^1.1.0", "console-browserify@^1.2.0": + "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + "version" "1.2.0" + +"console-control-strings@^1.0.0", "console-control-strings@^1.1.0", "console-control-strings@~1.1.0": + "integrity" "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + "version" "1.1.0" + +"constants-browserify@^1.0.0": + "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + "version" "1.0.0" + +"content-disposition@0.5.4": + "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + "version" "0.5.4" + dependencies: + "safe-buffer" "5.2.1" + +"content-type@^1.0.4", "content-type@~1.0.4": + "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + "version" "1.0.4" + +"conventional-changelog-angular@^5.0.12": + "integrity" "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==" + "resolved" "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" + "version" "5.0.13" + dependencies: + "compare-func" "^2.0.0" + "q" "^1.5.1" + +"conventional-changelog-core@^4.2.2": + "integrity" "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==" + "resolved" "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" + "version" "4.2.4" + dependencies: + "add-stream" "^1.0.0" + "conventional-changelog-writer" "^5.0.0" + "conventional-commits-parser" "^3.2.0" + "dateformat" "^3.0.0" + "get-pkg-repo" "^4.0.0" + "git-raw-commits" "^2.0.8" + "git-remote-origin-url" "^2.0.0" + "git-semver-tags" "^4.1.1" + "lodash" "^4.17.15" + "normalize-package-data" "^3.0.0" + "q" "^1.5.1" + "read-pkg" "^3.0.0" + "read-pkg-up" "^3.0.0" + "through2" "^4.0.0" + +"conventional-changelog-preset-loader@^2.3.4": + "integrity" "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==" + "resolved" "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" + "version" "2.3.4" + +"conventional-changelog-writer@^5.0.0": + "integrity" "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==" + "resolved" "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "conventional-commits-filter" "^2.0.7" + "dateformat" "^3.0.0" + "handlebars" "^4.7.6" + "json-stringify-safe" "^5.0.1" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "semver" "^6.0.0" + "split" "^1.0.0" + "through2" "^4.0.0" + +"conventional-commits-filter@^2.0.7": + "integrity" "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==" + "resolved" "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "lodash.ismatch" "^4.4.0" + "modify-values" "^1.0.0" + +"conventional-commits-parser@^3.2.0": + "integrity" "sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g==" + "resolved" "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-text-path" "^1.0.1" + "JSONStream" "^1.0.4" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "split2" "^3.0.0" + "through2" "^4.0.0" + +"conventional-recommended-bump@^6.1.0": + "integrity" "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==" + "resolved" "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "concat-stream" "^2.0.0" + "conventional-changelog-preset-loader" "^2.3.4" + "conventional-commits-filter" "^2.0.7" + "conventional-commits-parser" "^3.2.0" + "git-raw-commits" "^2.0.8" + "git-semver-tags" "^4.1.1" + "meow" "^8.0.0" + "q" "^1.5.1" + +"convert-source-map@^1.0.0", "convert-source-map@^1.4.0", "convert-source-map@^1.5.0", "convert-source-map@^1.7.0": + "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "safe-buffer" "~5.1.1" + +"convert-source-map@~1.1.0": + "integrity" "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz" + "version" "1.1.3" + +"cookie-signature@1.0.6": + "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "version" "1.0.6" + +"cookie@~0.4.1": + "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" + "version" "0.4.1" + +"cookie@0.5.0": + "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + "version" "0.5.0" + +"copy-concurrently@^1.0.0": + "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" + "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "aproba" "^1.1.1" + "fs-write-stream-atomic" "^1.0.8" + "iferr" "^0.1.5" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.0" + +"copy-descriptor@^0.1.0": + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + +"copy-props@^2.0.1": + "integrity" "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==" + "resolved" "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "each-props" "^1.3.2" + "is-plain-object" "^5.0.0" + +"core-js-compat@^3.25.1": + "integrity" "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==" + "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz" + "version" "3.26.0" + dependencies: + "browserslist" "^4.21.4" + +"core-js@^2.4.0": + "integrity" "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" + "version" "2.6.12" + +"core-util-is@~1.0.0": + "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + "version" "1.0.3" + +"core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cors@^2.8.5", "cors@~2.8.5": + "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==" + "resolved" "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" + "version" "2.8.5" + dependencies: + "object-assign" "^4" + "vary" "^1" + +"corser@^2.0.1": + "integrity" "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=" + "resolved" "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" + "version" "2.0.1" + +"cosmiconfig@^7.0.0": + "integrity" "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" + "version" "7.0.1" dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -coveralls@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz#f5d4431d8b5ae69c5079c8f8ca00d64ac77cf081" - integrity sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww== - dependencies: - js-yaml "^3.13.1" - lcov-parse "^1.0.0" - log-driver "^1.2.7" - minimist "^1.2.5" - request "^2.88.2" - -crc-32@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -crc32-stream@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" - integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== - dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-env@^5.1.3: - version "5.2.1" - resolved "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz#b2c76c1ca7add66dc874d11798466094f551b34d" - integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== - dependencies: - cross-spawn "^6.0.5" - -cross-spawn@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: - version "3.12.0" - resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - -csv-generate@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz#bc42d943b45aea52afa896874291da4b9108ffff" - integrity sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== - -csv-parse@^4.16.3: - version "4.16.3" - resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" - integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== - -csv-parse@^5.0.4: - version "5.3.0" - resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-5.3.0.tgz#85cc02fc9d1c89bd1b02e69069c960f8b8064322" - integrity sha512-UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ== - -csv-stringify@^5.6.5: - version "5.6.5" - resolved "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" - integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== - -csv@^5.5.0: - version "5.5.3" - resolved "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz#cd26c1e45eae00ce6a9b7b27dcb94955ec95207d" - integrity sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== - dependencies: - csv-generate "^3.4.3" - csv-parse "^4.16.3" - csv-stringify "^5.6.5" - stream-transform "^2.1.3" - -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@3: - version "3.0.1" - resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" - integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== - -dataloader@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" - integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== - -date-fns@^1.27.2: - version "1.30.1" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -date-format@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873" - integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ== - -date-format@^4.0.4, date-format@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.5.tgz#ba385f89782c6cb114cf45dfa4704c6bb29fca51" - integrity sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw== - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug-fabulous@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e" - integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg== - dependencies: - debug "3.X" - memoizee "0.4.X" - object-assign "4.X" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.X, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: - version "4.3.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + "import-fresh" "^3.2.1" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.10.0" + +"coveralls@3.1.1": + "integrity" "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==" + "resolved" "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "js-yaml" "^3.13.1" + "lcov-parse" "^1.0.0" + "log-driver" "^1.2.7" + "minimist" "^1.2.5" + "request" "^2.88.2" + +"crc-32@^1.2.0": + "integrity" "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==" + "resolved" "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "exit-on-epipe" "~1.0.1" + "printj" "~1.1.0" + +"crc32-stream@^4.0.2": + "integrity" "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==" + "resolved" "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "crc-32" "^1.2.0" + "readable-stream" "^3.4.0" + +"create-ecdh@^4.0.0": + "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" + "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "bn.js" "^4.1.0" + "elliptic" "^6.5.3" + +"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": + "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" + "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cipher-base" "^1.0.1" + "inherits" "^2.0.1" + "md5.js" "^1.3.4" + "ripemd160" "^2.0.1" + "sha.js" "^2.4.0" + +"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": + "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" + "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "cipher-base" "^1.0.3" + "create-hash" "^1.1.0" + "inherits" "^2.0.1" + "ripemd160" "^2.0.0" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"create-require@^1.1.0": + "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + "version" "1.1.1" + +"cross-env@^5.1.3": + "integrity" "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==" + "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "cross-spawn" "^6.0.5" + +"cross-spawn@^4.0.2": + "integrity" "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "lru-cache" "^4.0.1" + "which" "^1.2.9" + +"cross-spawn@^5.1.0": + "integrity" "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "lru-cache" "^4.0.1" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^6.0.5": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^7.0.0", "cross-spawn@^7.0.1", "cross-spawn@^7.0.2", "cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"crypto-browserify@^3.11.0", "crypto-browserify@^3.12.0": + "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" + "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + "version" "3.12.0" + dependencies: + "browserify-cipher" "^1.0.0" + "browserify-sign" "^4.0.0" + "create-ecdh" "^4.0.0" + "create-hash" "^1.1.0" + "create-hmac" "^1.1.0" + "diffie-hellman" "^5.0.0" + "inherits" "^2.0.1" + "pbkdf2" "^3.0.3" + "public-encrypt" "^4.0.0" + "randombytes" "^2.0.0" + "randomfill" "^1.0.3" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"css@^3.0.0": + "integrity" "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==" + "resolved" "https://registry.npmjs.org/css/-/css-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "inherits" "^2.0.4" + "source-map" "^0.6.1" + "source-map-resolve" "^0.6.0" + +"csv-generate@^3.4.3": + "integrity" "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" + "resolved" "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz" + "version" "3.4.3" + +"csv-parse@^4.16.3": + "integrity" "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" + "resolved" "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz" + "version" "4.16.3" + +"csv-parse@^5.0.4": + "integrity" "sha512-UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ==" + "resolved" "https://registry.npmjs.org/csv-parse/-/csv-parse-5.3.0.tgz" + "version" "5.3.0" + +"csv-stringify@^5.6.5": + "integrity" "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" + "resolved" "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz" + "version" "5.6.5" + +"csv@^5.5.0": + "integrity" "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==" + "resolved" "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz" + "version" "5.5.3" + dependencies: + "csv-generate" "^3.4.3" + "csv-parse" "^4.16.3" + "csv-stringify" "^5.6.5" + "stream-transform" "^2.1.3" + +"custom-event@~1.0.0": + "integrity" "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=" + "resolved" "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz" + "version" "1.0.1" + +"cyclist@^1.0.1": + "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" + "version" "1.0.1" + +"d@^1.0.1", "d@1": + "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==" + "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "es5-ext" "^0.10.50" + "type" "^1.0.1" + +"dargs@^7.0.0": + "integrity" "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" + "resolved" "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" + "version" "7.0.0" + +"dashdash@^1.12.0": + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + +"data-uri-to-buffer@3": + "integrity" "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" + "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz" + "version" "3.0.1" + +"dataloader@^1.4.0": + "integrity" "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==" + "resolved" "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" + "version" "1.4.0" + +"date-fns@^1.27.2": + "integrity" "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" + "version" "1.30.1" + +"date-format@^4.0.4", "date-format@^4.0.5": + "integrity" "sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw==" + "resolved" "https://registry.npmjs.org/date-format/-/date-format-4.0.5.tgz" + "version" "4.0.5" + +"dateformat@^3.0.0": + "integrity" "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" + "version" "3.0.3" + +"debug-fabulous@^1.0.0": + "integrity" "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==" + "resolved" "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "debug" "3.X" + "memoizee" "0.4.X" + "object-assign" "4.X" + +"debug@^2.2.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.3.3": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.8": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.1.0": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^3.1.1": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^3.2.7": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.3", "debug@~4.3.1", "debug@~4.3.2", "debug@4", "debug@4.3.3": + "integrity" "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" + "version" "4.3.3" + dependencies: + "ms" "2.1.2" + +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== +"debug@3.X": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-freeze@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84" - integrity sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - -default-require-extensions@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" - integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== - dependencies: - strip-bom "^4.0.0" - -default-resolution@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" - integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -degenerator@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz#7ef78ec0c8577a544477308ddf1d2d6e88d51f5b" - integrity sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ== - dependencies: - ast-types "^0.13.2" - escodegen "^1.8.1" - esprima "^4.0.0" - vm2 "^3.9.3" - -del@6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -del@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -del@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" - integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@^1.1.2, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -dependency-graph@0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" - integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -destroy@^1.0.4, destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= - dependencies: - asap "^2.0.0" - wrappy "1" - -di@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= - -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^4.0.1, diff@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dmg@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/dmg/-/dmg-0.1.0.tgz#b38ea2107f6f0b070442bbf799bfc4f2aedaa5f8" - integrity sha1-s46iEH9vCwcEQrv3mb/E8q7apfg= - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-serialize@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domain-browser@^4.16.0: - version "4.22.0" - resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" - integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== - -dot-prop@^5.1.0, dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -dotenv@^8.1.0: - version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1, duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -duplexify@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - -each-props@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" - integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== - dependencies: - is-plain-object "^2.0.1" - object.defaults "^1.1.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.846: - version "1.3.849" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz#45a65a392565abc5b864624b9753393336426f4b" - integrity sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w== - -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== - -electron-to-chromium@^1.4.251: - version "1.4.284" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -enabled@2.0.x: - version "2.0.0" - resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" - integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding@^0.1.12: - version "0.1.13" - resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -engine.io-parser@~5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" - integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== + "ms" "^2.1.1" + +"debug@4.3.1": + "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "ms" "2.1.2" + +"debuglog@^1.0.1": + "integrity" "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" + "resolved" "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" + "version" "1.0.1" + +"decamelize-keys@^1.1.0": + "integrity" "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=" + "resolved" "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "decamelize" "^1.1.0" + "map-obj" "^1.0.0" + +"decamelize@^1.1.0", "decamelize@^1.1.1", "decamelize@^1.2.0": + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" + +"decamelize@^4.0.0": + "integrity" "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" + "version" "4.0.0" + +"decode-uri-component@^0.2.0": + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + "version" "0.2.0" + +"decompress-response@^3.3.0": + "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "mimic-response" "^1.0.0" + +"decompress-response@^6.0.0": + "integrity" "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "mimic-response" "^3.1.0" + +"dedent@^0.7.0": + "integrity" "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + "version" "0.7.0" + +"deep-eql@^3.0.1": + "integrity" "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==" + "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "type-detect" "^4.0.0" + +"deep-extend@^0.6.0": + "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "version" "0.6.0" + +"deep-freeze@0.0.1": + "integrity" "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=" + "resolved" "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz" + "version" "0.0.1" + +"deep-is@^0.1.3", "deep-is@~0.1.3": + "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + "version" "0.1.4" + +"deepmerge@^4.2.2": + "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + "version" "4.2.2" + +"default-compare@^1.0.0": + "integrity" "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==" + "resolved" "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^5.0.2" + +"default-require-extensions@^3.0.0": + "integrity" "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==" + "resolved" "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "strip-bom" "^4.0.0" + +"default-resolution@^2.0.0": + "integrity" "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=" + "resolved" "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz" + "version" "2.0.0" + +"defaults@^1.0.3": + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "clone" "^1.0.2" + +"defer-to-connect@^1.0.1": + "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + "version" "1.1.3" + +"defer-to-connect@^2.0.0": + "integrity" "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + "version" "2.0.1" + +"define-properties@^1.1.3": + "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "object-keys" "^1.0.12" + +"define-properties@^1.1.4": + "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "has-property-descriptors" "^1.0.0" + "object-keys" "^1.1.1" + +"define-property@^0.2.5": + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" + +"define-property@^1.0.0": + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-descriptor" "^1.0.0" + +"define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" + +"degenerator@^3.0.1": + "integrity" "sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==" + "resolved" "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ast-types" "^0.13.2" + "escodegen" "^1.8.1" + "esprima" "^4.0.0" + "vm2" "^3.9.3" + +"del@^2.2.0": + "integrity" "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=" + "resolved" "https://registry.npmjs.org/del/-/del-2.2.2.tgz" + "version" "2.2.2" + dependencies: + "globby" "^5.0.0" + "is-path-cwd" "^1.0.0" + "is-path-in-cwd" "^1.0.0" + "object-assign" "^4.0.1" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + "rimraf" "^2.2.8" + +"del@^6.0.0", "del@6.1.1": + "integrity" "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==" + "resolved" "https://registry.npmjs.org/del/-/del-6.1.1.tgz" + "version" "6.1.1" + dependencies: + "globby" "^11.0.1" + "graceful-fs" "^4.2.4" + "is-glob" "^4.0.1" + "is-path-cwd" "^2.2.0" + "is-path-inside" "^3.0.2" + "p-map" "^4.0.0" + "rimraf" "^3.0.2" + "slash" "^3.0.0" + +"delayed-stream@~1.0.0": + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"delegates@^1.0.0": + "integrity" "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "resolved" "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + "version" "1.0.0" + +"depd@^1.1.2": + "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"depd@~1.1.2": + "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"depd@~2.0.0", "depd@2.0.0": + "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + "version" "2.0.0" + +"dependency-graph@0.11.0": + "integrity" "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" + "resolved" "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz" + "version" "0.11.0" + +"deprecation@^2.0.0", "deprecation@^2.3.1": + "integrity" "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "resolved" "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" + "version" "2.3.1" + +"des.js@^1.0.0": + "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" + "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" + +"destroy@^1.0.4": + "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + "version" "1.0.4" + +"destroy@1.2.0": + "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + "version" "1.2.0" + +"detect-file@^1.0.0": + "integrity" "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + "resolved" "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" + "version" "1.0.0" + +"detect-indent@^4.0.0": + "integrity" "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=" + "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "repeating" "^2.0.0" + +"detect-indent@^5.0.0": + "integrity" "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" + "version" "5.0.0" + +"detect-indent@^6.0.0": + "integrity" "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" + "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" + "version" "6.1.0" + +"detect-libc@^2.0.0": + "integrity" "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + "resolved" "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" + "version" "2.0.1" + +"detect-newline@^2.0.0": + "integrity" "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" + "version" "2.1.0" + +"dezalgo@^1.0.0": + "integrity" "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=" + "resolved" "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "asap" "^2.0.0" + "wrappy" "1" + +"di@^0.0.1": + "integrity" "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=" + "resolved" "https://registry.npmjs.org/di/-/di-0.0.1.tgz" + "version" "0.0.1" + +"diff-sequences@^27.0.6": + "integrity" "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz" + "version" "27.0.6" + +"diff@^4.0.1", "diff@^4.0.2": + "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + "version" "4.0.2" + +"diff@5.0.0": + "integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" + "version" "5.0.0" + +"diffie-hellman@^5.0.0": + "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" + "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "bn.js" "^4.1.0" + "miller-rabin" "^4.0.0" + "randombytes" "^2.0.0" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"dmg@^0.1.0": + "integrity" "sha1-s46iEH9vCwcEQrv3mb/E8q7apfg=" + "resolved" "https://registry.npmjs.org/dmg/-/dmg-0.1.0.tgz" + "version" "0.1.0" + +"doctrine@^2.1.0": + "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "esutils" "^2.0.2" + +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "esutils" "^2.0.2" + +"dom-serialize@^2.2.1": + "integrity" "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=" + "resolved" "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "custom-event" "~1.0.0" + "ent" "~2.2.0" + "extend" "^3.0.0" + "void-elements" "^2.0.0" + +"domain-browser@^1.1.1": + "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" + "version" "1.2.0" + +"domain-browser@^4.16.0": + "integrity" "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==" + "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz" + "version" "4.22.0" + +"dot-prop@^5.1.0", "dot-prop@^5.2.0": + "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "is-obj" "^2.0.0" + +"dot-prop@^6.0.1": + "integrity" "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "is-obj" "^2.0.0" + +"dotenv@^8.1.0": + "integrity" "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" + "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" + "version" "8.6.0" + +"duplexer@^0.1.1", "duplexer@^0.1.2": + "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + "version" "0.1.2" + +"duplexer2@~0.1.4": + "integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=" + "resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "readable-stream" "^2.0.2" + +"duplexer3@^0.1.4": + "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" + "version" "0.1.4" + +"duplexify@^3.4.2", "duplexify@^3.6.0": + "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" + "version" "3.7.1" + dependencies: + "end-of-stream" "^1.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + "stream-shift" "^1.0.0" + +"duplexify@^4.0.0": + "integrity" "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "end-of-stream" "^1.4.1" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" + "stream-shift" "^1.0.0" + +"each-props@^1.3.2": + "integrity" "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==" + "resolved" "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-plain-object" "^2.0.1" + "object.defaults" "^1.1.0" + +"ecc-jsbn@~0.1.1": + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + +"ecdsa-sig-formatter@^1.0.11", "ecdsa-sig-formatter@1.0.11": + "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" + "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "safe-buffer" "^5.0.1" + +"ee-first@1.1.1": + "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + +"electron-to-chromium@^1.4.251": + "integrity" "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" + "version" "1.4.284" + +"elegant-spinner@^1.0.1": + "integrity" "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + "resolved" "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" + "version" "1.0.1" + +"elliptic@^6.5.3": + "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" + "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + "version" "6.5.4" + dependencies: + "bn.js" "^4.11.9" + "brorand" "^1.1.0" + "hash.js" "^1.0.0" + "hmac-drbg" "^1.0.1" + "inherits" "^2.0.4" + "minimalistic-assert" "^1.0.1" + "minimalistic-crypto-utils" "^1.0.1" + +"emoji-regex@^7.0.1": + "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + "version" "7.0.3" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"emojis-list@^3.0.0": + "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + "version" "3.0.0" + +"enabled@2.0.x": + "integrity" "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + "resolved" "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" + "version" "2.0.0" + +"encodeurl@~1.0.2": + "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + +"encoding@^0.1.0", "encoding@^0.1.12": + "integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==" + "resolved" "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + "version" "0.1.13" + dependencies: + "iconv-lite" "^0.6.2" + +"end-of-stream@^1.0.0", "end-of-stream@^1.1.0", "end-of-stream@^1.4.1": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"engine.io-parser@~5.0.3": + "integrity" "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==" + "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz" + "version" "5.0.3" dependencies: "@socket.io/base64-arraybuffer" "~1.0.2" -engine.io@~6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" - integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== +"engine.io@~6.2.0": + "integrity" "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==" + "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz" + "version" "6.2.0" dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" "@types/node" ">=10.0.0" - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - cors "~2.8.5" - debug "~4.3.1" - engine.io-parser "~5.0.3" - ws "~8.2.3" - -enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.8.0: - version "5.8.3" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.0, enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -envinfo@^7.7.4: - version "7.8.1" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.18.0-next.2, es-abstract@^1.18.5: - version "1.18.6" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" - integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-string "^1.0.7" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.0" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" - integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - regexp.prototype.flags "^1.4.1" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-module-lexer@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" - integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.53" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es5-ext@^0.10.61: - version "0.10.61" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" - integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-error@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -es6-weak-map@^2.0.1, es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" + "accepts" "~1.3.4" + "base64id" "2.0.0" + "cookie" "~0.4.1" + "cors" "~2.8.5" + "debug" "~4.3.1" + "engine.io-parser" "~5.0.3" + "ws" "~8.2.3" + +"enhanced-resolve@^4.0.0", "enhanced-resolve@^4.5.0": + "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "graceful-fs" "^4.1.2" + "memory-fs" "^0.5.0" + "tapable" "^1.0.0" + +"enhanced-resolve@^5.8.0": + "integrity" "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz" + "version" "5.8.3" + dependencies: + "graceful-fs" "^4.2.4" + "tapable" "^2.2.0" + +"enquirer@^2.3.0", "enquirer@^2.3.5": + "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" + "version" "2.3.6" + dependencies: + "ansi-colors" "^4.1.1" + +"ent@~2.2.0": + "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz" + "version" "2.2.0" + +"entities@~2.1.0": + "integrity" "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + "resolved" "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz" + "version" "2.1.0" + +"env-paths@^2.2.0": + "integrity" "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + "resolved" "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + "version" "2.2.1" + +"envinfo@^7.7.4": + "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + "version" "7.8.1" + +"err-code@^2.0.2": + "integrity" "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "resolved" "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" + "version" "2.0.3" + +"errno@^0.1.3", "errno@~0.1.7": + "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" + "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + "version" "0.1.8" + dependencies: + "prr" "~1.0.1" + +"error-ex@^1.2.0", "error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es-abstract@^1.18.0-next.2", "es-abstract@^1.18.5": + "integrity" "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz" + "version" "1.18.6" + dependencies: + "call-bind" "^1.0.2" + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "get-intrinsic" "^1.1.1" + "get-symbol-description" "^1.0.0" + "has" "^1.0.3" + "has-symbols" "^1.0.2" + "internal-slot" "^1.0.3" + "is-callable" "^1.2.4" + "is-negative-zero" "^2.0.1" + "is-regex" "^1.1.4" + "is-string" "^1.0.7" + "object-inspect" "^1.11.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.2" + "string.prototype.trimend" "^1.0.4" + "string.prototype.trimstart" "^1.0.4" + "unbox-primitive" "^1.0.1" + +"es-abstract@^1.19.0", "es-abstract@^1.19.1", "es-abstract@^1.19.2", "es-abstract@^1.19.5": + "integrity" "sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "call-bind" "^1.0.2" + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "function.prototype.name" "^1.1.5" + "get-intrinsic" "^1.1.1" + "get-symbol-description" "^1.0.0" + "has" "^1.0.3" + "has-property-descriptors" "^1.0.0" + "has-symbols" "^1.0.3" + "internal-slot" "^1.0.3" + "is-callable" "^1.2.4" + "is-negative-zero" "^2.0.2" + "is-regex" "^1.1.4" + "is-shared-array-buffer" "^1.0.2" + "is-string" "^1.0.7" + "is-weakref" "^1.0.2" + "object-inspect" "^1.12.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.2" + "regexp.prototype.flags" "^1.4.1" + "string.prototype.trimend" "^1.0.5" + "string.prototype.trimstart" "^1.0.5" + "unbox-primitive" "^1.0.2" + +"es-module-lexer@^0.7.1": + "integrity" "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz" + "version" "0.7.1" + +"es-shim-unscopables@^1.0.0": + "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" + "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has" "^1.0.3" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"es5-ext@^0.10.35", "es5-ext@^0.10.46", "es5-ext@^0.10.50", "es5-ext@^0.10.53", "es5-ext@~0.10.14", "es5-ext@~0.10.2", "es5-ext@~0.10.46": + "integrity" "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==" + "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" + "version" "0.10.53" + dependencies: + "es6-iterator" "~2.0.3" + "es6-symbol" "~3.1.3" + "next-tick" "~1.0.0" + +"es5-ext@^0.10.61": + "integrity" "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==" + "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz" + "version" "0.10.61" + dependencies: + "es6-iterator" "^2.0.3" + "es6-symbol" "^3.1.3" + "next-tick" "^1.1.0" + +"es6-error@^4.0.1": + "integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + "resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + "version" "4.1.1" + +"es6-iterator@^2.0.1", "es6-iterator@^2.0.3", "es6-iterator@~2.0.3": + "integrity" "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=" + "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "d" "1" + "es5-ext" "^0.10.35" + "es6-symbol" "^3.1.1" + +"es6-object-assign@^1.1.0": + "integrity" "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + "resolved" "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz" + "version" "1.1.0" + +"es6-promise@^4.0.3": + "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + "version" "4.2.8" + +"es6-promisify@^5.0.0": + "integrity" "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=" + "resolved" "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "es6-promise" "^4.0.3" + +"es6-symbol@^3.1.1", "es6-symbol@^3.1.3", "es6-symbol@~3.1.3": + "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==" + "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "d" "^1.0.1" + "ext" "^1.1.2" + +"es6-weak-map@^2.0.1", "es6-weak-map@^2.0.3": + "integrity" "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==" + "resolved" "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "d" "1" + "es5-ext" "^0.10.46" + "es6-iterator" "^2.0.3" + "es6-symbol" "^3.1.1" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-goat@^2.0.0": + "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + "version" "2.1.1" + +"escape-html@~1.0.3": + "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + +"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.3", "escape-string-regexp@^1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"escape-string-regexp@4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"escodegen@^1.13.0", "escodegen@^1.8.1": + "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + "version" "1.14.3" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^4.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" optionalDependencies: - source-map "~0.6.1" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-import@2.26.0: - version "2.26.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-unused-imports@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" - integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== - dependencies: - eslint-rule-composer "^0.3.0" - -eslint-rule-composer@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" - integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@7.32.0: - version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + "source-map" "~0.6.1" + +"eslint-import-resolver-node@^0.3.6": + "integrity" "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==" + "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "debug" "^3.2.7" + "resolve" "^1.20.0" + +"eslint-module-utils@^2.7.3": + "integrity" "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==" + "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz" + "version" "2.7.3" + dependencies: + "debug" "^3.2.7" + "find-up" "^2.1.0" + +"eslint-plugin-import@2.26.0": + "integrity" "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==" + "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" + "version" "2.26.0" + dependencies: + "array-includes" "^3.1.4" + "array.prototype.flat" "^1.2.5" + "debug" "^2.6.9" + "doctrine" "^2.1.0" + "eslint-import-resolver-node" "^0.3.6" + "eslint-module-utils" "^2.7.3" + "has" "^1.0.3" + "is-core-module" "^2.8.1" + "is-glob" "^4.0.3" + "minimatch" "^3.1.2" + "object.values" "^1.1.5" + "resolve" "^1.22.0" + "tsconfig-paths" "^3.14.1" + +"eslint-plugin-unused-imports@2.0.0": + "integrity" "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==" + "resolved" "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "eslint-rule-composer" "^0.3.0" + +"eslint-rule-composer@^0.3.0": + "integrity" "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==" + "resolved" "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz" + "version" "0.3.0" + +"eslint-scope@^4.0.3": + "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "esrecurse" "^4.1.0" + "estraverse" "^4.1.1" + +"eslint-scope@^5.1.1", "eslint-scope@5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" + +"eslint-utils@^2.1.0": + "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "eslint-visitor-keys" "^1.1.0" + +"eslint-utils@^3.0.0": + "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "eslint-visitor-keys" "^2.0.0" + +"eslint-visitor-keys@^1.1.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint-visitor-keys@^1.3.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint-visitor-keys@^2.0.0": + "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + "version" "2.1.0" + +"eslint-visitor-keys@^3.3.0": + "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + "version" "3.3.0" + +"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^8.0.0", "eslint@>=5", "eslint@7.32.0": + "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + "version" "7.32.0" dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.3" "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= - dependencies: - d "1" - es5-ext "~0.10.14" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@^4.0.0, eventemitter3@^4.0.4: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/events-listener/-/events-listener-1.1.0.tgz#dd49b4628480eba58fde31b870ee346b3990b349" - integrity sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g== - -events@^3.0.0, events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -eventtargeter@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/eventtargeter/-/eventtargeter-0.8.0.tgz#ca23a8c465bca44f7e5aa00efe365a699bb44915" - integrity sha512-ldFAonAo7vyXeBDcTTOoxTtdibw1JvADllLkldxxdqb4+8LPoibU+e9XGQkD98l5wavImIab1jNwuzMtnR2MAg== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" - integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== - dependencies: - merge "^1.2.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exegesis-express@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/exegesis-express/-/exegesis-express-4.0.0.tgz#f5f8486f6f0d81739e8e27ce75ce0f61ba3f3578" - integrity sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw== - dependencies: - exegesis "^4.1.0" - -exegesis@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/exegesis/-/exegesis-4.1.0.tgz#e32c55fe42e6e4efacaebd084b3c7a8714d04442" - integrity sha512-iqc55n+hmv8d1KYNMjq7bCcp4u74oRY6MBcj6Vsux7Wd4mRvlgahKqrBTyLIWwscNjEF3qvPmeJ0RPTj8ORMNg== + "ajv" "^6.10.0" + "chalk" "^4.0.0" + "cross-spawn" "^7.0.2" + "debug" "^4.0.1" + "doctrine" "^3.0.0" + "enquirer" "^2.3.5" + "escape-string-regexp" "^4.0.0" + "eslint-scope" "^5.1.1" + "eslint-utils" "^2.1.0" + "eslint-visitor-keys" "^2.0.0" + "espree" "^7.3.1" + "esquery" "^1.4.0" + "esutils" "^2.0.2" + "fast-deep-equal" "^3.1.3" + "file-entry-cache" "^6.0.1" + "functional-red-black-tree" "^1.0.1" + "glob-parent" "^5.1.2" + "globals" "^13.6.0" + "ignore" "^4.0.6" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "is-glob" "^4.0.0" + "js-yaml" "^3.13.1" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.4.1" + "lodash.merge" "^4.6.2" + "minimatch" "^3.0.4" + "natural-compare" "^1.4.0" + "optionator" "^0.9.1" + "progress" "^2.0.0" + "regexpp" "^3.1.0" + "semver" "^7.2.1" + "strip-ansi" "^6.0.0" + "strip-json-comments" "^3.1.0" + "table" "^6.0.9" + "text-table" "^0.2.0" + "v8-compile-cache" "^2.0.3" + +"espree@^7.3.0", "espree@^7.3.1": + "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==" + "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + "version" "7.3.1" + dependencies: + "acorn" "^7.4.0" + "acorn-jsx" "^5.3.1" + "eslint-visitor-keys" "^1.3.0" + +"espree@^9.0.0": + "integrity" "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==" + "resolved" "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" + "version" "9.4.0" + dependencies: + "acorn" "^8.8.0" + "acorn-jsx" "^5.3.2" + "eslint-visitor-keys" "^3.3.0" + +"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esquery@^1.4.0": + "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" + "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "estraverse" "^5.1.0" + +"esrecurse@^4.1.0", "esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1", "estraverse@^4.2.0": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.1.0": + "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + "version" "5.2.0" + +"estraverse@^5.2.0": + "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + "version" "5.2.0" + +"estree-walker@^0.6.1": + "integrity" "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" + "version" "0.6.1" + +"estree-walker@^1.0.1": + "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" + "version" "1.0.1" + +"estree-walker@^2.0.1": + "integrity" "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + "version" "2.0.2" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"etag@~1.8.1": + "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + +"event-emitter@^0.3.5": + "integrity" "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=" + "resolved" "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + "version" "0.3.5" + dependencies: + "d" "1" + "es5-ext" "~0.10.14" + +"event-target-shim@^5.0.0": + "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + "version" "5.0.1" + +"eventemitter3@^4.0.0", "eventemitter3@^4.0.4": + "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + "version" "4.0.7" + +"events-listener@^1.1.0": + "integrity" "sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g==" + "resolved" "https://registry.npmjs.org/events-listener/-/events-listener-1.1.0.tgz" + "version" "1.1.0" + +"events@^3.0.0", "events@^3.2.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"eventtargeter@0.8.0": + "integrity" "sha512-ldFAonAo7vyXeBDcTTOoxTtdibw1JvADllLkldxxdqb4+8LPoibU+e9XGQkD98l5wavImIab1jNwuzMtnR2MAg==" + "resolved" "https://registry.npmjs.org/eventtargeter/-/eventtargeter-0.8.0.tgz" + "version" "0.8.0" + +"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": + "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" + "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "md5.js" "^1.3.4" + "safe-buffer" "^5.1.1" + +"exec-sh@^0.2.0": + "integrity" "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==" + "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "merge" "^1.2.0" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "cross-spawn" "^7.0.3" + "get-stream" "^6.0.0" + "human-signals" "^2.1.0" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.1" + "onetime" "^5.1.2" + "signal-exit" "^3.0.3" + "strip-final-newline" "^2.0.0" + +"exegesis-express@^4.0.0": + "integrity" "sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw==" + "resolved" "https://registry.npmjs.org/exegesis-express/-/exegesis-express-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "exegesis" "^4.1.0" + +"exegesis@^4.1.0": + "integrity" "sha512-iqc55n+hmv8d1KYNMjq7bCcp4u74oRY6MBcj6Vsux7Wd4mRvlgahKqrBTyLIWwscNjEF3qvPmeJ0RPTj8ORMNg==" + "resolved" "https://registry.npmjs.org/exegesis/-/exegesis-4.1.0.tgz" + "version" "4.1.0" dependencies: "@apidevtools/json-schema-ref-parser" "^9.0.3" - ajv "^8.3.0" - ajv-formats "^2.1.0" - body-parser "^1.18.3" - content-type "^1.0.4" - deep-freeze "0.0.1" - events-listener "^1.1.0" - glob "^7.1.3" - json-ptr "^3.0.1" - json-schema-traverse "^1.0.0" - lodash "^4.17.11" - openapi3-ts "^2.0.1" - promise-breaker "^5.0.0" - pump "^3.0.0" - qs "^6.6.0" - raw-body "^2.3.3" - semver "^7.0.0" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -expect@^27.2.1: - version "27.2.1" - resolved "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz#5f882b308716618613f0106a488b46c303908157" - integrity sha512-ekOA2mBtT2phxcoPVHCXIzbJxCvRXhx2fr7m28IgGdZxUOh8UvxvoRz1FcPlfgZMpE92biHB6woIcAKXqR28hA== + "ajv" "^8.3.0" + "ajv-formats" "^2.1.0" + "body-parser" "^1.18.3" + "content-type" "^1.0.4" + "deep-freeze" "0.0.1" + "events-listener" "^1.1.0" + "glob" "^7.1.3" + "json-ptr" "^3.0.1" + "json-schema-traverse" "^1.0.0" + "lodash" "^4.17.11" + "openapi3-ts" "^2.0.1" + "promise-breaker" "^5.0.0" + "pump" "^3.0.0" + "qs" "^6.6.0" + "raw-body" "^2.3.3" + "semver" "^7.0.0" + +"exit-on-epipe@~1.0.1": + "integrity" "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + "resolved" "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz" + "version" "1.0.1" + +"exit@^0.1.2": + "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expand-brackets@^2.1.4": + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "debug" "^2.3.3" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "posix-character-classes" "^0.1.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"expand-tilde@^2.0.0", "expand-tilde@^2.0.2": + "integrity" "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=" + "resolved" "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "homedir-polyfill" "^1.0.1" + +"expect@^27.2.1": + "integrity" "sha512-ekOA2mBtT2phxcoPVHCXIzbJxCvRXhx2fr7m28IgGdZxUOh8UvxvoRz1FcPlfgZMpE92biHB6woIcAKXqR28hA==" + "resolved" "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz" + "version" "27.2.1" dependencies: "@jest/types" "^27.1.1" - ansi-styles "^5.0.0" - jest-get-type "^27.0.6" - jest-matcher-utils "^27.2.0" - jest-message-util "^27.2.0" - jest-regex-util "^27.0.6" - -express@4.18.1: - version "4.18.1" - resolved "https://registry.npmjs.org/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.0" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.10.3" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -express@^4.16.4: - version "4.17.1" - resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== - dependencies: - type "^2.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extendable-error@^0.1.5: - version "0.1.7" - resolved "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" - integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== - -external-editor@^3.0.3, external-editor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-zip@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" + "ansi-styles" "^5.0.0" + "jest-get-type" "^27.0.6" + "jest-matcher-utils" "^27.2.0" + "jest-message-util" "^27.2.0" + "jest-regex-util" "^27.0.6" + +"express@^4.16.4", "express@4.18.1": + "integrity" "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==" + "resolved" "https://registry.npmjs.org/express/-/express-4.18.1.tgz" + "version" "4.18.1" + dependencies: + "accepts" "~1.3.8" + "array-flatten" "1.1.1" + "body-parser" "1.20.0" + "content-disposition" "0.5.4" + "content-type" "~1.0.4" + "cookie" "0.5.0" + "cookie-signature" "1.0.6" + "debug" "2.6.9" + "depd" "2.0.0" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "finalhandler" "1.2.0" + "fresh" "0.5.2" + "http-errors" "2.0.0" + "merge-descriptors" "1.0.1" + "methods" "~1.1.2" + "on-finished" "2.4.1" + "parseurl" "~1.3.3" + "path-to-regexp" "0.1.7" + "proxy-addr" "~2.0.7" + "qs" "6.10.3" + "range-parser" "~1.2.1" + "safe-buffer" "5.2.1" + "send" "0.18.0" + "serve-static" "1.15.0" + "setprototypeof" "1.2.0" + "statuses" "2.0.1" + "type-is" "~1.6.18" + "utils-merge" "1.0.1" + "vary" "~1.1.2" + +"ext@^1.1.2": + "integrity" "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==" + "resolved" "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz" + "version" "1.6.0" + dependencies: + "type" "^2.5.0" + +"extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend-shallow@^3.0.0": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend@^3.0.0", "extend@^3.0.2", "extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"extendable-error@^0.1.5": + "integrity" "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==" + "resolved" "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz" + "version" "0.1.7" + +"external-editor@^3.0.3", "external-editor@^3.1.0": + "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" + "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "chardet" "^0.7.0" + "iconv-lite" "^0.4.24" + "tmp" "^0.0.33" + +"extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "array-unique" "^0.3.2" + "define-property" "^1.0.0" + "expand-brackets" "^2.1.4" + "extend-shallow" "^2.0.1" + "fragment-cache" "^0.2.1" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"extract-zip@^2.0.1": + "integrity" "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==" + "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "debug" "^4.1.1" + "get-stream" "^5.1.0" + "yauzl" "^2.10.0" optionalDependencies: "@types/yauzl" "^2.9.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fancy-log@^1.3.2, fancy-log@^1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.0.3, fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +"extsprintf@^1.2.0": + "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" + "version" "1.4.0" + +"extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fancy-log@^1.3.2", "fancy-log@^1.3.3": + "integrity" "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==" + "resolved" "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "ansi-gray" "^0.1.1" + "color-support" "^1.1.3" + "parse-node-version" "^1.0.0" + "time-stamp" "^1.0.0" + +"fast-deep-equal@^1.0.0": + "integrity" "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz" + "version" "1.1.0" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-glob@^3.0.3", "fast-glob@^3.1.1": + "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" + "version" "3.2.7" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +"fast-glob@^3.2.9": + "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + "version" "3.2.12" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +"fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" -fast-levenshtein@^1.0.0: - version "1.1.4" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" - integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= +"fast-levenshtein@^1.0.0": + "integrity" "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" + "version" "1.1.4" -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": + "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" -fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" - integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== - -fast-url-parser@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" - integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= - dependencies: - punycode "^1.3.2" - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -faye-websocket@0.11.4: - version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fclone@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" - integrity sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -fecha@^4.2.0: - version "4.2.1" - resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" - integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q== - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -file-uri-to-path@2: - version "2.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" - integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== - -filesize@^6.1.0: - version "6.4.0" - resolved "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz#914f50471dd66fdca3cefe628bd0cde4ef769bcd" - integrity sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= - -finalhandler@1.1.2, finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.2.0, find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-free-port@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/find-free-port/-/find-free-port-2.0.0.tgz#4b22e5f6579eb1a38c41ac6bcb3efed1b6da9b1b" - integrity sha1-SyLl9leesaOMQaxryz7+0bbamxs= - -find-package-json@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz#4057d1b943f82d8445fe52dc9cf456f6b8b58083" - integrity sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw== - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root2@1.2.16: - version "1.2.16" - resolved "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" - integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== - dependencies: - micromatch "^4.0.2" - pkg-dir "^4.2.0" - -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -fined@^1.0.1: - version "1.2.0" - resolved "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" - integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== - dependencies: - expand-tilde "^2.0.2" - is-plain-object "^2.0.3" - object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" - -firebase-frameworks@^0.4.2: - version "0.4.2" - resolved "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.4.2.tgz#f112f8afeec35b5532d8b9bbb2886f9cff68f61b" - integrity sha512-a3xNE3wPh8JWq2WOgWlSypVS9O/y/3/3Im9EV7bNBF44wFV2oOAyFdVgDk6it81+lBRv7ci8PttgQZohtsFeVA== - dependencies: - fs-extra "^10.1.0" - jsonc-parser "^3.0.0" - semver "^7.3.7" - tslib "^2.3.1" - -firebase-tools@11.2.2: - version "11.2.2" - resolved "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.2.2.tgz#21984429cb255d80fa8035e8b0c14701763579ee" - integrity sha512-s2jot8WDmw4BpReFUx5IUYtdNCykjkK/GtFGWhYoeV6Hc9Xtas53L4ixHfZRPhM68y/492oAsN3jNIDpXAjfTw== +"fast-text-encoding@^1.0.0", "fast-text-encoding@^1.0.3": + "integrity" "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" + "resolved" "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz" + "version" "1.0.3" + +"fast-url-parser@^1.1.3": + "integrity" "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=" + "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "punycode" "^1.3.2" + +"fastq@^1.6.0": + "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "reusify" "^1.0.4" + +"faye-websocket@0.11.4": + "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + "version" "0.11.4" + dependencies: + "websocket-driver" ">=0.5.1" + +"fb-watchman@^2.0.0": + "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "bser" "2.1.1" + +"fclone@^1.0.11": + "integrity" "sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==" + "resolved" "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz" + "version" "1.0.11" + +"fd-slicer@~1.1.0": + "integrity" "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=" + "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "pend" "~1.2.0" + +"fecha@^4.2.0": + "integrity" "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" + "resolved" "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz" + "version" "4.2.1" + +"figgy-pudding@^3.5.1": + "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" + "version" "3.5.2" + +"figures@^1.7.0": + "integrity" "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" + "resolved" "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "escape-string-regexp" "^1.0.5" + "object-assign" "^4.1.0" + +"figures@^2.0.0": + "integrity" "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=" + "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"figures@^3.0.0": + "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"file-entry-cache@^6.0.1": + "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "flat-cache" "^3.0.4" + +"file-uri-to-path@1.0.0": + "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + "version" "1.0.0" + +"file-uri-to-path@2": + "integrity" "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==" + "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz" + "version" "2.0.0" + +"filesize@^6.1.0": + "integrity" "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==" + "resolved" "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz" + "version" "6.4.0" + +"fill-range@^4.0.0": + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"filter-obj@^1.1.0": + "integrity" "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + "resolved" "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + "version" "1.1.0" + +"finalhandler@1.1.2": + "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "statuses" "~1.5.0" + "unpipe" "~1.0.0" + +"finalhandler@1.2.0": + "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "2.4.1" + "parseurl" "~1.3.3" + "statuses" "2.0.1" + "unpipe" "~1.0.0" + +"find-cache-dir@^2.0.0": + "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^2.0.0" + "pkg-dir" "^3.0.0" + +"find-cache-dir@^2.1.0": + "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^2.0.0" + "pkg-dir" "^3.0.0" + +"find-cache-dir@^3.2.0", "find-cache-dir@^3.3.1", "find-cache-dir@^3.3.2": + "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^3.0.2" + "pkg-dir" "^4.1.0" + +"find-free-port@2.0.0": + "integrity" "sha1-SyLl9leesaOMQaxryz7+0bbamxs=" + "resolved" "https://registry.npmjs.org/find-free-port/-/find-free-port-2.0.0.tgz" + "version" "2.0.0" + +"find-package-json@^1.2.0": + "integrity" "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==" + "resolved" "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz" + "version" "1.2.0" + +"find-up@^1.0.0": + "integrity" "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "path-exists" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"find-up@^2.0.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "locate-path" "^2.0.0" + +"find-up@^2.1.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "locate-path" "^2.0.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"find-up@^4.0.0", "find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"find-up@5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"find-yarn-workspace-root2@1.2.16": + "integrity" "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==" + "resolved" "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz" + "version" "1.2.16" + dependencies: + "micromatch" "^4.0.2" + "pkg-dir" "^4.2.0" + +"findup-sync@^2.0.0": + "integrity" "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=" + "resolved" "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "detect-file" "^1.0.0" + "is-glob" "^3.1.0" + "micromatch" "^3.0.4" + "resolve-dir" "^1.0.1" + +"findup-sync@^3.0.0": + "integrity" "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==" + "resolved" "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "detect-file" "^1.0.0" + "is-glob" "^4.0.0" + "micromatch" "^3.0.4" + "resolve-dir" "^1.0.1" + +"fined@^1.0.1": + "integrity" "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==" + "resolved" "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "expand-tilde" "^2.0.2" + "is-plain-object" "^2.0.3" + "object.defaults" "^1.1.0" + "object.pick" "^1.2.0" + "parse-filepath" "^1.0.1" + +"firebase-compat-interop-test@file:/Users/milamamat/firebase-js-sdk/integration/compat-interop": + "resolved" "file:integration/compat-interop" + "version" "0.1.0" + dependencies: + "@firebase/analytics" "0.8.4" + "@firebase/analytics-compat" "0.1.17" + "@firebase/app" "0.8.4" + "@firebase/app-compat" "0.1.39" + "@firebase/auth" "0.20.11" + "@firebase/auth-compat" "0.2.24" + "@firebase/functions" "0.8.8" + "@firebase/functions-compat" "0.2.8" + "@firebase/messaging" "0.11.0" + "@firebase/messaging-compat" "0.1.21" + "@firebase/performance" "0.5.17" + "@firebase/performance-compat" "0.1.17" + "@firebase/remote-config" "0.3.15" + "@firebase/remote-config-compat" "0.1.16" + +"firebase-compat-typings-test@file:/Users/milamamat/firebase-js-sdk/integration/compat-typings": + "resolved" "file:integration/compat-typings" + "version" "0.1.0" + dependencies: + "firebase" "*" + +"firebase-firestore-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/firestore": + "resolved" "file:integration/firestore" + "version" "1.0.1" + dependencies: + "@firebase/app" "0.8.4" + "@firebase/firestore" "3.7.3" + +"firebase-frameworks@^0.4.2": + "integrity" "sha512-a3xNE3wPh8JWq2WOgWlSypVS9O/y/3/3Im9EV7bNBF44wFV2oOAyFdVgDk6it81+lBRv7ci8PttgQZohtsFeVA==" + "resolved" "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.4.2.tgz" + "version" "0.4.2" + dependencies: + "fs-extra" "^10.1.0" + "jsonc-parser" "^3.0.0" + "semver" "^7.3.7" + "tslib" "^2.3.1" + +"firebase-messaging-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/messaging": + "resolved" "file:integration/messaging" + "version" "0.2.1" + +"firebase-namespace-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/firebase": + "resolved" "file:integration/firebase" + "version" "0.2.1" + +"firebase-repo-scripts-prune-dts@file:/Users/milamamat/firebase-js-sdk/repo-scripts/prune-dts": + "resolved" "file:repo-scripts/prune-dts" + "version" "0.1.0" + dependencies: + "eslint" "7.32.0" + "eslint-plugin-unused-imports" "2.0.0" + "prettier" "2.7.1" + +"firebase-size-analysis@file:/Users/milamamat/firebase-js-sdk/repo-scripts/size-analysis": + "resolved" "file:repo-scripts/size-analysis" + "version" "0.1.0" + dependencies: + "@firebase/util" "1.7.3" + "@rollup/plugin-commonjs" "21.1.0" + "@rollup/plugin-json" "4.1.0" + "@rollup/plugin-node-resolve" "13.3.0" + "@rollup/plugin-virtual" "2.1.0" + "@types/webpack" "5.28.0" + "child-process-promise" "2.2.1" + "glob" "7.2.3" + "gzip-size" "6.0.0" + "memfs" "3.4.7" + "rollup" "2.79.1" + "rollup-plugin-replace" "2.2.0" + "rollup-plugin-typescript2" "0.31.2" + "terser" "5.15.1" + "tmp" "0.2.1" + "typescript" "4.2.2" + "webpack" "4.46.0" + "webpack-virtual-modules" "0.4.5" + "yargs" "17.6.0" + +"firebase-tools@11.2.2": + "integrity" "sha512-s2jot8WDmw4BpReFUx5IUYtdNCykjkK/GtFGWhYoeV6Hc9Xtas53L4ixHfZRPhM68y/492oAsN3jNIDpXAjfTw==" + "resolved" "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.2.2.tgz" + "version" "11.2.2" dependencies: "@google-cloud/pubsub" "^3.0.1" - abort-controller "^3.0.0" - ajv "^6.12.6" - archiver "^5.0.0" - body-parser "^1.19.0" - chokidar "^3.0.2" - cjson "^0.3.1" - cli-color "^2.0.2" - cli-table "0.3.11" - commander "^4.0.1" - configstore "^5.0.1" - cors "^2.8.5" - cross-env "^5.1.3" - cross-spawn "^7.0.1" - csv-parse "^5.0.4" - exegesis "^4.1.0" - exegesis-express "^4.0.0" - express "^4.16.4" - filesize "^6.1.0" - firebase-frameworks "^0.4.2" - form-data "^4.0.0" - fs-extra "^10.1.0" - glob "^7.1.2" - google-auth-library "^7.11.0" - inquirer "^8.2.0" - js-yaml "^3.13.1" - jsonwebtoken "^8.5.1" - leven "^3.1.0" - libsodium-wrappers "^0.7.10" - lodash "^4.17.21" - marked "^4.0.14" - marked-terminal "^5.1.1" - mime "^2.5.2" - minimatch "^3.0.4" - morgan "^1.10.0" - node-fetch "^2.6.7" - open "^6.3.0" - ora "^5.4.1" - portfinder "^1.0.23" - progress "^2.0.3" - proxy-agent "^5.0.0" - request "^2.87.0" - retry "^0.13.1" - rimraf "^3.0.0" - semver "^5.7.1" - stream-chain "^2.2.4" - stream-json "^1.7.3" - superstatic "^8.0.0" - tar "^6.1.11" - tcp-port-used "^1.0.2" - tmp "^0.2.1" - triple-beam "^1.3.0" - universal-analytics "^0.5.3" - unzipper "^0.10.10" - update-notifier "^5.1.0" - uuid "^8.3.2" - winston "^3.0.0" - winston-transport "^4.4.0" - ws "^7.2.3" - -flagged-respawn@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" - integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.1.0, flatted@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== - -flatted@^3.2.5: - version "3.2.5" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: - version "1.1.1" - resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -fn.name@1.x.x: - version "1.1.0" - resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" - integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== - -follow-redirects@^1.0.0: - version "1.14.4" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== - -follow-redirects@^1.14.4: - version "1.14.8" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -foreground-child@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" - integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^3.0.2" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fromentries@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" - integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" - integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^7.0.1, fs-extra@~7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0, fs-minipass@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -ftp@^0.3.10: - version "0.3.10" - resolved "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" - integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= - dependencies: - readable-stream "1.1.x" - xregexp "2.0.0" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaxios@^4.0.0: - version "4.3.2" - resolved "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz#845827c2dc25a0213c8ab4155c7a28910f5be83f" - integrity sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q== - dependencies: - abort-controller "^3.0.0" - extend "^3.0.2" - https-proxy-agent "^5.0.0" - is-stream "^2.0.0" - node-fetch "^2.6.1" - -gaxios@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz#50fc76a2d04bc1700ed8c3ff1561e52255dfc6e0" - integrity sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw== - dependencies: - extend "^3.0.2" - https-proxy-agent "^5.0.0" - is-stream "^2.0.0" - node-fetch "^2.6.7" - -gcp-metadata@^4.2.0: - version "4.3.1" - resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz#fb205fe6a90fef2fd9c85e6ba06e5559ee1eefa9" - integrity sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A== - dependencies: - gaxios "^4.0.0" - json-bigint "^1.0.0" - -gcp-metadata@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz#a00f999f60a4461401e7c515f8a3267cfb401ee7" - integrity sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA== - dependencies: - gaxios "^5.0.0" - json-bigint "^1.0.0" - -geckodriver@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/geckodriver/-/geckodriver-2.0.4.tgz#2f644ede43ce7bea10336d57838179da0f7374d9" - integrity sha512-3Fu75v6Ov8h5Vt25+djJU56MJA2gRctgjhvG5xGzLFTQjltPz7nojQdBHbmgWznUt3CHl8VaiDn8MaepY7B0dA== - dependencies: - adm-zip "0.5.5" - bluebird "3.7.2" - got "11.8.2" - https-proxy-agent "5.0.0" - tar "6.1.9" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + "abort-controller" "^3.0.0" + "ajv" "^6.12.6" + "archiver" "^5.0.0" + "body-parser" "^1.19.0" + "chokidar" "^3.0.2" + "cjson" "^0.3.1" + "cli-color" "^2.0.2" + "cli-table" "0.3.11" + "commander" "^4.0.1" + "configstore" "^5.0.1" + "cors" "^2.8.5" + "cross-env" "^5.1.3" + "cross-spawn" "^7.0.1" + "csv-parse" "^5.0.4" + "exegesis" "^4.1.0" + "exegesis-express" "^4.0.0" + "express" "^4.16.4" + "filesize" "^6.1.0" + "firebase-frameworks" "^0.4.2" + "form-data" "^4.0.0" + "fs-extra" "^10.1.0" + "glob" "^7.1.2" + "google-auth-library" "^7.11.0" + "inquirer" "^8.2.0" + "js-yaml" "^3.13.1" + "jsonwebtoken" "^8.5.1" + "leven" "^3.1.0" + "libsodium-wrappers" "^0.7.10" + "lodash" "^4.17.21" + "marked" "^4.0.14" + "marked-terminal" "^5.1.1" + "mime" "^2.5.2" + "minimatch" "^3.0.4" + "morgan" "^1.10.0" + "node-fetch" "^2.6.7" + "open" "^6.3.0" + "ora" "^5.4.1" + "portfinder" "^1.0.23" + "progress" "^2.0.3" + "proxy-agent" "^5.0.0" + "request" "^2.87.0" + "retry" "^0.13.1" + "rimraf" "^3.0.0" + "semver" "^5.7.1" + "stream-chain" "^2.2.4" + "stream-json" "^1.7.3" + "superstatic" "^8.0.0" + "tar" "^6.1.11" + "tcp-port-used" "^1.0.2" + "tmp" "^0.2.1" + "triple-beam" "^1.3.0" + "universal-analytics" "^0.5.3" + "unzipper" "^0.10.10" + "update-notifier" "^5.1.0" + "uuid" "^8.3.2" + "winston" "^3.0.0" + "winston-transport" "^4.4.0" + "ws" "^7.2.3" + +"firebase@*", "firebase@^9.0.0", "firebase@9.14.0", "firebase@file:/Users/milamamat/firebase-js-sdk/packages/firebase": + "resolved" "file:packages/firebase" + "version" "9.14.0" + dependencies: + "@firebase/analytics" "0.8.4" + "@firebase/analytics-compat" "0.1.17" + "@firebase/app" "0.8.4" + "@firebase/app-check" "0.5.17" + "@firebase/app-check-compat" "0.2.17" + "@firebase/app-compat" "0.1.39" + "@firebase/app-types" "0.8.1" + "@firebase/auth" "0.20.11" + "@firebase/auth-compat" "0.2.24" + "@firebase/database" "0.13.10" + "@firebase/database-compat" "0.2.10" + "@firebase/firestore" "3.7.3" + "@firebase/firestore-compat" "0.2.3" + "@firebase/functions" "0.8.8" + "@firebase/functions-compat" "0.2.8" + "@firebase/installations" "0.5.16" + "@firebase/installations-compat" "0.1.16" + "@firebase/messaging" "0.11.0" + "@firebase/messaging-compat" "0.1.21" + "@firebase/performance" "0.5.17" + "@firebase/performance-compat" "0.1.17" + "@firebase/remote-config" "0.3.15" + "@firebase/remote-config-compat" "0.1.16" + "@firebase/storage" "0.9.14" + "@firebase/storage-compat" "0.1.22" + "@firebase/util" "1.7.3" + +"flagged-respawn@^1.0.0": + "integrity" "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" + "resolved" "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz" + "version" "1.0.1" + +"flat-cache@^3.0.4": + "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "flatted" "^3.1.0" + "rimraf" "^3.0.2" + +"flat@^5.0.2": + "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + "version" "5.0.2" + +"flatted@^3.1.0": + "integrity" "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" + "version" "3.2.4" + +"flatted@^3.2.5": + "integrity" "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" + "version" "3.2.5" + +"flush-write-stream@^1.0.0", "flush-write-stream@^1.0.2": + "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" + "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "inherits" "^2.0.3" + "readable-stream" "^2.3.6" + +"fn.name@1.x.x": + "integrity" "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + "resolved" "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz" + "version" "1.1.0" + +"follow-redirects@^1.0.0": + "integrity" "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz" + "version" "1.14.4" + +"follow-redirects@^1.14.4": + "integrity" "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz" + "version" "1.14.8" + +"for-in@^1.0.1", "for-in@^1.0.2": + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + +"for-own@^1.0.0": + "integrity" "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=" + "resolved" "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "for-in" "^1.0.1" + +"foreach@^2.0.5": + "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + "version" "2.0.5" + +"foreground-child@^2.0.0": + "integrity" "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==" + "resolved" "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "cross-spawn" "^7.0.0" + "signal-exit" "^3.0.2" + +"forever-agent@~0.6.1": + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + +"form-data@^2.5.0": + "integrity" "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz" + "version" "2.5.1" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"form-data@^3.0.0": + "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"form-data@^4.0.0": + "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"forwarded@0.2.0": + "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + "version" "0.2.0" + +"fragment-cache@^0.2.1": + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + +"fresh@0.5.2": + "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + +"from2@^2.1.0": + "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=" + "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + +"fromentries@^1.2.0": + "integrity" "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" + "resolved" "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" + "version" "1.3.2" + +"fs-constants@^1.0.0": + "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + "version" "1.0.0" + +"fs-extra@^10.0.0": + "integrity" "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz" + "version" "10.0.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@^10.0.1": + "integrity" "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz" + "version" "10.0.1" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@^10.1.0": + "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@^7.0.1": + "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "graceful-fs" "^4.1.2" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-extra@^8.1.0": + "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-extra@^9.1.0": + "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + "version" "9.1.0" + dependencies: + "at-least-node" "^1.0.0" + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@~7.0.1": + "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "graceful-fs" "^4.1.2" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-minipass@^1.2.7": + "integrity" "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==" + "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" + "version" "1.2.7" + dependencies: + "minipass" "^2.6.0" + +"fs-minipass@^2.0.0", "fs-minipass@^2.1.0": + "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" + "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "minipass" "^3.0.0" + +"fs-mkdirp-stream@^1.0.0": + "integrity" "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=" + "resolved" "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "graceful-fs" "^4.1.11" + "through2" "^2.0.3" + +"fs-monkey@^1.0.3": + "integrity" "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" + "version" "1.0.3" + +"fs-write-stream-atomic@^1.0.8": + "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=" + "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "graceful-fs" "^4.1.2" + "iferr" "^0.1.5" + "imurmurhash" "^0.1.4" + "readable-stream" "1 || 2" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@^1.2.7": + "integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "bindings" "^1.5.0" + "nan" "^2.12.1" + +"fsevents@^2.3.2", "fsevents@~2.3.2": + "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + "version" "2.3.2" + +"fstream@^1.0.12": + "integrity" "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==" + "resolved" "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "graceful-fs" "^4.1.2" + "inherits" "~2.0.0" + "mkdirp" ">=0.5 0" + "rimraf" "2" + +"ftp@^0.3.10": + "integrity" "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=" + "resolved" "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" + "version" "0.3.10" + dependencies: + "readable-stream" "1.1.x" + "xregexp" "2.0.0" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"function.prototype.name@^1.1.5": + "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" + "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.19.0" + "functions-have-names" "^1.2.2" + +"functional-red-black-tree@^1.0.1": + "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + "version" "1.0.1" + +"functions-have-names@^1.2.2": + "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + "version" "1.2.3" + +"gauge@^3.0.0": + "integrity" "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==" + "resolved" "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "aproba" "^1.0.3 || ^2.0.0" + "color-support" "^1.1.2" + "console-control-strings" "^1.0.0" + "has-unicode" "^2.0.1" + "object-assign" "^4.1.1" + "signal-exit" "^3.0.0" + "string-width" "^4.2.3" + "strip-ansi" "^6.0.1" + "wide-align" "^1.1.2" + +"gauge@^4.0.3": + "integrity" "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==" + "resolved" "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "aproba" "^1.0.3 || ^2.0.0" + "color-support" "^1.1.3" + "console-control-strings" "^1.1.0" + "has-unicode" "^2.0.1" + "signal-exit" "^3.0.7" + "string-width" "^4.2.3" + "strip-ansi" "^6.0.1" + "wide-align" "^1.1.5" + +"gauge@~2.7.3": + "integrity" "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=" + "resolved" "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" + "version" "2.7.4" + dependencies: + "aproba" "^1.0.3" + "console-control-strings" "^1.0.0" + "has-unicode" "^2.0.0" + "object-assign" "^4.1.0" + "signal-exit" "^3.0.0" + "string-width" "^1.0.1" + "strip-ansi" "^3.0.1" + "wide-align" "^1.1.0" + +"gaxios@^4.0.0": + "integrity" "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==" + "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "abort-controller" "^3.0.0" + "extend" "^3.0.2" + "https-proxy-agent" "^5.0.0" + "is-stream" "^2.0.0" + "node-fetch" "^2.6.1" + +"gaxios@^5.0.0": + "integrity" "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==" + "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "extend" "^3.0.2" + "https-proxy-agent" "^5.0.0" + "is-stream" "^2.0.0" + "node-fetch" "^2.6.7" + +"gcp-metadata@^4.2.0": + "integrity" "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==" + "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "gaxios" "^4.0.0" + "json-bigint" "^1.0.0" + +"gcp-metadata@^5.0.0": + "integrity" "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==" + "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "gaxios" "^5.0.0" + "json-bigint" "^1.0.0" + +"geckodriver@2.0.4": + "integrity" "sha512-3Fu75v6Ov8h5Vt25+djJU56MJA2gRctgjhvG5xGzLFTQjltPz7nojQdBHbmgWznUt3CHl8VaiDn8MaepY7B0dA==" + "resolved" "https://registry.npmjs.org/geckodriver/-/geckodriver-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "adm-zip" "0.5.5" + "bluebird" "3.7.2" + "got" "11.8.2" + "https-proxy-agent" "5.0.0" + "tar" "6.1.9" + +"gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^1.0.1": + "integrity" "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" + "version" "1.0.3" + +"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-func-name@^2.0.0": + "integrity" "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + "resolved" "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" + "version" "2.0.0" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1": + "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + +"get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + +"get-pkg-repo@^4.0.0": + "integrity" "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==" + "resolved" "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" + "version" "4.2.1" dependencies: "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" + "hosted-git-info" "^4.0.0" + "through2" "^2.0.0" + "yargs" "^16.2.0" -get-port@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +"get-port@^5.1.1": + "integrity" "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" + "resolved" "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" + "version" "5.1.1" -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== +"get-stream@^4.1.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" dependencies: - pump "^3.0.0" + "pump" "^3.0.0" -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== +"get-stream@^5.1.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" dependencies: - pump "^3.0.0" + "pump" "^3.0.0" -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +"get-symbol-description@^1.0.0": + "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" + "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + "version" "1.0.0" dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.1" -get-uri@3: - version "3.0.2" - resolved "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" - integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== +"get-uri@3": + "integrity" "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==" + "resolved" "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz" + "version" "3.0.2" dependencies: "@tootallnate/once" "1" - data-uri-to-buffer "3" - debug "4" - file-uri-to-path "2" - fs-extra "^8.1.0" - ftp "^0.3.10" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-raw-commits@^2.0.8: - version "2.0.10" - resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" - integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -git-up@^4.0.0: - version "4.0.5" - resolved "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" - integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== - dependencies: - is-ssh "^1.3.0" - parse-url "^6.0.0" - -git-url-parse@^11.4.4: - version "11.6.0" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" - integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== - dependencies: - git-up "^4.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= - dependencies: - ini "^1.3.2" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz#fe52efa433233f74a2fe64c7abb9bc848202ab95" - integrity sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U= - -glob-slasher@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz#747a0e5bb222642ee10d3e05443e109493cb0f8e" - integrity sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44= - dependencies: - glob-slash "^1.0.0" - lodash.isobject "^2.4.1" - toxic "^1.0.0" - -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob-watcher@^5.0.3: - version "5.0.5" - resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" - integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== - dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - normalize-path "^3.0.0" - object.defaults "^1.1.0" - -glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.2.3, glob@~7.2.0: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== - dependencies: - ini "1.3.7" - -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0, globals@^13.9.0: - version "13.11.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" - integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== - dependencies: - type-fest "^0.20.2" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globby@10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" - integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== + "data-uri-to-buffer" "3" + "debug" "4" + "file-uri-to-path" "2" + "fs-extra" "^8.1.0" + "ftp" "^0.3.10" + +"get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + +"getpass@^0.1.1": + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + +"git-raw-commits@^2.0.8": + "integrity" "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==" + "resolved" "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz" + "version" "2.0.10" + dependencies: + "dargs" "^7.0.0" + "lodash" "^4.17.15" + "meow" "^8.0.0" + "split2" "^3.0.0" + "through2" "^4.0.0" + +"git-remote-origin-url@^2.0.0": + "integrity" "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=" + "resolved" "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "gitconfiglocal" "^1.0.0" + "pify" "^2.3.0" + +"git-semver-tags@^4.1.1": + "integrity" "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==" + "resolved" "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "meow" "^8.0.0" + "semver" "^6.0.0" + +"git-up@^4.0.0": + "integrity" "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==" + "resolved" "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "is-ssh" "^1.3.0" + "parse-url" "^6.0.0" + +"git-url-parse@^11.4.4": + "integrity" "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==" + "resolved" "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz" + "version" "11.6.0" + dependencies: + "git-up" "^4.0.0" + +"gitconfiglocal@^1.0.0": + "integrity" "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=" + "resolved" "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "ini" "^1.3.2" + +"glob-parent@^3.1.0": + "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-glob" "^3.1.0" + "path-dirname" "^1.0.0" + +"glob-parent@^5.1.1", "glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-slash@^1.0.0": + "integrity" "sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U=" + "resolved" "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz" + "version" "1.0.0" + +"glob-slasher@^1.0.1": + "integrity" "sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44=" + "resolved" "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "glob-slash" "^1.0.0" + "lodash.isobject" "^2.4.1" + "toxic" "^1.0.0" + +"glob-stream@^6.1.0": + "integrity" "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=" + "resolved" "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "extend" "^3.0.0" + "glob" "^7.1.1" + "glob-parent" "^3.1.0" + "is-negated-glob" "^1.0.0" + "ordered-read-streams" "^1.0.0" + "pumpify" "^1.3.5" + "readable-stream" "^2.1.5" + "remove-trailing-separator" "^1.0.1" + "to-absolute-glob" "^2.0.0" + "unique-stream" "^2.0.2" + +"glob-to-regexp@^0.4.1": + "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + "version" "0.4.1" + +"glob-watcher@^5.0.3": + "integrity" "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==" + "resolved" "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz" + "version" "5.0.5" + dependencies: + "anymatch" "^2.0.0" + "async-done" "^1.2.0" + "chokidar" "^2.0.0" + "is-negated-glob" "^1.0.0" + "just-debounce" "^1.0.0" + "normalize-path" "^3.0.0" + "object.defaults" "^1.1.0" + +"glob@^7.0.0", "glob@^7.0.3", "glob@^7.0.6", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6", "glob@^7.1.7", "glob@~7.2.0", "glob@7.2.3": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.1.1" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"glob@^8.0.0": + "integrity" "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==" + "resolved" "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz" + "version" "8.0.3" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^5.0.1" + "once" "^1.3.0" + +"glob@7.2.0": + "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.0.4" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"global-dirs@^2.0.1": + "integrity" "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ini" "1.3.7" + +"global-dirs@^3.0.0": + "integrity" "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ini" "2.0.0" + +"global-modules@^1.0.0": + "integrity" "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==" + "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "global-prefix" "^1.0.1" + "is-windows" "^1.0.1" + "resolve-dir" "^1.0.0" + +"global-prefix@^1.0.1": + "integrity" "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=" + "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "expand-tilde" "^2.0.2" + "homedir-polyfill" "^1.0.1" + "ini" "^1.3.4" + "is-windows" "^1.0.1" + "which" "^1.2.14" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globals@^13.6.0": + "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" + "version" "13.11.0" + dependencies: + "type-fest" "^0.20.2" + +"globals@^13.9.0": + "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" + "version" "13.11.0" + dependencies: + "type-fest" "^0.20.2" + +"globals@^9.18.0": + "integrity" "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "resolved" "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz" + "version" "9.18.0" + +"globby@^11.0.0", "globby@^11.0.1", "globby@^11.0.2": + "integrity" "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" + "version" "11.0.4" + dependencies: + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.1.1" + "ignore" "^5.1.4" + "merge2" "^1.3.0" + "slash" "^3.0.0" + +"globby@^11.0.3": + "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + "version" "11.1.0" + dependencies: + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.2.9" + "ignore" "^5.2.0" + "merge2" "^1.4.1" + "slash" "^3.0.0" + +"globby@^5.0.0": + "integrity" "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=" + "resolved" "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "array-union" "^1.0.1" + "arrify" "^1.0.0" + "glob" "^7.0.3" + "object-assign" "^4.0.1" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"globby@10.0.1": + "integrity" "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==" + "resolved" "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz" + "version" "10.0.1" dependencies: "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11.0.0, globby@^11.0.1, globby@^11.0.2: - version "11.0.4" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.3: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -glogg@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" - integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== - dependencies: - sparkles "^1.0.0" - -google-auth-library@^7.11.0: - version "7.14.1" - resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c" - integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA== - dependencies: - arrify "^2.0.0" - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - fast-text-encoding "^1.0.0" - gaxios "^4.0.0" - gcp-metadata "^4.2.0" - gtoken "^5.0.4" - jws "^4.0.0" - lru-cache "^6.0.0" - -google-auth-library@^8.0.2: - version "8.1.1" - resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz#4068d2b1512b812d3d3dfbdc848452a0d5a550de" - integrity sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg== - dependencies: - arrify "^2.0.0" - base64-js "^1.3.0" - ecdsa-sig-formatter "^1.0.11" - fast-text-encoding "^1.0.0" - gaxios "^5.0.0" - gcp-metadata "^5.0.0" - gtoken "^6.0.0" - jws "^4.0.0" - lru-cache "^6.0.0" - -google-closure-compiler-java@^20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-compiler-java/-/google-closure-compiler-java-20220301.0.0.tgz#6283bad6991ae9cfb3a9fdf72bbd7bf0c8f21fb6" - integrity sha512-kv5oaUI4xn3qWYWtRHRqbm314kesfeFlCxiFRcvBIx13mKfR0qvbOkgajLpSM6nb3voNM/E9MB9mfvHJ9XIXSg== - -google-closure-compiler-linux@^20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-compiler-linux/-/google-closure-compiler-linux-20220301.0.0.tgz#3ac8cd1cb51d703a89bc49c239df4c10b57f37bb" - integrity sha512-N2D0SRnxZ7kqdoZ2WsmLIjmizR4Xr0HaUYDK2RCOtsV21RYV8OR2u0ATp7aXhYy8WfxvYH478Ehvmc9Uzy986A== - -google-closure-compiler-osx@^20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20220301.0.0.tgz#1a49eb1d78b6bfb90ebe51c24a7151cee4f319a3" - integrity sha512-Xqf0m5takwfv43ML4aODJxmAsAZQMTMo683gyRs0APAecncs+YKxaDPMH+pQAdI3HPY2QsvkarlunAp0HSwU5A== - -google-closure-compiler-windows@^20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-compiler-windows/-/google-closure-compiler-windows-20220301.0.0.tgz#b09df91a789e458eb9ebf054a9bb2d2b29622b6f" - integrity sha512-s+FU/vcpLTEgx8MCMgj0STCYkVk7syzF9KqiYPOTtbTD9ra99HPe/CEuQG7iJ3Fty9dhm9zEaetv4Dp4Wr6x+Q== - -google-closure-compiler@20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20220301.0.0.tgz#1c4f56076ae5b2c900a91d0a72515f7ee7f5d3cd" - integrity sha512-+yAqhufKIWddg587tnvRll92eLJQIlzINmgr1h5gLXZVioY3svrSYKH4TZiUuNj0UnVFoK0o1YuW122x+iFl2g== - dependencies: - chalk "2.x" - google-closure-compiler-java "^20220301.0.0" - minimist "1.x" - vinyl "2.x" - vinyl-sourcemaps-apply "^0.2.0" + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.0.3" + "glob" "^7.1.3" + "ignore" "^5.1.1" + "merge2" "^1.2.3" + "slash" "^3.0.0" + +"glogg@^1.0.0": + "integrity" "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==" + "resolved" "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "sparkles" "^1.0.0" + +"google-auth-library@^7.11.0": + "integrity" "sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==" + "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz" + "version" "7.14.1" + dependencies: + "arrify" "^2.0.0" + "base64-js" "^1.3.0" + "ecdsa-sig-formatter" "^1.0.11" + "fast-text-encoding" "^1.0.0" + "gaxios" "^4.0.0" + "gcp-metadata" "^4.2.0" + "gtoken" "^5.0.4" + "jws" "^4.0.0" + "lru-cache" "^6.0.0" + +"google-auth-library@^8.0.2": + "integrity" "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==" + "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "arrify" "^2.0.0" + "base64-js" "^1.3.0" + "ecdsa-sig-formatter" "^1.0.11" + "fast-text-encoding" "^1.0.0" + "gaxios" "^5.0.0" + "gcp-metadata" "^5.0.0" + "gtoken" "^6.0.0" + "jws" "^4.0.0" + "lru-cache" "^6.0.0" + +"google-closure-compiler-java@^20220301.0.0": + "integrity" "sha512-kv5oaUI4xn3qWYWtRHRqbm314kesfeFlCxiFRcvBIx13mKfR0qvbOkgajLpSM6nb3voNM/E9MB9mfvHJ9XIXSg==" + "resolved" "https://registry.npmjs.org/google-closure-compiler-java/-/google-closure-compiler-java-20220301.0.0.tgz" + "version" "20220301.0.0" + +"google-closure-compiler-osx@^20220301.0.0": + "integrity" "sha512-Xqf0m5takwfv43ML4aODJxmAsAZQMTMo683gyRs0APAecncs+YKxaDPMH+pQAdI3HPY2QsvkarlunAp0HSwU5A==" + "resolved" "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20220301.0.0.tgz" + "version" "20220301.0.0" + +"google-closure-compiler@20220301.0.0": + "integrity" "sha512-+yAqhufKIWddg587tnvRll92eLJQIlzINmgr1h5gLXZVioY3svrSYKH4TZiUuNj0UnVFoK0o1YuW122x+iFl2g==" + "resolved" "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20220301.0.0.tgz" + "version" "20220301.0.0" + dependencies: + "chalk" "2.x" + "google-closure-compiler-java" "^20220301.0.0" + "minimist" "1.x" + "vinyl" "2.x" + "vinyl-sourcemaps-apply" "^0.2.0" optionalDependencies: - google-closure-compiler-linux "^20220301.0.0" - google-closure-compiler-osx "^20220301.0.0" - google-closure-compiler-windows "^20220301.0.0" - -google-closure-library@20220301.0.0: - version "20220301.0.0" - resolved "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20220301.0.0.tgz#c9aaa99218f949b1f914a86f2a4529dea20e2e47" - integrity sha512-GRRBfG80JPqkKkTxiRoVr/x4UmnPW2aeA72NH0zapPtrvSkAOCzfJFrdudLrAJJtXPdSE65+CkYrpZX8tP0mCQ== - -google-gax@^3.0.1: - version "3.1.3" - resolved "https://registry.npmjs.org/google-gax/-/google-gax-3.1.3.tgz#2380b5a39e55475cff2f5526909815479c50d712" - integrity sha512-hWF2WbfD3o1Fnfq3qf0Wnr3DuQczC/5ebGYGB5swUZXl8sT5y5mhDbxOKAg+xUzhiPgnQADNyFk0uIsA+NKRIw== - dependencies: - "@grpc/grpc-js" "~1.6.0" - "@grpc/proto-loader" "^0.6.12" + "google-closure-compiler-linux" "^20220301.0.0" + "google-closure-compiler-osx" "^20220301.0.0" + "google-closure-compiler-windows" "^20220301.0.0" + +"google-closure-library@20220301.0.0": + "integrity" "sha512-GRRBfG80JPqkKkTxiRoVr/x4UmnPW2aeA72NH0zapPtrvSkAOCzfJFrdudLrAJJtXPdSE65+CkYrpZX8tP0mCQ==" + "resolved" "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20220301.0.0.tgz" + "version" "20220301.0.0" + +"google-gax@^3.0.1": + "integrity" "sha512-AyP53w0gHcWlzxm+jSgqCR3Xu4Ld7EpSjhtNBnNhzwwWaIUyphH9kBGNIEH+i4UGkTUXOY29K/Re8EiAvkBRGw==" + "resolved" "https://registry.npmjs.org/google-gax/-/google-gax-3.5.2.tgz" + "version" "3.5.2" + dependencies: + "@grpc/grpc-js" "~1.7.0" + "@grpc/proto-loader" "^0.7.0" "@types/long" "^4.0.0" - abort-controller "^3.0.0" - duplexify "^4.0.0" - fast-text-encoding "^1.0.3" - google-auth-library "^8.0.2" - is-stream-ended "^0.1.4" - node-fetch "^2.6.1" - object-hash "^3.0.0" - proto3-json-serializer "^1.0.0" - protobufjs "6.11.3" - retry-request "^5.0.0" - -google-p12-pem@^3.0.3: - version "3.1.2" - resolved "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz#c3d61c2da8e10843ff830fdb0d2059046238c1d4" - integrity sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A== - dependencies: - node-forge "^0.10.0" - -google-p12-pem@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz#f46581add1dc6ea0b96160cda6ce37ee35ab8ca3" - integrity sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w== - dependencies: - node-forge "^1.3.1" - -got@11.8.2: - version "11.8.2" - resolved "https://registry.npmjs.org/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" - integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== + "abort-controller" "^3.0.0" + "duplexify" "^4.0.0" + "fast-text-encoding" "^1.0.3" + "google-auth-library" "^8.0.2" + "is-stream-ended" "^0.1.4" + "node-fetch" "^2.6.1" + "object-hash" "^3.0.0" + "proto3-json-serializer" "^1.0.0" + "protobufjs" "7.1.2" + "protobufjs-cli" "1.0.2" + "retry-request" "^5.0.0" + +"google-p12-pem@^3.0.3": + "integrity" "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==" + "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "node-forge" "^0.10.0" + +"google-p12-pem@^4.0.0": + "integrity" "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==" + "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "node-forge" "^1.3.1" + +"got@^9.6.0": + "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" + "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + "version" "9.6.0" + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + "cacheable-request" "^6.0.0" + "decompress-response" "^3.3.0" + "duplexer3" "^0.1.4" + "get-stream" "^4.1.0" + "lowercase-keys" "^1.0.1" + "mimic-response" "^1.0.1" + "p-cancelable" "^1.0.0" + "to-readable-stream" "^1.0.0" + "url-parse-lax" "^3.0.0" + +"got@11.8.2": + "integrity" "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==" + "resolved" "https://registry.npmjs.org/got/-/got-11.8.2.tgz" + "version" "11.8.2" dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" "@types/cacheable-request" "^6.0.1" "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.1" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.8" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.9" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -gtoken@^5.0.4: - version "5.3.1" - resolved "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz#c1c2598a826f2b5df7c6bb53d7be6cf6d50c3c78" - integrity sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ== - dependencies: - gaxios "^4.0.0" - google-p12-pem "^3.0.3" - jws "^4.0.0" - -gtoken@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz#62938c679b364662ce21077858e0db3cfe025363" - integrity sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ== - dependencies: - gaxios "^4.0.0" - google-p12-pem "^4.0.0" - jws "^4.0.0" - -gulp-cli@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" - integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== - dependencies: - ansi-colors "^1.0.1" - archy "^1.0.0" - array-sort "^1.0.0" - color-support "^1.1.3" - concat-stream "^1.6.0" - copy-props "^2.0.1" - fancy-log "^1.3.2" - gulplog "^1.0.0" - interpret "^1.4.0" - isobject "^3.0.1" - liftoff "^3.1.0" - matchdep "^2.0.0" - mute-stdout "^1.0.0" - pretty-hrtime "^1.0.0" - replace-homedir "^1.0.0" - semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.2.0" - yargs "^7.1.0" - -gulp-filter@7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/gulp-filter/-/gulp-filter-7.0.0.tgz#e0712f3e57b5d647f802a1880255cafb54abf158" - integrity sha512-ZGWtJo0j1mHfP77tVuhyqem4MRA5NfNRjoVe6VAkLGeQQ/QGo2VsFwp7zfPTGDsd1rwzBmoDHhxpE6f5B3Zuaw== - dependencies: - multimatch "^5.0.0" - plugin-error "^1.0.1" - streamfilter "^3.0.0" - to-absolute-glob "^2.0.2" - -gulp-replace@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz#8641cdca78e683e8573ca4a012e7e4ebb7e4db60" - integrity sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ== + "cacheable-lookup" "^5.0.3" + "cacheable-request" "^7.0.1" + "decompress-response" "^6.0.0" + "http2-wrapper" "^1.0.0-beta.5.2" + "lowercase-keys" "^2.0.0" + "p-cancelable" "^2.0.0" + "responselike" "^2.0.0" + +"graceful-fs@^4.0.0", "graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.5", "graceful-fs@^4.1.9", "graceful-fs@^4.2.2", "graceful-fs@^4.2.3", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6": + "integrity" "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" + "version" "4.2.8" + +"graceful-fs@^4.1.6", "graceful-fs@^4.2.0": + "integrity" "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" + "version" "4.2.9" + +"grapheme-splitter@^1.0.4": + "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + "version" "1.0.4" + +"growl@1.10.5": + "integrity" "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "resolved" "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" + "version" "1.10.5" + +"gtoken@^5.0.4": + "integrity" "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==" + "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz" + "version" "5.3.1" + dependencies: + "gaxios" "^4.0.0" + "google-p12-pem" "^3.0.3" + "jws" "^4.0.0" + +"gtoken@^6.0.0": + "integrity" "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==" + "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "gaxios" "^4.0.0" + "google-p12-pem" "^4.0.0" + "jws" "^4.0.0" + +"gulp-cli@^2.2.0": + "integrity" "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==" + "resolved" "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ansi-colors" "^1.0.1" + "archy" "^1.0.0" + "array-sort" "^1.0.0" + "color-support" "^1.1.3" + "concat-stream" "^1.6.0" + "copy-props" "^2.0.1" + "fancy-log" "^1.3.2" + "gulplog" "^1.0.0" + "interpret" "^1.4.0" + "isobject" "^3.0.1" + "liftoff" "^3.1.0" + "matchdep" "^2.0.0" + "mute-stdout" "^1.0.0" + "pretty-hrtime" "^1.0.0" + "replace-homedir" "^1.0.0" + "semver-greatest-satisfied-range" "^1.1.0" + "v8flags" "^3.2.0" + "yargs" "^7.1.0" + +"gulp-filter@7.0.0": + "integrity" "sha512-ZGWtJo0j1mHfP77tVuhyqem4MRA5NfNRjoVe6VAkLGeQQ/QGo2VsFwp7zfPTGDsd1rwzBmoDHhxpE6f5B3Zuaw==" + "resolved" "https://registry.npmjs.org/gulp-filter/-/gulp-filter-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "multimatch" "^5.0.0" + "plugin-error" "^1.0.1" + "streamfilter" "^3.0.0" + "to-absolute-glob" "^2.0.2" + +"gulp-replace@1.1.3": + "integrity" "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==" + "resolved" "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz" + "version" "1.1.3" dependencies: "@types/node" "^14.14.41" "@types/vinyl" "^2.0.4" - istextorbinary "^3.0.0" - replacestream "^4.0.3" - yargs-parser ">=5.0.0-security.0" + "istextorbinary" "^3.0.0" + "replacestream" "^4.0.3" + "yargs-parser" ">=5.0.0-security.0" -gulp-sourcemaps@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz#2e154e1a2efed033c0e48013969e6f30337b2743" - integrity sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ== +"gulp-sourcemaps@3.0.0": + "integrity" "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==" + "resolved" "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz" + "version" "3.0.0" dependencies: "@gulp-sourcemaps/identity-map" "^2.0.1" "@gulp-sourcemaps/map-sources" "^1.0.0" - acorn "^6.4.1" - convert-source-map "^1.0.0" - css "^3.0.0" - debug-fabulous "^1.0.0" - detect-newline "^2.0.0" - graceful-fs "^4.0.0" - source-map "^0.6.0" - strip-bom-string "^1.0.0" - through2 "^2.0.0" - -gulp@4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" - integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== - dependencies: - glob-watcher "^5.0.3" - gulp-cli "^2.2.0" - undertaker "^1.2.1" - vinyl-fs "^3.0.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= - dependencies: - glogg "^1.0.0" - -gzip-size@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handlebars@^4.7.2, handlebars@^4.7.6: - version "4.7.7" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" + "acorn" "^6.4.1" + "convert-source-map" "^1.0.0" + "css" "^3.0.0" + "debug-fabulous" "^1.0.0" + "detect-newline" "^2.0.0" + "graceful-fs" "^4.0.0" + "source-map" "^0.6.0" + "strip-bom-string" "^1.0.0" + "through2" "^2.0.0" + +"gulp@>=4", "gulp@4.0.2": + "integrity" "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==" + "resolved" "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "glob-watcher" "^5.0.3" + "gulp-cli" "^2.2.0" + "undertaker" "^1.2.1" + "vinyl-fs" "^3.0.0" + +"gulplog@^1.0.0": + "integrity" "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=" + "resolved" "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "glogg" "^1.0.0" + +"gzip-size@6.0.0": + "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" + "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "duplexer" "^0.1.2" + +"handlebars@^4.7.2", "handlebars@^4.7.6": + "integrity" "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==" + "resolved" "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" + "version" "4.7.7" + dependencies: + "minimist" "^1.2.5" + "neo-async" "^2.6.0" + "source-map" "^0.6.1" + "wordwrap" "^1.0.0" optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0, has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasha@^5.0.0: - version "5.2.2" - resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" - integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== - dependencies: - is-stream "^2.0.0" - type-fest "^0.8.0" - -he@1.2.0, he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight.js@^9.17.1: - version "9.18.5" - resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" - integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@1.7.3, http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== - -http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + "uglify-js" "^3.1.4" + +"har-schema@^2.0.0": + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" + +"har-validator@~5.1.3": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" + dependencies: + "ajv" "^6.12.3" + "har-schema" "^2.0.0" + +"hard-rejection@^2.1.0": + "integrity" "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + "resolved" "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" + "version" "2.1.0" + +"has-ansi@^2.0.0": + "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ansi-regex" "^2.0.0" + +"has-bigints@^1.0.1": + "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" + "version" "1.0.1" + +"has-bigints@^1.0.2": + "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + "version" "1.0.2" + +"has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-property-descriptors@^1.0.0": + "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" + "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-intrinsic" "^1.1.1" + +"has-symbols@^1.0.1", "has-symbols@^1.0.2": + "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" + "version" "1.0.2" + +"has-symbols@^1.0.3": + "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + "version" "1.0.3" + +"has-tostringtag@^1.0.0": + "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" + "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-symbols" "^1.0.2" + +"has-unicode@^2.0.0", "has-unicode@^2.0.1": + "integrity" "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "resolved" "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + "version" "2.0.1" + +"has-value@^0.3.1": + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" + +"has-value@^1.0.0": + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" + +"has-values@^0.1.4": + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + +"has-values@^1.0.0": + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-number" "^3.0.0" + "kind-of" "^4.0.0" + +"has-yarn@^2.1.0": + "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + "version" "2.1.0" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"hash-base@^3.0.0": + "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" + "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"hash.js@^1.0.0", "hash.js@^1.0.3": + "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" + "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "inherits" "^2.0.3" + "minimalistic-assert" "^1.0.1" + +"hasha@^5.0.0": + "integrity" "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==" + "resolved" "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz" + "version" "5.2.2" + dependencies: + "is-stream" "^2.0.0" + "type-fest" "^0.8.0" + +"he@^1.2.0", "he@1.2.0": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" + +"highlight.js@^9.17.1": + "integrity" "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==" + "resolved" "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz" + "version" "9.18.5" + +"hmac-drbg@^1.0.1": + "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" + "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "hash.js" "^1.0.3" + "minimalistic-assert" "^1.0.0" + "minimalistic-crypto-utils" "^1.0.1" + +"homedir-polyfill@^1.0.1": + "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" + "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "parse-passwd" "^1.0.0" + +"hosted-git-info@^2.1.4": + "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + "version" "2.8.9" + +"hosted-git-info@^4.0.0", "hosted-git-info@^4.0.1": + "integrity" "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "lru-cache" "^6.0.0" + +"html-encoding-sniffer@^3.0.0": + "integrity" "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "whatwg-encoding" "^2.0.0" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"http-cache-semantics@^4.0.0", "http-cache-semantics@^4.1.0": + "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" + "version" "4.1.0" + +"http-errors@1.7.2": + "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" + "version" "1.7.2" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" + +"http-errors@1.7.3": + "integrity" "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.4" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" + +"http-errors@2.0.0": + "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "depd" "2.0.0" + "inherits" "2.0.4" + "setprototypeof" "1.2.0" + "statuses" "2.0.1" + "toidentifier" "1.0.1" + +"http-parser-js@>=0.5.1": + "integrity" "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" + "version" "0.5.3" + +"http-proxy-agent@^4.0.0", "http-proxy-agent@^4.0.1": + "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" + "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + "version" "4.0.1" dependencies: "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@14.1.1: - version "14.1.1" - resolved "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" - integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== - dependencies: - basic-auth "^2.0.1" - chalk "^4.1.2" - corser "^2.0.1" - he "^1.2.0" - html-encoding-sniffer "^3.0.0" - http-proxy "^1.18.1" - mime "^1.6.0" - minimist "^1.2.6" - opener "^1.5.1" - portfinder "^1.0.28" - secure-compare "3.0.1" - union "~0.5.0" - url-join "^4.0.1" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -https-proxy-agent@5, https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -human-id@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" - integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3, iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -idb@7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz#d2875b3a2f205d854ee307f6d196f246fea590a7" - integrity sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg== - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-walk@^3.0.1, ignore-walk@^3.0.3: - version "3.0.4" - resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" - integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -immediate@^3.2.2: - version "3.3.0" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-lazy@~4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexeddbshim@8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/indexeddbshim/-/indexeddbshim-8.0.0.tgz#c0bc4d3c4aa8697de8df5dd15cf2966324fe803b" - integrity sha512-LV9e1qkLcNgR3jTSErcJBDeUSh8n3Of/TY93XToYaJ86nK+qqCvMDk9yDldxHv0vTLCzec/IBjmWhYZH3I82Ag== - dependencies: - eventtargeter "0.8.0" - sync-promise "git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features" - typeson "6.1.0" - typeson-registry "1.0.0-alpha.39" - websql "git+https://github.com/brettz9/node-websql.git#configurable-secure3" - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -init-package-json@^2.0.2: - version "2.0.5" - resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz#78b85f3c36014db42d8f32117252504f68022646" - integrity sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA== - dependencies: - npm-package-arg "^8.1.5" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "^4.1.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^3.0.0" - -inline-source-map@~0.6.0: - version "0.6.2" - resolved "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" - integrity sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU= - dependencies: - source-map "~0.5.3" - -inquirer@8.2.4, inquirer@^8.2.0: - version "8.2.4" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" - integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^7.0.0" - -inquirer@^7.3.3: - version "7.3.3" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -install-artifact-from-github@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz#adcbd123c16a4337ec44ea76d0ebf253cc16b074" - integrity sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0, interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -ip-regex@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -ip@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" + "agent-base" "6" + "debug" "4" + +"http-proxy@^1.18.1": + "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" + "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + "version" "1.18.1" + dependencies: + "eventemitter3" "^4.0.0" + "follow-redirects" "^1.0.0" + "requires-port" "^1.0.0" + +"http-server@14.1.1": + "integrity" "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==" + "resolved" "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" + "version" "14.1.1" + dependencies: + "basic-auth" "^2.0.1" + "chalk" "^4.1.2" + "corser" "^2.0.1" + "he" "^1.2.0" + "html-encoding-sniffer" "^3.0.0" + "http-proxy" "^1.18.1" + "mime" "^1.6.0" + "minimist" "^1.2.6" + "opener" "^1.5.1" + "portfinder" "^1.0.28" + "secure-compare" "3.0.1" + "union" "~0.5.0" + "url-join" "^4.0.1" + +"http-signature@~1.2.0": + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + +"http2-wrapper@^1.0.0-beta.5.2": + "integrity" "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==" + "resolved" "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "quick-lru" "^5.1.1" + "resolve-alpn" "^1.0.0" + +"https-browserify@^1.0.0": + "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + "version" "1.0.0" + +"https-proxy-agent@^2.2.1": + "integrity" "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "agent-base" "^4.3.0" + "debug" "^3.1.0" + +"https-proxy-agent@^5.0.0", "https-proxy-agent@5", "https-proxy-agent@5.0.0": + "integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "agent-base" "6" + "debug" "4" + +"human-id@^1.0.2": + "integrity" "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==" + "resolved" "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz" + "version" "1.0.2" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"humanize-ms@^1.2.1": + "integrity" "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=" + "resolved" "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "ms" "^2.0.0" + +"iconv-lite@^0.4.24", "iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"iconv-lite@^0.6.2": + "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + "version" "0.6.3" + dependencies: + "safer-buffer" ">= 2.1.2 < 3.0.0" + +"iconv-lite@0.6.3": + "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + "version" "0.6.3" + dependencies: + "safer-buffer" ">= 2.1.2 < 3.0.0" + +"idb@7.0.1": + "integrity" "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + "resolved" "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz" + "version" "7.0.1" + +"ieee754@^1.1.13", "ieee754@^1.1.4": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"iferr@^0.1.5": + "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" + "version" "0.1.5" + +"ignore-walk@^3.0.3": + "integrity" "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==" + "resolved" "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "minimatch" "^3.0.4" + +"ignore@^4.0.6": + "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + "version" "4.0.6" + +"ignore@^5.1.1": + "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + "version" "5.1.8" + +"ignore@^5.1.4": + "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + "version" "5.1.8" + +"ignore@^5.1.8": + "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + "version" "5.2.0" + +"ignore@^5.2.0": + "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + "version" "5.2.0" + +"immediate@^3.2.2": + "integrity" "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" + "version" "3.3.0" + +"immediate@~3.0.5": + "integrity" "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + "version" "3.0.6" + +"import-fresh@^3.0.0", "import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-lazy@^2.1.0": + "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + "version" "2.1.0" + +"import-lazy@~4.0.0": + "integrity" "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" + "version" "4.0.0" + +"import-local@^3.0.2": + "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"indent-string@^3.0.0": + "integrity" "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" + "version" "3.2.0" + +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" + +"indexeddbshim@8.0.0": + "integrity" "sha512-LV9e1qkLcNgR3jTSErcJBDeUSh8n3Of/TY93XToYaJ86nK+qqCvMDk9yDldxHv0vTLCzec/IBjmWhYZH3I82Ag==" + "resolved" "https://registry.npmjs.org/indexeddbshim/-/indexeddbshim-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "eventtargeter" "0.8.0" + "sync-promise" "git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features" + "typeson" "6.1.0" + "typeson-registry" "1.0.0-alpha.39" + "websql" "git+https://github.com/brettz9/node-websql.git#configurable-secure3" + +"infer-owner@^1.0.3", "infer-owner@^1.0.4": + "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + "version" "1.0.4" + +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.0", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@~2.0.4", "inherits@2", "inherits@2.0.4": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"inherits@2.0.1": + "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version" "2.0.1" + +"inherits@2.0.3": + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + +"ini@^1.3.2", "ini@^1.3.4", "ini@~1.3.0": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" + +"ini@1.3.7": + "integrity" "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" + "version" "1.3.7" + +"ini@2.0.0": + "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + "version" "2.0.0" + +"init-package-json@^2.0.2": + "integrity" "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==" + "resolved" "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "npm-package-arg" "^8.1.5" + "promzard" "^0.3.0" + "read" "~1.0.1" + "read-package-json" "^4.1.1" + "semver" "^7.3.5" + "validate-npm-package-license" "^3.0.4" + "validate-npm-package-name" "^3.0.0" + +"inline-source-map@~0.6.0": + "integrity" "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=" + "resolved" "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "source-map" "~0.5.3" + +"inquirer@^7.3.3": + "integrity" "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" + "version" "7.3.3" + dependencies: + "ansi-escapes" "^4.2.1" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-width" "^3.0.0" + "external-editor" "^3.0.3" + "figures" "^3.0.0" + "lodash" "^4.17.19" + "mute-stream" "0.0.8" + "run-async" "^2.4.0" + "rxjs" "^6.6.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + "through" "^2.3.6" + +"inquirer@^8.2.0", "inquirer@8.2.4": + "integrity" "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz" + "version" "8.2.4" + dependencies: + "ansi-escapes" "^4.2.1" + "chalk" "^4.1.1" + "cli-cursor" "^3.1.0" + "cli-width" "^3.0.0" + "external-editor" "^3.0.3" + "figures" "^3.0.0" + "lodash" "^4.17.21" + "mute-stream" "0.0.8" + "ora" "^5.4.1" + "run-async" "^2.4.0" + "rxjs" "^7.5.5" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + "through" "^2.3.6" + "wrap-ansi" "^7.0.0" + +"install-artifact-from-github@^1.2.0": + "integrity" "sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA==" + "resolved" "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz" + "version" "1.2.0" + +"internal-slot@^1.0.3": + "integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==" + "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "get-intrinsic" "^1.1.0" + "has" "^1.0.3" + "side-channel" "^1.0.4" + +"interpret@^1.0.0", "interpret@^1.4.0": + "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + "version" "1.4.0" + +"invariant@^2.2.2": + "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" + "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "loose-envify" "^1.0.0" + +"invert-kv@^1.0.0": + "integrity" "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "resolved" "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + "version" "1.0.0" + +"ip-regex@^4.1.0": + "integrity" "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" + "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" + "version" "4.3.0" + +"ip@^1.1.5": + "integrity" "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" + "version" "1.1.5" + +"ip@^2.0.0": + "integrity" "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "resolved" "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" + "version" "2.0.0" + +"ipaddr.js@1.9.1": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"is-absolute@^1.0.0": + "integrity" "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==" + "resolved" "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-relative" "^1.0.0" + "is-windows" "^1.0.1" + +"is-accessor-descriptor@^0.1.6": + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "kind-of" "^3.0.2" + +"is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-arguments@^1.0.4": + "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==" + "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-arrayish@^0.3.1": + "integrity" "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + "version" "0.3.2" + +"is-bigint@^1.0.1": + "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-bigints" "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= +"is-binary-path@^1.0.0": + "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + "version" "1.0.1" dependencies: - binary-extensions "^1.0.0" + "binary-extensions" "^1.0.0" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" dependencies: - binary-extensions "^2.0.0" + "binary-extensions" "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +"is-boolean-object@^1.1.0": + "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + "version" "1.1.2" dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +"is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" -is-builtin-module@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00" - integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== +"is-builtin-module@^3.1.0": + "integrity" "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==" + "resolved" "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz" + "version" "3.1.0" dependencies: - builtin-modules "^3.0.0" + "builtin-modules" "^3.0.0" -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +"is-callable@^1.1.4", "is-callable@^1.2.4": + "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" + "version" "1.2.4" -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== +"is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" dependencies: - ci-info "^2.0.0" + "ci-info" "^2.0.0" -is-ci@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" - integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== +"is-ci@^3.0.0": + "integrity" "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz" + "version" "3.0.0" dependencies: - ci-info "^3.1.1" + "ci-info" "^3.1.1" -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== +"is-ci@^3.0.1": + "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" + "version" "3.0.1" dependencies: - ci-info "^3.2.0" + "ci-info" "^3.2.0" -is-core-module@^2.2.0, is-core-module@^2.5.0: - version "2.6.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" - integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== +"is-core-module@^2.2.0", "is-core-module@^2.5.0": + "integrity" "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz" + "version" "2.6.0" dependencies: - has "^1.0.3" + "has" "^1.0.3" -is-core-module@^2.8.1: - version "2.9.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" - integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== +"is-core-module@^2.8.1": + "integrity" "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" + "version" "2.9.0" dependencies: - has "^1.0.3" + "has" "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= +"is-data-descriptor@^0.1.4": + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" dependencies: - kind-of "^3.0.2" + "kind-of" "^3.0.2" -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +"is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" dependencies: - kind-of "^6.0.0" + "kind-of" "^6.0.0" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +"is-date-object@^1.0.1": + "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + "version" "1.0.5" dependencies: - has-tostringtag "^1.0.0" + "has-tostringtag" "^1.0.0" -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== +"is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +"is-docker@^2.0.0": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= +"is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== +"is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" dependencies: - is-plain-object "^2.0.4" + "is-plain-object" "^2.0.4" -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +"is-extglob@^2.1.0", "is-extglob@^2.1.1": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== +"is-finite@^1.0.0": + "integrity" "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "resolved" "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + "version" "1.1.0" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= +"is-fullwidth-code-point@^1.0.0": + "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + "version" "1.0.0" dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + "number-is-nan" "^1.0.0" + +"is-fullwidth-code-point@^2.0.0": + "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + "version" "2.0.0" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" +"is-generator-function@^1.0.7": + "integrity" "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==" + "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "has-tostringtag" "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" - integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== - dependencies: - symbol-observable "^1.1.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-path-inside@^3.0.1, is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-plain-object@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" - integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-promise@^2.1.0, is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== +"is-glob@^3.1.0": + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-extglob" "^2.1.0" + +"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": + "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-extglob" "^2.1.1" + +"is-glob@^4.0.3": + "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-extglob" "^2.1.1" + +"is-installed-globally@^0.3.1": + "integrity" "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "global-dirs" "^2.0.1" + "is-path-inside" "^3.0.1" + +"is-installed-globally@^0.4.0": + "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "global-dirs" "^3.0.0" + "is-path-inside" "^3.0.2" + +"is-interactive@^1.0.0": + "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + "version" "1.0.0" + +"is-lambda@^1.0.1": + "integrity" "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + "resolved" "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" + "version" "1.0.1" + +"is-module@^1.0.0": + "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + "version" "1.0.0" + +"is-nan@^1.2.1": + "integrity" "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==" + "resolved" "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + +"is-negated-glob@^1.0.0": + "integrity" "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + "resolved" "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" + "version" "1.0.0" + +"is-negative-zero@^2.0.1": + "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" + "version" "2.0.1" + +"is-negative-zero@^2.0.2": + "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + "version" "2.0.2" + +"is-npm@^4.0.0": + "integrity" "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" + "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" + "version" "4.0.0" + +"is-npm@^5.0.0": + "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + "version" "5.0.0" + +"is-number-object@^1.0.4": + "integrity" "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-number@^3.0.0": + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "kind-of" "^3.0.2" + +"is-number@^4.0.0": + "integrity" "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz" + "version" "4.0.0" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" + +"is-observable@^1.1.0": + "integrity" "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==" + "resolved" "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "symbol-observable" "^1.1.0" + +"is-path-cwd@^1.0.0": + "integrity" "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + "version" "1.0.0" + +"is-path-cwd@^2.2.0": + "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + "version" "2.2.0" + +"is-path-in-cwd@^1.0.0": + "integrity" "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==" + "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-path-inside" "^1.0.0" + +"is-path-inside@^1.0.0": + "integrity" "sha1-jvW33lBDej/cprToZe96pVy0gDY=" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "path-is-inside" "^1.0.1" + +"is-path-inside@^3.0.1", "is-path-inside@^3.0.2": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-plain-obj@^1.0.0": + "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + "version" "1.1.0" + +"is-plain-obj@^1.1.0": + "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + "version" "1.1.0" + +"is-plain-obj@^2.0.0", "is-plain-obj@^2.1.0": + "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + "version" "2.1.0" + +"is-plain-object@^2.0.1", "is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-plain-object@^3.0.0": + "integrity" "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz" + "version" "3.0.1" + +"is-plain-object@^5.0.0": + "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + "version" "5.0.0" + +"is-promise@^2.1.0", "is-promise@^2.2.2": + "integrity" "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + "resolved" "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" + "version" "2.2.2" + +"is-reference@^1.2.1": + "integrity" "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==" + "resolved" "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" + "version" "1.2.1" dependencies: "@types/estree" "*" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +"is-regex@^1.1.4": + "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + "version" "1.1.4" dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== +"is-relative@^1.0.0": + "integrity" "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==" + "resolved" "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" + "version" "1.0.0" dependencies: - is-unc-path "^1.0.0" + "is-unc-path" "^1.0.0" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +"is-shared-array-buffer@^1.0.2": + "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" + "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + "version" "1.0.2" dependencies: - call-bind "^1.0.2" + "call-bind" "^1.0.2" -is-ssh@^1.3.0: - version "1.3.3" - resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" - integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== +"is-ssh@^1.3.0": + "integrity" "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==" + "resolved" "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz" + "version" "1.3.3" dependencies: - protocols "^1.1.0" + "protocols" "^1.1.0" -is-stream-ended@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" - integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== +"is-stream-ended@^0.1.4": + "integrity" "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" + "resolved" "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz" + "version" "0.1.4" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +"is-stream@^1.1.0": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +"is-string@^1.0.5", "is-string@^1.0.7": + "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + "version" "1.0.7" dependencies: - has-tostringtag "^1.0.0" - -is-subdir@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" - integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== - dependencies: - better-path-resolve "1.0.0" + "has-tostringtag" "^1.0.0" + +"is-subdir@^1.1.1": + "integrity" "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==" + "resolved" "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "better-path-resolve" "1.0.0" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-url@^1.2.2, is-url@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -is2@^2.0.6: - version "2.0.7" - resolved "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz#d084e10cab3bd45d6c9dfde7a48599fcbb93fcac" - integrity sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA== - dependencies: - deep-is "^0.1.3" - ip-regex "^4.1.0" - is-url "^1.2.4" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-instrumenter-loader@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" - integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - -istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz#e8900b3ed6069759229cf30f7067388d148aeb5e" - integrity sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ== - -istanbul-lib-hook@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" - integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== - dependencies: - append-transform "^2.0.0" - -istanbul-lib-instrument@^1.7.3: - version "1.10.2" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== +"is-symbol@^1.0.2", "is-symbol@^1.0.3": + "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-symbols" "^1.0.2" + +"is-text-path@^1.0.1": + "integrity" "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=" + "resolved" "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "text-extensions" "^1.0.0" + +"is-typed-array@^1.1.3", "is-typed-array@^1.1.7": + "integrity" "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==" + "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz" + "version" "1.1.8" + dependencies: + "available-typed-arrays" "^1.0.5" + "call-bind" "^1.0.2" + "es-abstract" "^1.18.5" + "foreach" "^2.0.5" + "has-tostringtag" "^1.0.0" + +"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-unc-path@^1.0.0": + "integrity" "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==" + "resolved" "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "unc-path-regex" "^0.1.2" + +"is-unicode-supported@^0.1.0": + "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + "version" "0.1.0" + +"is-url@^1.2.2", "is-url@^1.2.4": + "integrity" "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + "resolved" "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz" + "version" "1.2.4" + +"is-utf8@^0.2.0", "is-utf8@^0.2.1": + "integrity" "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + "version" "0.2.1" + +"is-valid-glob@^1.0.0": + "integrity" "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + "resolved" "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" + "version" "1.0.0" + +"is-weakref@^1.0.2": + "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" + "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + +"is-windows@^1.0.0", "is-windows@^1.0.1", "is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + +"is-wsl@^1.1.0": + "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + "version" "1.1.0" + +"is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + +"is-yarn-global@^0.3.0": + "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + "version" "0.3.0" + +"is2@^2.0.6": + "integrity" "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==" + "resolved" "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "deep-is" "^0.1.3" + "ip-regex" "^4.1.0" + "is-url" "^1.2.4" + +"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isarray@0.0.1": + "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + "version" "0.0.1" + +"isbinaryfile@^4.0.8": + "integrity" "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==" + "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz" + "version" "4.0.8" + +"isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"isobject@^2.0.0": + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "isarray" "1.0.0" + +"isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"isstream@~0.1.2": + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" + +"istanbul-instrumenter-loader@3.0.1": + "integrity" "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==" + "resolved" "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "convert-source-map" "^1.5.0" + "istanbul-lib-instrument" "^1.7.3" + "loader-utils" "^1.1.0" + "schema-utils" "^0.3.0" + +"istanbul-lib-coverage@^1.2.1": + "integrity" "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz" + "version" "1.2.1" + +"istanbul-lib-coverage@^2.0.5": + "integrity" "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" + "version" "2.0.5" + +"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.0.0-alpha.1": + "integrity" "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz" + "version" "3.0.1" + +"istanbul-lib-hook@^3.0.0": + "integrity" "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "append-transform" "^2.0.0" + +"istanbul-lib-instrument@^1.7.3": + "integrity" "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz" + "version" "1.10.2" + dependencies: + "babel-generator" "^6.18.0" + "babel-template" "^6.16.0" + "babel-traverse" "^6.18.0" + "babel-types" "^6.18.0" + "babylon" "^6.18.0" + "istanbul-lib-coverage" "^1.2.1" + "semver" "^5.3.0" + +"istanbul-lib-instrument@^4.0.0": + "integrity" "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" + "version" "4.0.3" dependencies: "@babel/core" "^7.7.5" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-processinfo@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" - integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== - dependencies: - archy "^1.0.0" - cross-spawn "^7.0.0" - istanbul-lib-coverage "^3.0.0-alpha.1" - make-dir "^3.0.0" - p-map "^3.0.0" - rimraf "^3.0.0" - uuid "^3.3.3" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^3.0.6: - version "3.0.6" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.0, istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -istextorbinary@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz#06b1c57d948da11461bd237c00ce09e9902964f2" - integrity sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ== - dependencies: - binaryextensions "^2.2.0" - textextensions "^3.2.0" - -jasmine-core@~2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" - integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= - -jasmine@2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" - integrity sha1-awicChFXax8W3xG4AUbZHU6Lij4= - dependencies: - exit "^0.1.2" - glob "^7.0.6" - jasmine-core "~2.8.0" - -jasminewd2@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" - integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= - -jest-diff@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz#bda761c360f751bab1e7a2fe2fc2b0a35ce8518c" - integrity sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.0.6" - pretty-format "^27.2.0" - -jest-get-type@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" - integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== - -jest-haste-map@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz#703b3a473e3f2e27d75ab07864ffd7bbaad0d75e" - integrity sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q== + "istanbul-lib-coverage" "^3.0.0" + "semver" "^6.3.0" + +"istanbul-lib-processinfo@^2.0.2": + "integrity" "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "archy" "^1.0.0" + "cross-spawn" "^7.0.0" + "istanbul-lib-coverage" "^3.0.0-alpha.1" + "make-dir" "^3.0.0" + "p-map" "^3.0.0" + "rimraf" "^3.0.0" + "uuid" "^3.3.3" + +"istanbul-lib-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" + +"istanbul-lib-source-maps@^3.0.6": + "integrity" "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" + "version" "3.0.6" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^2.0.5" + "make-dir" "^2.1.0" + "rimraf" "^2.6.3" + "source-map" "^0.6.1" + +"istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" + +"istanbul-reports@^3.0.0", "istanbul-reports@^3.0.2": + "integrity" "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" + +"istextorbinary@^3.0.0": + "integrity" "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==" + "resolved" "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "binaryextensions" "^2.2.0" + "textextensions" "^3.2.0" + +"jasmine-core@~2.8.0": + "integrity" "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=" + "resolved" "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz" + "version" "2.8.0" + +"jasmine@2.8.0": + "integrity" "sha1-awicChFXax8W3xG4AUbZHU6Lij4=" + "resolved" "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz" + "version" "2.8.0" + dependencies: + "exit" "^0.1.2" + "glob" "^7.0.6" + "jasmine-core" "~2.8.0" + +"jasminewd2@^2.1.0": + "integrity" "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=" + "resolved" "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz" + "version" "2.2.0" + +"jest-diff@^27.2.0": + "integrity" "sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz" + "version" "27.2.0" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^27.0.6" + "jest-get-type" "^27.0.6" + "pretty-format" "^27.2.0" + +"jest-get-type@^27.0.6": + "integrity" "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz" + "version" "27.0.6" + +"jest-haste-map@^27.2.0": + "integrity" "sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.2.0" - jest-worker "^27.2.0" - micromatch "^4.0.4" - walker "^1.0.7" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-regex-util" "^27.0.6" + "jest-serializer" "^27.0.6" + "jest-util" "^27.2.0" + "jest-worker" "^27.2.0" + "micromatch" "^4.0.4" + "walker" "^1.0.7" optionalDependencies: - fsevents "^2.3.2" + "fsevents" "^2.3.2" -jest-matcher-utils@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz#b4d224ab88655d5fab64b96b989ac349e2f5da43" - integrity sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw== +"jest-matcher-utils@^27.2.0": + "integrity" "sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz" + "version" "27.2.0" dependencies: - chalk "^4.0.0" - jest-diff "^27.2.0" - jest-get-type "^27.0.6" - pretty-format "^27.2.0" + "chalk" "^4.0.0" + "jest-diff" "^27.2.0" + "jest-get-type" "^27.0.6" + "pretty-format" "^27.2.0" -jest-message-util@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz#2f65c71df55267208686b1d7514e18106c91ceaf" - integrity sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w== +"jest-message-util@^27.2.0": + "integrity" "sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz" + "version" "27.2.0" dependencies: "@babel/code-frame" "^7.12.13" "@jest/types" "^27.1.1" "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.2.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" - integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== - -jest-resolve@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz#f5d053693ab3806ec2f778e6df8b0aa4cfaef95f" - integrity sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw== + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "micromatch" "^4.0.4" + "pretty-format" "^27.2.0" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + +"jest-pnp-resolver@^1.2.2": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" + +"jest-regex-util@^27.0.6": + "integrity" "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz" + "version" "27.0.6" + +"jest-resolve@*", "jest-resolve@^27.2.0": + "integrity" "sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" - chalk "^4.0.0" - escalade "^3.1.1" - graceful-fs "^4.2.4" - jest-haste-map "^27.2.0" - jest-pnp-resolver "^1.2.2" - jest-util "^27.2.0" - jest-validate "^27.2.0" - resolve "^1.20.0" - slash "^3.0.0" - -jest-serializer@^27.0.6: - version "27.0.6" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" - integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== + "chalk" "^4.0.0" + "escalade" "^3.1.1" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^27.2.0" + "jest-pnp-resolver" "^1.2.2" + "jest-util" "^27.2.0" + "jest-validate" "^27.2.0" + "resolve" "^1.20.0" + "slash" "^3.0.0" + +"jest-serializer@^27.0.6": + "integrity" "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz" + "version" "27.0.6" dependencies: "@types/node" "*" - graceful-fs "^4.2.4" + "graceful-fs" "^4.2.4" -jest-snapshot@^27.0.6: - version "27.2.1" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.1.tgz#385accf3bb71ac84e9a6bda4fc9bb458d53abb35" - integrity sha512-8CTg2YrgZuQbPHW7G0YvLTj4yTRXLmSeEO+ka3eC5lbu5dsTRyoDNS1L7x7EFUTyYQhFH9HQG1/TNlbUgR9Lug== +"jest-snapshot@^27.0.6": + "integrity" "sha512-8CTg2YrgZuQbPHW7G0YvLTj4yTRXLmSeEO+ka3eC5lbu5dsTRyoDNS1L7x7EFUTyYQhFH9HQG1/TNlbUgR9Lug==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.1.tgz" + "version" "27.2.1" dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" @@ -10774,632 +10926,700 @@ jest-snapshot@^27.0.6: "@jest/types" "^27.1.1" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.2.1" - graceful-fs "^4.2.4" - jest-diff "^27.2.0" - jest-get-type "^27.0.6" - jest-haste-map "^27.2.0" - jest-matcher-utils "^27.2.0" - jest-message-util "^27.2.0" - jest-resolve "^27.2.0" - jest-util "^27.2.0" - natural-compare "^1.4.0" - pretty-format "^27.2.0" - semver "^7.3.2" - -jest-util@^27.0.6, jest-util@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz#bfccb85cfafae752257319e825a5b8d4ada470dc" - integrity sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A== + "babel-preset-current-node-syntax" "^1.0.0" + "chalk" "^4.0.0" + "expect" "^27.2.1" + "graceful-fs" "^4.2.4" + "jest-diff" "^27.2.0" + "jest-get-type" "^27.0.6" + "jest-haste-map" "^27.2.0" + "jest-matcher-utils" "^27.2.0" + "jest-message-util" "^27.2.0" + "jest-resolve" "^27.2.0" + "jest-util" "^27.2.0" + "natural-compare" "^1.4.0" + "pretty-format" "^27.2.0" + "semver" "^7.3.2" + +"jest-util@^27.0.6", "jest-util@^27.2.0": + "integrity" "sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "is-ci" "^3.0.0" + "picomatch" "^2.2.3" -jest-validate@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz#b7535f12d95dd3b4382831f4047384ca098642ab" - integrity sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ== +"jest-validate@^27.2.0": + "integrity" "sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.0.6" - leven "^3.1.0" - pretty-format "^27.2.0" + "camelcase" "^6.2.0" + "chalk" "^4.0.0" + "jest-get-type" "^27.0.6" + "leven" "^3.1.0" + "pretty-format" "^27.2.0" -jest-worker@^24.0.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== +"jest-worker@^24.0.0": + "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" + "version" "24.9.0" dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" + "merge-stream" "^2.0.0" + "supports-color" "^6.1.0" -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +"jest-worker@^26.2.1": + "integrity" "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" + "version" "26.6.2" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^7.0.0" -jest-worker@^27.0.6, jest-worker@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz#11eef39f1c88f41384ca235c2f48fe50bc229bc0" - integrity sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA== +"jest-worker@^27.0.6", "jest-worker@^27.2.0": + "integrity" "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz" + "version" "27.2.0" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jju@^1.1.0, jju@~1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" - integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= - -join-path@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/join-path/-/join-path-1.1.1.tgz#10535a126d24cbd65f7ffcdf15ef2e631076b505" - integrity sha1-EFNaEm0ky9Zff/zfFe8uYxB2tQU= - dependencies: - as-array "^2.0.0" - url-join "0.0.1" - valid-url "^1" - -jquery@^3.4.1: - version "3.6.0" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" - integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.13.1: - version "3.13.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-parse-helpfulerror@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" - integrity sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w= - dependencies: - jju "^1.1.0" - -json-ptr@^3.0.1: - version "3.1.1" - resolved "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz#184c3d48db659fa9bbc1519f7db6f390ddffb659" - integrity sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg== - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -jsonc-parser@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" - integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" + +"jju@^1.1.0", "jju@~1.4.0": + "integrity" "sha1-o6vicYryQaKykE+EpiWXDzia4yo=" + "resolved" "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" + "version" "1.4.0" + +"join-path@^1.1.1": + "integrity" "sha1-EFNaEm0ky9Zff/zfFe8uYxB2tQU=" + "resolved" "https://registry.npmjs.org/join-path/-/join-path-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "as-array" "^2.0.0" + "url-join" "0.0.1" + "valid-url" "^1" + +"jquery@^3.4.1": + "integrity" "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz" + "version" "3.6.0" + +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-tokens@^3.0.2": + "integrity" "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" + "version" "3.0.2" + +"js-yaml@^3.13.0": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^3.6.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^4.1.0", "js-yaml@4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"js-yaml@~3.13.1": + "integrity" "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" + "version" "3.13.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js2xmlparser@^4.0.2": + "integrity" "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==" + "resolved" "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "xmlcreate" "^2.0.4" + +"jsbn@~0.1.0": + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" + +"jsdoc@^3.6.3": + "integrity" "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==" + "resolved" "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz" + "version" "3.6.11" + dependencies: + "@babel/parser" "^7.9.4" + "@types/markdown-it" "^12.2.3" + "bluebird" "^3.7.2" + "catharsis" "^0.9.0" + "escape-string-regexp" "^2.0.0" + "js2xmlparser" "^4.0.2" + "klaw" "^3.0.0" + "markdown-it" "^12.3.2" + "markdown-it-anchor" "^8.4.1" + "marked" "^4.0.10" + "mkdirp" "^1.0.4" + "requizzle" "^0.2.3" + "strip-json-comments" "^3.1.0" + "taffydb" "2.6.2" + "underscore" "~1.13.2" + +"jsesc@^1.3.0": + "integrity" "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz" + "version" "1.3.0" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-bigint@^1.0.0": + "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" + "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "bignumber.js" "^9.0.0" + +"json-buffer@3.0.0": + "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + "version" "3.0.0" + +"json-buffer@3.0.1": + "integrity" "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + "version" "3.0.1" + +"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": + "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + "version" "1.0.2" + +"json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-parse-helpfulerror@^1.0.3": + "integrity" "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=" + "resolved" "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "jju" "^1.1.0" + +"json-ptr@^3.0.1": + "integrity" "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==" + "resolved" "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz" + "version" "3.1.1" + +"json-schema-traverse@^0.3.0": + "integrity" "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" + "version" "0.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + +"json-schema@0.2.3": + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + "version" "0.2.3" + +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + +"json-stable-stringify@1.0.1": + "integrity" "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=" + "resolved" "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "jsonify" "~0.0.0" + +"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" + +"json5@^1.0.1": + "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" + "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "minimist" "^1.2.0" + +"json5@^2.1.2": + "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "minimist" "^1.2.5" + +"json5@^2.2.1": + "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + "version" "2.2.1" + +"jsonc-parser@^3.0.0": + "integrity" "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "resolved" "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz" + "version" "3.1.0" + +"jsonfile@^4.0.0": + "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + "version" "4.0.0" optionalDependencies: - graceful-fs "^4.1.6" + "graceful-fs" "^4.1.6" -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== +"jsonfile@^6.0.1": + "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + "version" "6.1.0" dependencies: - universalify "^2.0.0" + "universalify" "^2.0.0" optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonparse@^1.2.0, jsonparse@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -jsonwebtoken@^8.5.1: - version "8.5.1" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jszip@^3.1.3, jszip@^3.6.0: - version "3.7.1" - resolved "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz#bd63401221c15625a1228c556ca8a68da6fda3d9" - integrity sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - set-immediate-shim "~1.0.1" - -jszip@^3.10.0: - version "3.10.1" - resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - -just-debounce@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" - integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== - -just-extend@^4.0.2: - version "4.2.1" - resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" - integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jwa@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" - integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -jws@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" - integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== - dependencies: - jwa "^2.0.0" - safe-buffer "^5.0.1" - -karma-babel-preprocessor@8.0.2: - version "8.0.2" - resolved "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-8.0.2.tgz#4daff4cfbfcd58c635bf321e135525f608d2d621" - integrity sha512-6ZUnHwaK2EyhgxbgeSJW6n6WZUYSEdekHIV/qDUnPgMkVzQBHEvd07d2mTL5AQjV8uTUgH6XslhaPrp+fHWH2A== - -karma-chrome-launcher@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" - integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== - dependencies: - which "^1.2.1" - -karma-cli@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz#481548d28661af4cc68f3d8e09708f17d2cba931" - integrity sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw== - dependencies: - resolve "^1.3.3" - -karma-coverage-istanbul-reporter@3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz#f3b5303553aadc8e681d40d360dfdc19bc7e9fe9" - integrity sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw== - dependencies: - istanbul-lib-coverage "^3.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^3.0.2" - minimatch "^3.0.4" - -karma-firefox-launcher@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz#9a38cc783c579a50f3ed2a82b7386186385cfc2d" - integrity sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA== - dependencies: - is-wsl "^2.2.0" - which "^2.0.1" - -karma-mocha-reporter@2.2.5: - version "2.2.5" - resolved "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560" - integrity sha1-FRIAlejtgZGG5HoLAS8810GJVWA= - dependencies: - chalk "^2.1.0" - log-symbols "^2.1.0" - strip-ansi "^4.0.0" - -karma-mocha@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" - integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== - dependencies: - minimist "^1.2.3" - -karma-safari-launcher@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz#96982a2cc47d066aae71c553babb28319115a2ce" - integrity sha1-lpgqLMR9BmquccVTursoMZEVos4= - -karma-sourcemap-loader@0.3.8: - version "0.3.8" - resolved "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" - integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== - dependencies: - graceful-fs "^4.1.2" - -karma-spec-reporter@0.0.34: - version "0.0.34" - resolved "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.34.tgz#7dc79cdc76b0e37f17006921439600ae3c648669" - integrity sha512-l5H/Nh9q4g2Ysx2CDU2m+NIPyLQpCVbk9c4V02BTZHw3NM6RO1dq3eRpKXCSSdPt4RGfhHk8jDt3XYkGp+5PWg== - dependencies: - colors "1.4.0" - -karma-summary-reporter@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/karma-summary-reporter/-/karma-summary-reporter-3.1.1.tgz#53d31560a8196027a88c01ae9ac69029286a3da8" - integrity sha512-7MkR8aXBZh5e773SDyzgAQhFg1FsAb4xYi7HYIludpYCPRVS+JxF8Qjxnix7OVVMDArq+prXzVNn+2U5+h1U1w== - dependencies: - chalk "^4.0.0" - -karma-typescript@5.5.3: - version "5.5.3" - resolved "https://registry.npmjs.org/karma-typescript/-/karma-typescript-5.5.3.tgz#29c04d9677f8bd78dfacd89e8fa6f475dd25aba2" - integrity sha512-l1FHurolXEBIzRa9ExpNtjzysAhsi/vLpTazpwLHWWK86mknvVpqor6pRZ5Nid7jvOPrTBqAq0JRuLgiCdRkFw== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - assert "^2.0.0" - async "^3.0.1" - browser-resolve "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^5.4.3" - combine-source-map "^0.8.0" - console-browserify "^1.2.0" - constants-browserify "^1.0.0" - convert-source-map "^1.7.0" - crypto-browserify "^3.12.0" - diff "^4.0.1" - domain-browser "^4.16.0" - events "^3.2.0" - glob "^7.1.6" - https-browserify "^1.0.0" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.19" - log4js "^6.3.0" - minimatch "^3.0.4" - os-browserify "^0.3.0" - pad "^3.2.0" - path-browserify "^1.0.0" - process "^0.11.10" - punycode "^2.1.1" - querystring-es3 "^0.2.1" - readable-stream "^3.1.1" - source-map "^0.7.3" - stream-browserify "^3.0.0" - stream-http "^3.1.0" - string_decoder "^1.3.0" - timers-browserify "^2.0.11" - tmp "^0.2.1" - tty-browserify "^0.0.1" - url "^0.11.0" - util "^0.12.1" - vm-browserify "^1.1.2" - -karma-webpack@4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz#23219bd95bdda853e3073d3874d34447c77bced0" - integrity sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.1.0" - neo-async "^2.6.1" - schema-utils "^1.0.0" - source-map "^0.7.3" - webpack-dev-middleware "^3.7.0" - -karma@6.4.1: - version "6.4.1" - resolved "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9" - integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA== + "graceful-fs" "^4.1.6" + +"jsonify@~0.0.0": + "integrity" "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "resolved" "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" + "version" "0.0.0" + +"jsonparse@^1.2.0", "jsonparse@^1.3.1": + "integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + "version" "1.3.1" + +"JSONStream@^1.0.4": + "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==" + "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + "version" "1.3.5" + dependencies: + "jsonparse" "^1.2.0" + "through" ">=2.2.7 <3" + +"jsonwebtoken@^8.5.1": + "integrity" "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==" + "resolved" "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" + "version" "8.5.1" + dependencies: + "jws" "^3.2.2" + "lodash.includes" "^4.3.0" + "lodash.isboolean" "^3.0.3" + "lodash.isinteger" "^4.0.4" + "lodash.isnumber" "^3.0.3" + "lodash.isplainobject" "^4.0.6" + "lodash.isstring" "^4.0.1" + "lodash.once" "^4.0.0" + "ms" "^2.1.1" + "semver" "^5.6.0" + +"jsprim@^1.2.2": + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.2.3" + "verror" "1.10.0" + +"jszip@^3.1.3", "jszip@^3.10.0", "jszip@^3.6.0": + "integrity" "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==" + "resolved" "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" + "version" "3.10.1" + dependencies: + "lie" "~3.3.0" + "pako" "~1.0.2" + "readable-stream" "~2.3.6" + "setimmediate" "^1.0.5" + +"just-debounce@^1.0.0": + "integrity" "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==" + "resolved" "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz" + "version" "1.1.0" + +"just-extend@^4.0.2": + "integrity" "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" + "resolved" "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" + "version" "4.2.1" + +"jwa@^1.4.1": + "integrity" "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + +"jwa@^2.0.0": + "integrity" "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + +"jws@^3.2.2": + "integrity" "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==" + "resolved" "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "jwa" "^1.4.1" + "safe-buffer" "^5.0.1" + +"jws@^4.0.0": + "integrity" "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==" + "resolved" "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "jwa" "^2.0.0" + "safe-buffer" "^5.0.1" + +"karma-babel-preprocessor@8.0.2": + "integrity" "sha512-6ZUnHwaK2EyhgxbgeSJW6n6WZUYSEdekHIV/qDUnPgMkVzQBHEvd07d2mTL5AQjV8uTUgH6XslhaPrp+fHWH2A==" + "resolved" "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-8.0.2.tgz" + "version" "8.0.2" + +"karma-chrome-launcher@3.1.1": + "integrity" "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==" + "resolved" "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "which" "^1.2.1" + +"karma-cli@2.0.0": + "integrity" "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==" + "resolved" "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "resolve" "^1.3.3" + +"karma-coverage-istanbul-reporter@3.0.3": + "integrity" "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==" + "resolved" "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^3.0.6" + "istanbul-reports" "^3.0.2" + "minimatch" "^3.0.4" + +"karma-firefox-launcher@2.1.2": + "integrity" "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==" + "resolved" "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "is-wsl" "^2.2.0" + "which" "^2.0.1" + +"karma-mocha-reporter@2.2.5": + "integrity" "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=" + "resolved" "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz" + "version" "2.2.5" + dependencies: + "chalk" "^2.1.0" + "log-symbols" "^2.1.0" + "strip-ansi" "^4.0.0" + +"karma-mocha@2.0.1": + "integrity" "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==" + "resolved" "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "minimist" "^1.2.3" + +"karma-safari-launcher@1.0.0": + "integrity" "sha1-lpgqLMR9BmquccVTursoMZEVos4=" + "resolved" "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz" + "version" "1.0.0" + +"karma-sourcemap-loader@0.3.8": + "integrity" "sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g==" + "resolved" "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz" + "version" "0.3.8" + dependencies: + "graceful-fs" "^4.1.2" + +"karma-spec-reporter@0.0.34": + "integrity" "sha512-l5H/Nh9q4g2Ysx2CDU2m+NIPyLQpCVbk9c4V02BTZHw3NM6RO1dq3eRpKXCSSdPt4RGfhHk8jDt3XYkGp+5PWg==" + "resolved" "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.34.tgz" + "version" "0.0.34" + dependencies: + "colors" "1.4.0" + +"karma-summary-reporter@3.1.1": + "integrity" "sha512-7MkR8aXBZh5e773SDyzgAQhFg1FsAb4xYi7HYIludpYCPRVS+JxF8Qjxnix7OVVMDArq+prXzVNn+2U5+h1U1w==" + "resolved" "https://registry.npmjs.org/karma-summary-reporter/-/karma-summary-reporter-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "chalk" "^4.0.0" + +"karma-typescript@5.5.3": + "integrity" "sha512-l1FHurolXEBIzRa9ExpNtjzysAhsi/vLpTazpwLHWWK86mknvVpqor6pRZ5Nid7jvOPrTBqAq0JRuLgiCdRkFw==" + "resolved" "https://registry.npmjs.org/karma-typescript/-/karma-typescript-5.5.3.tgz" + "version" "5.5.3" + dependencies: + "acorn" "^8.1.0" + "acorn-walk" "^8.0.2" + "assert" "^2.0.0" + "async" "^3.0.1" + "browser-resolve" "^2.0.0" + "browserify-zlib" "^0.2.0" + "buffer" "^5.4.3" + "combine-source-map" "^0.8.0" + "console-browserify" "^1.2.0" + "constants-browserify" "^1.0.0" + "convert-source-map" "^1.7.0" + "crypto-browserify" "^3.12.0" + "diff" "^4.0.1" + "domain-browser" "^4.16.0" + "events" "^3.2.0" + "glob" "^7.1.6" + "https-browserify" "^1.0.0" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-instrument" "^4.0.0" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.0.0" + "json-stringify-safe" "^5.0.1" + "lodash" "^4.17.19" + "log4js" "^6.3.0" + "minimatch" "^3.0.4" + "os-browserify" "^0.3.0" + "pad" "^3.2.0" + "path-browserify" "^1.0.0" + "process" "^0.11.10" + "punycode" "^2.1.1" + "querystring-es3" "^0.2.1" + "readable-stream" "^3.1.1" + "source-map" "^0.7.3" + "stream-browserify" "^3.0.0" + "stream-http" "^3.1.0" + "string_decoder" "^1.3.0" + "timers-browserify" "^2.0.11" + "tmp" "^0.2.1" + "tty-browserify" "^0.0.1" + "url" "^0.11.0" + "util" "^0.12.1" + "vm-browserify" "^1.1.2" + +"karma-webpack@4.0.2": + "integrity" "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==" + "resolved" "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "clone-deep" "^4.0.1" + "loader-utils" "^1.1.0" + "neo-async" "^2.6.1" + "schema-utils" "^1.0.0" + "source-map" "^0.7.3" + "webpack-dev-middleware" "^3.7.0" + +"karma@>=0.13", "karma@>=0.9", "karma@1 || 2 || 3 || 4 || 5 || 6", "karma@5.x || 6.x", "karma@6.4.1": + "integrity" "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==" + "resolved" "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz" + "version" "6.4.1" dependencies: "@colors/colors" "1.5.0" - body-parser "^1.19.0" - braces "^3.0.2" - chokidar "^3.5.1" - connect "^3.7.0" - di "^0.0.1" - dom-serialize "^2.2.1" - glob "^7.1.7" - graceful-fs "^4.2.6" - http-proxy "^1.18.1" - isbinaryfile "^4.0.8" - lodash "^4.17.21" - log4js "^6.4.1" - mime "^2.5.2" - minimatch "^3.0.4" - mkdirp "^0.5.5" - qjobs "^1.2.0" - range-parser "^1.2.1" - rimraf "^3.0.2" - socket.io "^4.4.1" - source-map "^0.6.1" - tmp "^0.2.1" - ua-parser-js "^0.7.30" - yargs "^16.1.1" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -keyv@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" - integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0, kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^4.1.4: - version "4.1.5" - resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -kuler@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" - integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== - -last-run@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" - integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= - dependencies: - default-resolution "^2.0.0" - es6-weak-map "^2.0.1" - -latest-version@^5.0.0, latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -lcov-parse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" - integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= - -lcov-result-merger@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-3.1.0.tgz#ae6d1be663dbf7d586d8004642359d39de72039e" - integrity sha512-vGXaMNGZRr4cYvW+xMVg+rg7qd5DX9SbGXl+0S3k85+gRZVK4K7UvxPWzKb/qiMwe+4bx3EOrW2o4mbdb1WnsA== - dependencies: - through2 "^2.0.3" - vinyl "^2.1.0" - vinyl-fs "^3.0.2" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + "body-parser" "^1.19.0" + "braces" "^3.0.2" + "chokidar" "^3.5.1" + "connect" "^3.7.0" + "di" "^0.0.1" + "dom-serialize" "^2.2.1" + "glob" "^7.1.7" + "graceful-fs" "^4.2.6" + "http-proxy" "^1.18.1" + "isbinaryfile" "^4.0.8" + "lodash" "^4.17.21" + "log4js" "^6.4.1" + "mime" "^2.5.2" + "minimatch" "^3.0.4" + "mkdirp" "^0.5.5" + "qjobs" "^1.2.0" + "range-parser" "^1.2.1" + "rimraf" "^3.0.2" + "socket.io" "^4.4.1" + "source-map" "^0.6.1" + "tmp" "^0.2.1" + "ua-parser-js" "^0.7.30" + "yargs" "^16.1.1" + +"keyv@^3.0.0": + "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "json-buffer" "3.0.0" + +"keyv@^4.0.0": + "integrity" "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "json-buffer" "3.0.1" + +"kind-of@^3.0.2": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^3.0.3": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^3.2.0": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^4.0.0": + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + +"kind-of@^5.0.2": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + +"kind-of@^6.0.0", "kind-of@^6.0.2", "kind-of@^6.0.3": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"klaw@^3.0.0": + "integrity" "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==" + "resolved" "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "graceful-fs" "^4.1.9" + +"kleur@^4.1.4": + "integrity" "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" + "version" "4.1.5" + +"kuler@^2.0.0": + "integrity" "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + "resolved" "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz" + "version" "2.0.0" + +"last-run@^1.1.0": + "integrity" "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=" + "resolved" "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "default-resolution" "^2.0.0" + "es6-weak-map" "^2.0.1" + +"latest-version@^5.0.0", "latest-version@^5.1.0": + "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" + "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "package-json" "^6.3.0" + +"lazystream@^1.0.0": + "integrity" "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" + "resolved" "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "readable-stream" "^2.0.5" + +"lcid@^1.0.0": + "integrity" "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=" + "resolved" "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "invert-kv" "^1.0.0" + +"lcov-parse@^1.0.0": + "integrity" "sha1-6w1GtUER68VhrLTECO+TY73I9+A=" + "resolved" "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz" + "version" "1.0.0" + +"lcov-result-merger@3.1.0": + "integrity" "sha512-vGXaMNGZRr4cYvW+xMVg+rg7qd5DX9SbGXl+0S3k85+gRZVK4K7UvxPWzKb/qiMwe+4bx3EOrW2o4mbdb1WnsA==" + "resolved" "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "through2" "^2.0.3" + "vinyl" "^2.1.0" + "vinyl-fs" "^3.0.2" + +"lead@^1.0.0": + "integrity" "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=" + "resolved" "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz" + "version" "1.0.0" dependencies: - flush-write-stream "^1.0.2" + "flush-write-stream" "^1.0.2" -lerna@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" - integrity sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg== +"lerna@4.0.0": + "integrity" "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==" + "resolved" "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz" + "version" "4.0.0" dependencies: "@lerna/add" "4.0.0" "@lerna/bootstrap" "4.0.0" @@ -11417,2702 +11637,2745 @@ lerna@4.0.0: "@lerna/publish" "4.0.0" "@lerna/run" "4.0.0" "@lerna/version" "4.0.0" - import-local "^3.0.2" - npmlog "^4.1.2" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -libnpmaccess@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz#dfb0e5b0a53c315a2610d300e46b4ddeb66e7eec" - integrity sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ== - dependencies: - aproba "^2.0.0" - minipass "^3.1.1" - npm-package-arg "^8.1.2" - npm-registry-fetch "^11.0.0" - -libnpmpublish@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz#be77e8bf5956131bcb45e3caa6b96a842dec0794" - integrity sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw== - dependencies: - normalize-package-data "^3.0.2" - npm-package-arg "^8.1.2" - npm-registry-fetch "^11.0.0" - semver "^7.1.3" - ssri "^8.0.1" - -libsodium-wrappers@^0.7.10: - version "0.7.10" - resolved "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#13ced44cacb0fc44d6ac9ce67d725956089ce733" - integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== - dependencies: - libsodium "^0.7.0" - -libsodium@^0.7.0: - version "0.7.10" - resolved "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz#c2429a7e4c0836f879d701fec2c8a208af024159" - integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== - -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - -liftoff@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" - integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== - dependencies: - extend "^3.0.0" - findup-sync "^3.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= - -listr-update-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" - integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" - integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== - dependencies: - chalk "^2.4.1" - cli-cursor "^2.1.0" - date-fns "^1.27.2" - figures "^2.0.0" - -listr@0.14.3: - version "0.14.3" - resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" - integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== + "import-local" "^3.0.2" + "npmlog" "^4.1.2" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@^0.4.1": + "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "prelude-ls" "^1.2.1" + "type-check" "~0.4.0" + +"levn@~0.3.0": + "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + +"libnpmaccess@^4.0.1": + "integrity" "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==" + "resolved" "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "aproba" "^2.0.0" + "minipass" "^3.1.1" + "npm-package-arg" "^8.1.2" + "npm-registry-fetch" "^11.0.0" + +"libnpmpublish@^4.0.0": + "integrity" "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==" + "resolved" "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "normalize-package-data" "^3.0.2" + "npm-package-arg" "^8.1.2" + "npm-registry-fetch" "^11.0.0" + "semver" "^7.1.3" + "ssri" "^8.0.1" + +"libsodium-wrappers@^0.7.10": + "integrity" "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==" + "resolved" "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" + "version" "0.7.10" + dependencies: + "libsodium" "^0.7.0" + +"libsodium@^0.7.0": + "integrity" "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" + "resolved" "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" + "version" "0.7.10" + +"lie@~3.3.0": + "integrity" "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" + "resolved" "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "immediate" "~3.0.5" + +"liftoff@^3.1.0": + "integrity" "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==" + "resolved" "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend" "^3.0.0" + "findup-sync" "^3.0.0" + "fined" "^1.0.1" + "flagged-respawn" "^1.0.0" + "is-plain-object" "^2.0.4" + "object.map" "^1.0.0" + "rechoir" "^0.6.2" + "resolve" "^1.1.7" + +"lines-and-columns@^1.1.6": + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + "version" "1.1.6" + +"linkify-it@^3.0.1": + "integrity" "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==" + "resolved" "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "uc.micro" "^1.0.1" + +"listenercount@~1.0.1": + "integrity" "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" + "resolved" "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz" + "version" "1.0.1" + +"listr-silent-renderer@^1.1.1": + "integrity" "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" + "resolved" "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" + "version" "1.1.1" + +"listr-update-renderer@^0.5.0": + "integrity" "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==" + "resolved" "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "chalk" "^1.1.3" + "cli-truncate" "^0.2.1" + "elegant-spinner" "^1.0.1" + "figures" "^1.7.0" + "indent-string" "^3.0.0" + "log-symbols" "^1.0.2" + "log-update" "^2.3.0" + "strip-ansi" "^3.0.1" + +"listr-verbose-renderer@^0.5.0": + "integrity" "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==" + "resolved" "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "chalk" "^2.4.1" + "cli-cursor" "^2.1.0" + "date-fns" "^1.27.2" + "figures" "^2.0.0" + +"listr@^0.14.2", "listr@0.14.3": + "integrity" "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==" + "resolved" "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" + "version" "0.14.3" dependencies: "@samverschueren/stream-to-observable" "^0.3.0" - is-observable "^1.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.5.0" - listr-verbose-renderer "^0.5.0" - p-map "^2.0.0" - rxjs "^6.3.3" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -load-json-file@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - -load-yaml-file@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" - integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== - dependencies: - graceful-fs "^4.1.5" - js-yaml "^3.13.0" - pify "^4.0.1" - strip-bom "^3.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash._objecttypes@~2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" - integrity sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE= - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.clone@^4.3.2: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" - integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= - -lodash.get@^4.0.0, lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= - -lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isobject@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" - integrity sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU= - dependencies: - lodash._objecttypes "~2.4.1" - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - -lodash.memoize@~3.0.3: - version "3.0.4" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" - integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= - -lodash.some@^4.2.2: - version "4.6.0" - resolved "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.union@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= - -lodash@4.17.21, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.15, lodash@~4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-driver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" - integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== - -log-symbols@4.1.0, log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= - dependencies: - chalk "^1.0.0" - -log-symbols@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -log4js@^6.3.0: - version "6.4.0" - resolved "https://registry.npmjs.org/log4js/-/log4js-6.4.0.tgz#3f63ccfc8033c83cd617a4d2d50e48be5944eae9" - integrity sha512-ysc/XUecZJuN8NoKOssk3V0cQ29xY4fra6fnigZa5VwxFsCsvdqsdnEuAxNN89LlHpbE4KUD3zGcn+kFqonSVQ== - dependencies: - date-format "^4.0.3" - debug "^4.3.3" - flatted "^3.2.4" - rfdc "^1.3.0" - streamroller "^3.0.2" - -log4js@^6.4.1: - version "6.4.2" - resolved "https://registry.npmjs.org/log4js/-/log4js-6.4.2.tgz#45ec783835acc525b397f52cf086e26994fe3b70" - integrity sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg== - dependencies: - date-format "^4.0.4" - debug "^4.3.3" - flatted "^3.2.5" - rfdc "^1.3.0" - streamroller "^3.0.4" - -logform@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz#a3997a05985de2ebd325ae0d166dffc9c6fe6b57" - integrity sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ== - dependencies: - colors "^1.2.1" - fecha "^4.2.0" - ms "^2.1.1" - safe-stable-stringify "^1.1.0" - triple-beam "^1.3.0" - -long@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - integrity sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s= - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loupe@^2.3.1: - version "2.3.4" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" - integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== - dependencies: - get-func-name "^2.0.0" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= - dependencies: - es5-ext "~0.10.2" - -lunr@^2.3.8: - version "2.3.9" - resolved "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -magic-string@^0.25.2, magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -magic-string@~0.26.2: - version "0.26.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" - integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -make-fetch-happen@^8.0.14, make-fetch-happen@^8.0.9: - version "8.0.14" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" - integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.0.5" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - promise-retry "^2.0.1" - socks-proxy-agent "^5.0.0" - ssri "^8.0.0" - -make-fetch-happen@^9.0.1: - version "9.1.0" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== - dependencies: - kind-of "^6.0.2" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -marked-terminal@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz#d2edc2991841d893ee943b44b40b2ee9518b4d9f" - integrity sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g== - dependencies: - ansi-escapes "^5.0.0" - cardinal "^2.1.1" - chalk "^5.0.0" - cli-table3 "^0.6.1" - node-emoji "^1.11.0" - supports-hyperlinks "^2.2.0" - -marked@^0.8.0: - version "0.8.2" - resolved "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" - integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== - -marked@^4.0.14: - version "4.0.18" - resolved "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" - integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== - -matchdep@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memfs@3.4.7: - version "3.4.7" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" - integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== - dependencies: - fs-monkey "^1.0.3" - -memoizee@0.4.X, memoizee@^0.4.15: - version "0.4.15" - resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - -meow@^6.0.0: - version "6.1.1" - resolved "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" - integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== + "is-observable" "^1.1.0" + "is-promise" "^2.1.0" + "is-stream" "^1.1.0" + "listr-silent-renderer" "^1.1.1" + "listr-update-renderer" "^0.5.0" + "listr-verbose-renderer" "^0.5.0" + "p-map" "^2.0.0" + "rxjs" "^6.3.3" + +"load-json-file@^1.0.0": + "integrity" "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^2.2.0" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + "strip-bom" "^2.0.0" + +"load-json-file@^4.0.0": + "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^4.0.0" + "pify" "^3.0.0" + "strip-bom" "^3.0.0" + +"load-json-file@^6.2.0": + "integrity" "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "graceful-fs" "^4.1.15" + "parse-json" "^5.0.0" + "strip-bom" "^4.0.0" + "type-fest" "^0.6.0" + +"load-yaml-file@^0.2.0": + "integrity" "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==" + "resolved" "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "graceful-fs" "^4.1.5" + "js-yaml" "^3.13.0" + "pify" "^4.0.1" + "strip-bom" "^3.0.0" + +"loader-runner@^2.4.0": + "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" + "version" "2.4.0" + +"loader-runner@^4.2.0": + "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" + "version" "4.2.0" + +"loader-utils@^1.1.0", "loader-utils@^1.2.3": + "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^1.0.1" + +"loader-utils@^2.0.0": + "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^2.1.2" + +"locate-path@^2.0.0": + "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "p-locate" "^2.0.0" + "path-exists" "^3.0.0" + +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"locate-path@^6.0.0": + "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "p-locate" "^5.0.0" + +"lodash._objecttypes@~2.4.1": + "integrity" "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" + "resolved" "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version" "2.4.1" + +"lodash._reinterpolate@^3.0.0": + "integrity" "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + "version" "3.0.0" + +"lodash.camelcase@^4.3.0": + "integrity" "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + "version" "4.3.0" + +"lodash.clone@^4.3.2": + "integrity" "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "resolved" "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz" + "version" "4.5.0" + +"lodash.clonedeep@^4.5.0": + "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + "version" "4.5.0" + +"lodash.debounce@^4.0.8": + "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.defaults@^4.2.0": + "integrity" "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + "version" "4.2.0" + +"lodash.difference@^4.5.0": + "integrity" "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + "resolved" "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" + "version" "4.5.0" + +"lodash.flatten@^4.4.0": + "integrity" "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + "version" "4.4.0" + +"lodash.flattendeep@^4.4.0": + "integrity" "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + "resolved" "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" + "version" "4.4.0" + +"lodash.get@^4.0.0", "lodash.get@^4.4.2": + "integrity" "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "resolved" "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + "version" "4.4.2" + +"lodash.includes@^4.3.0": + "integrity" "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "resolved" "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" + "version" "4.3.0" + +"lodash.isboolean@^3.0.3": + "integrity" "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "resolved" "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + "version" "3.0.3" + +"lodash.isequal@^4.0.0", "lodash.isequal@^4.5.0": + "integrity" "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + "resolved" "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + "version" "4.5.0" + +"lodash.isinteger@^4.0.4": + "integrity" "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "resolved" "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" + "version" "4.0.4" + +"lodash.ismatch@^4.4.0": + "integrity" "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=" + "resolved" "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" + "version" "4.4.0" + +"lodash.isnumber@^3.0.3": + "integrity" "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "resolved" "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + "version" "3.0.3" + +"lodash.isobject@^2.4.1": + "integrity" "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=" + "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._objecttypes" "~2.4.1" + +"lodash.isplainobject@^4.0.6": + "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + "version" "4.0.6" + +"lodash.isstring@^4.0.1": + "integrity" "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + "version" "4.0.1" + +"lodash.memoize@~3.0.3": + "integrity" "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz" + "version" "3.0.4" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.once@^4.0.0": + "integrity" "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "resolved" "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + "version" "4.1.1" + +"lodash.snakecase@^4.1.1": + "integrity" "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=" + "resolved" "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" + "version" "4.1.1" + +"lodash.some@^4.2.2": + "integrity" "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + "resolved" "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" + "version" "4.6.0" + +"lodash.startcase@^4.4.0": + "integrity" "sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg=" + "resolved" "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz" + "version" "4.4.0" + +"lodash.template@^4.5.0": + "integrity" "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==" + "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "lodash._reinterpolate" "^3.0.0" + "lodash.templatesettings" "^4.0.0" + +"lodash.templatesettings@^4.0.0": + "integrity" "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==" + "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "lodash._reinterpolate" "^3.0.0" + +"lodash.truncate@^4.4.2": + "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" + "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + "version" "4.4.2" + +"lodash.union@^4.6.0": + "integrity" "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + "resolved" "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" + "version" "4.6.0" + +"lodash@^4.16.6", "lodash@^4.17.10", "lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.21", "lodash@^4.17.4", "lodash@^4.7.0", "lodash@~4.17.15", "lodash@~4.17.21", "lodash@4.17.21": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"log-driver@^1.2.7": + "integrity" "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" + "resolved" "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz" + "version" "1.2.7" + +"log-symbols@^1.0.2": + "integrity" "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "chalk" "^1.0.0" + +"log-symbols@^2.1.0": + "integrity" "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "chalk" "^2.0.1" + +"log-symbols@^4.1.0", "log-symbols@4.1.0": + "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "chalk" "^4.1.0" + "is-unicode-supported" "^0.1.0" + +"log-update@^2.3.0": + "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=" + "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ansi-escapes" "^3.0.0" + "cli-cursor" "^2.0.0" + "wrap-ansi" "^3.0.1" + +"log4js@^6.3.0", "log4js@^6.4.1": + "integrity" "sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg==" + "resolved" "https://registry.npmjs.org/log4js/-/log4js-6.4.2.tgz" + "version" "6.4.2" + dependencies: + "date-format" "^4.0.4" + "debug" "^4.3.3" + "flatted" "^3.2.5" + "rfdc" "^1.3.0" + "streamroller" "^3.0.4" + +"logform@^2.2.0": + "integrity" "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==" + "resolved" "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "colors" "^1.2.1" + "fecha" "^4.2.0" + "ms" "^2.1.1" + "safe-stable-stringify" "^1.1.0" + "triple-beam" "^1.3.0" + +"long@^4.0.0": + "integrity" "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "resolved" "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + "version" "4.0.0" + +"long@^5.0.0": + "integrity" "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + "resolved" "https://registry.npmjs.org/long/-/long-5.2.0.tgz" + "version" "5.2.0" + +"long@3.2.0": + "integrity" "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + "resolved" "https://registry.npmjs.org/long/-/long-3.2.0.tgz" + "version" "3.2.0" + +"loose-envify@^1.0.0": + "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" + "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "js-tokens" "^3.0.0 || ^4.0.0" + +"loupe@^2.3.1": + "integrity" "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==" + "resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz" + "version" "2.3.4" + dependencies: + "get-func-name" "^2.0.0" + +"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": + "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + "version" "1.0.1" + +"lowercase-keys@^2.0.0": + "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + "version" "2.0.0" + +"lru-cache@^4.0.1": + "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + "version" "4.1.5" + dependencies: + "pseudomap" "^1.0.2" + "yallist" "^2.1.2" + +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "yallist" "^3.0.2" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"lru-queue@^0.1.0": + "integrity" "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=" + "resolved" "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "es5-ext" "~0.10.2" + +"lunr@^2.3.8": + "integrity" "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + "resolved" "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz" + "version" "2.3.9" + +"magic-string@^0.25.2", "magic-string@^0.25.7": + "integrity" "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" + "version" "0.25.7" + dependencies: + "sourcemap-codec" "^1.4.4" + +"magic-string@~0.26.2": + "integrity" "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz" + "version" "0.26.7" + dependencies: + "sourcemap-codec" "^1.4.8" + +"make-dir@^2.0.0", "make-dir@^2.1.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pify" "^4.0.1" + "semver" "^5.6.0" + +"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"make-error@^1.1.1": + "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + "version" "1.3.6" + +"make-fetch-happen@^8.0.9": + "integrity" "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==" + "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz" + "version" "8.0.14" + dependencies: + "agentkeepalive" "^4.1.3" + "cacache" "^15.0.5" + "http-cache-semantics" "^4.1.0" + "http-proxy-agent" "^4.0.1" + "https-proxy-agent" "^5.0.0" + "is-lambda" "^1.0.1" + "lru-cache" "^6.0.0" + "minipass" "^3.1.3" + "minipass-collect" "^1.0.2" + "minipass-fetch" "^1.3.2" + "minipass-flush" "^1.0.5" + "minipass-pipeline" "^1.2.4" + "promise-retry" "^2.0.1" + "socks-proxy-agent" "^5.0.0" + "ssri" "^8.0.0" + +"make-fetch-happen@^9.0.1", "make-fetch-happen@^9.1.0": + "integrity" "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==" + "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" + "version" "9.1.0" + dependencies: + "agentkeepalive" "^4.1.3" + "cacache" "^15.2.0" + "http-cache-semantics" "^4.1.0" + "http-proxy-agent" "^4.0.1" + "https-proxy-agent" "^5.0.0" + "is-lambda" "^1.0.1" + "lru-cache" "^6.0.0" + "minipass" "^3.1.3" + "minipass-collect" "^1.0.2" + "minipass-fetch" "^1.3.2" + "minipass-flush" "^1.0.5" + "minipass-pipeline" "^1.2.4" + "negotiator" "^0.6.2" + "promise-retry" "^2.0.1" + "socks-proxy-agent" "^6.0.0" + "ssri" "^8.0.0" + +"make-iterator@^1.0.0": + "integrity" "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==" + "resolved" "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "kind-of" "^6.0.2" + +"makeerror@1.0.x": + "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "tmpl" "1.0.x" + +"map-cache@^0.2.0", "map-cache@^0.2.2": + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" + +"map-obj@^1.0.0": + "integrity" "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + "version" "1.0.1" + +"map-obj@^4.0.0": + "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + "version" "4.3.0" + +"map-visit@^1.0.0": + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "object-visit" "^1.0.0" + +"markdown-it-anchor@^8.4.1": + "integrity" "sha512-PI1qEHHkTNWT+X6Ip9w+paonfIQ+QZP9sCeMYi47oqhH+EsW8CrJ8J7CzV19QVOj6il8ATGbK2nTECj22ZHGvQ==" + "resolved" "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.5.tgz" + "version" "8.6.5" + +"markdown-it@*", "markdown-it@^12.3.2": + "integrity" "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==" + "resolved" "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz" + "version" "12.3.2" + dependencies: + "argparse" "^2.0.1" + "entities" "~2.1.0" + "linkify-it" "^3.0.1" + "mdurl" "^1.0.1" + "uc.micro" "^1.0.5" + +"marked-terminal@^5.1.1": + "integrity" "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==" + "resolved" "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "ansi-escapes" "^5.0.0" + "cardinal" "^2.1.1" + "chalk" "^5.0.0" + "cli-table3" "^0.6.1" + "node-emoji" "^1.11.0" + "supports-hyperlinks" "^2.2.0" + +"marked@^0.8.0": + "integrity" "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==" + "resolved" "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz" + "version" "0.8.2" + +"marked@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "marked@^4.0.10", "marked@^4.0.14": + "integrity" "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==" + "resolved" "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz" + "version" "4.0.18" + +"matchdep@^2.0.0": + "integrity" "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=" + "resolved" "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "findup-sync" "^2.0.0" + "micromatch" "^3.0.4" + "resolve" "^1.4.0" + "stack-trace" "0.0.10" + +"md5.js@^1.3.4", "md5.js@^1.3.5": + "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" + "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + "version" "1.3.5" + dependencies: + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" + +"mdurl@^1.0.1": + "integrity" "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + "version" "1.0.1" + +"media-typer@0.3.0": + "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" + +"memfs@3.4.7": + "integrity" "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==" + "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz" + "version" "3.4.7" + dependencies: + "fs-monkey" "^1.0.3" + +"memoizee@^0.4.15", "memoizee@0.4.X": + "integrity" "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==" + "resolved" "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" + "version" "0.4.15" + dependencies: + "d" "^1.0.1" + "es5-ext" "^0.10.53" + "es6-weak-map" "^2.0.3" + "event-emitter" "^0.3.5" + "is-promise" "^2.2.2" + "lru-queue" "^0.1.0" + "next-tick" "^1.1.0" + "timers-ext" "^0.1.7" + +"memory-fs@^0.4.1": + "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"memory-fs@^0.5.0": + "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"memorystream@^0.3.1": + "integrity" "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + "resolved" "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" + "version" "0.3.1" + +"meow@^6.0.0": + "integrity" "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==" + "resolved" "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz" + "version" "6.1.1" dependencies: "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + "camelcase-keys" "^6.2.2" + "decamelize-keys" "^1.1.0" + "hard-rejection" "^2.1.0" + "minimist-options" "^4.0.2" + "normalize-package-data" "^2.5.0" + "read-pkg-up" "^7.0.1" + "redent" "^3.0.0" + "trim-newlines" "^3.0.0" + "type-fest" "^0.13.1" + "yargs-parser" "^18.1.3" + +"meow@^8.0.0": + "integrity" "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==" + "resolved" "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" + "version" "8.1.2" dependencies: "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@1.4.1, merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merge@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.49.0: - version "1.49.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" - integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + "camelcase-keys" "^6.2.2" + "decamelize-keys" "^1.1.0" + "hard-rejection" "^2.1.0" + "minimist-options" "4.1.0" + "normalize-package-data" "^3.0.0" + "read-pkg-up" "^7.0.1" + "redent" "^3.0.0" + "trim-newlines" "^3.0.0" + "type-fest" "^0.18.0" + "yargs-parser" "^20.2.3" + +"merge-descriptors@1.0.1": + "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "version" "1.0.1" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge@^1.2.0": + "integrity" "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" + "resolved" "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz" + "version" "1.2.1" + +"merge2@^1.2.3", "merge2@^1.3.0", "merge2@^1.4.1", "merge2@1.4.1": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"methods@~1.1.2": + "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "version" "1.1.2" + +"micromatch@^3.0.4": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^3.1.10", "micromatch@^3.1.4": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^4.0.0", "micromatch@^4.0.2", "micromatch@^4.0.4": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"miller-rabin@^4.0.0": + "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" + "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "bn.js" "^4.0.0" + "brorand" "^1.0.1" "mime-db@>= 1.43.0 < 2": - version "1.50.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" - integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== - -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.32" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" - integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== - dependencies: - mime-db "1.49.0" - -mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4, mime@^2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.0, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0, minimist-options@^4.0.2: - version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@1.x, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" + "integrity" "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz" + "version" "1.50.0" + +"mime-db@1.49.0": + "integrity" "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz" + "version" "1.49.0" + +"mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.12", "mime-types@^2.1.16", "mime-types@^2.1.27", "mime-types@~2.1.19", "mime-types@~2.1.24": + "integrity" "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" + "version" "2.1.32" + dependencies: + "mime-db" "1.49.0" + +"mime-types@~2.1.34": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime@^1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mime@^2.4.4", "mime@^2.5.2": + "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + "version" "2.5.2" + +"mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mimic-fn@^1.0.0": + "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + "version" "1.2.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"mimic-response@^1.0.0", "mimic-response@^1.0.1": + "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + "version" "1.0.1" + +"mimic-response@^3.1.0": + "integrity" "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + "version" "3.1.0" + +"min-indent@^1.0.0": + "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-crypto-utils@^1.0.1": + "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.0", "minimatch@^3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + +"minimatch@^3.1.1": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"minimatch@^3.1.2": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"minimatch@^5.0.1": + "integrity" "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "brace-expansion" "^2.0.1" + +"minimatch@4.2.1": + "integrity" "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist-options@^4.0.2", "minimist-options@4.1.0": + "integrity" "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==" + "resolved" "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "arrify" "^1.0.1" + "is-plain-obj" "^1.1.0" + "kind-of" "^6.0.3" + +"minimist@^1.2.0", "minimist@^1.2.3", "minimist@^1.2.5", "minimist@1.x": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" + +"minimist@^1.2.6": + "integrity" "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" + "version" "1.2.6" + +"minimist@~0.0.1": + "integrity" "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + "version" "0.0.10" + +"minipass-collect@^1.0.2": + "integrity" "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==" + "resolved" "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "minipass" "^3.0.0" + +"minipass-fetch@^1.3.0", "minipass-fetch@^1.3.2": + "integrity" "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==" + "resolved" "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "minipass" "^3.1.0" + "minipass-sized" "^1.0.3" + "minizlib" "^2.0.0" optionalDependencies: - encoding "^0.1.12" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== - dependencies: - jsonparse "^1.3.1" - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" - integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== - dependencies: - yallist "^4.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -minizlib@^2.0.0, minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixme@^0.5.1: - version "0.5.4" - resolved "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz#8cb3bd0cd32a513c161bf1ca99d143f0bcf2eff3" - integrity sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw== - -mkdirp-infer-owner@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" - integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== - dependencies: - chownr "^2.0.0" - infer-owner "^1.0.4" - mkdirp "^1.0.3" - -mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mocha-chai-jest-snapshot@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.3.tgz#ac7b280961a9da08b529d0f8488e90a4cbe9ece8" - integrity sha512-i2Vb+6mXKBMapNAbVUiM11CPJgkJ1BKwouH98Bcx0trgAcVZxdRt4pNlbLZogjQEj/gCmjrW5Y8hmYWWDoXwGg== + "encoding" "^0.1.12" + +"minipass-flush@^1.0.5": + "integrity" "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==" + "resolved" "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "minipass" "^3.0.0" + +"minipass-json-stream@^1.0.1": + "integrity" "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==" + "resolved" "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "jsonparse" "^1.3.1" + "minipass" "^3.0.0" + +"minipass-pipeline@^1.2.2", "minipass-pipeline@^1.2.4": + "integrity" "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==" + "resolved" "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + "version" "1.2.4" + dependencies: + "minipass" "^3.0.0" + +"minipass-sized@^1.0.3": + "integrity" "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==" + "resolved" "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "minipass" "^3.0.0" + +"minipass@^2.6.0", "minipass@^2.9.0": + "integrity" "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==" + "resolved" "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" + "version" "2.9.0" + dependencies: + "safe-buffer" "^5.1.2" + "yallist" "^3.0.0" + +"minipass@^3.0.0", "minipass@^3.1.0", "minipass@^3.1.1", "minipass@^3.1.3": + "integrity" "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==" + "resolved" "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "yallist" "^4.0.0" + +"minizlib@^1.3.3": + "integrity" "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==" + "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "minipass" "^2.9.0" + +"minizlib@^2.0.0", "minizlib@^2.1.1": + "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" + "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "minipass" "^3.0.0" + "yallist" "^4.0.0" + +"mississippi@^3.0.0": + "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" + "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "concat-stream" "^1.5.0" + "duplexify" "^3.4.2" + "end-of-stream" "^1.1.0" + "flush-write-stream" "^1.0.0" + "from2" "^2.1.0" + "parallel-transform" "^1.1.0" + "pump" "^3.0.0" + "pumpify" "^1.3.3" + "stream-each" "^1.1.0" + "through2" "^2.0.0" + +"mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" + +"mixme@^0.5.1": + "integrity" "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==" + "resolved" "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz" + "version" "0.5.4" + +"mkdirp-infer-owner@^2.0.0": + "integrity" "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==" + "resolved" "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "chownr" "^2.0.0" + "infer-owner" "^1.0.4" + "mkdirp" "^1.0.3" + +"mkdirp@^0.5.1", "mkdirp@^0.5.5": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mkdirp@^0.5.3": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mkdirp@^1.0.3", "mkdirp@^1.0.4", "mkdirp@~1.0.4", "mkdirp@1.0.4": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"mkdirp@>=0.5 0": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mocha-chai-jest-snapshot@1.1.3": + "integrity" "sha512-i2Vb+6mXKBMapNAbVUiM11CPJgkJ1BKwouH98Bcx0trgAcVZxdRt4pNlbLZogjQEj/gCmjrW5Y8hmYWWDoXwGg==" + "resolved" "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.3.tgz" + "version" "1.1.3" dependencies: "@jest/test-result" "^27.0.6" - chalk "^4.1.2" - find-package-json "^1.2.0" - jest-snapshot "^27.0.6" - jest-util "^27.0.6" - slash "^3.0.0" - yargs "^17.1.1" - -mocha@9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9" - integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== + "chalk" "^4.1.2" + "find-package-json" "^1.2.0" + "jest-snapshot" "^27.0.6" + "jest-util" "^27.0.6" + "slash" "^3.0.0" + "yargs" "^17.1.1" + +"mocha@9.2.2": + "integrity" "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==" + "resolved" "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" + "version" "9.2.2" dependencies: "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.3" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - growl "1.10.5" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "4.2.1" - ms "2.1.3" - nanoid "3.3.1" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - which "2.0.2" - workerpool "6.2.0" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -moment@~2.29.3: - version "2.29.4" - resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -morgan@^1.10.0, morgan@^1.8.2: - version "1.10.0" - resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" - integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== - dependencies: - basic-auth "~2.0.1" - debug "2.6.9" - depd "~2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.2" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.0.0, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multimatch@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + "ansi-colors" "4.1.1" + "browser-stdout" "1.3.1" + "chokidar" "3.5.3" + "debug" "4.3.3" + "diff" "5.0.0" + "escape-string-regexp" "4.0.0" + "find-up" "5.0.0" + "glob" "7.2.0" + "growl" "1.10.5" + "he" "1.2.0" + "js-yaml" "4.1.0" + "log-symbols" "4.1.0" + "minimatch" "4.2.1" + "ms" "2.1.3" + "nanoid" "3.3.1" + "serialize-javascript" "6.0.0" + "strip-json-comments" "3.1.1" + "supports-color" "8.1.1" + "which" "2.0.2" + "workerpool" "6.2.0" + "yargs" "16.2.0" + "yargs-parser" "20.2.4" + "yargs-unparser" "2.0.0" + +"modify-values@^1.0.0": + "integrity" "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" + "resolved" "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" + "version" "1.0.1" + +"moment@~2.29.3": + "integrity" "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + "resolved" "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" + "version" "2.29.4" + +"morgan@^1.10.0", "morgan@^1.8.2": + "integrity" "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==" + "resolved" "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "basic-auth" "~2.0.1" + "debug" "2.6.9" + "depd" "~2.0.0" + "on-finished" "~2.3.0" + "on-headers" "~1.0.2" + +"move-concurrently@^1.0.1": + "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=" + "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "aproba" "^1.1.1" + "copy-concurrently" "^1.0.0" + "fs-write-stream-atomic" "^1.0.8" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.3" + +"ms@^2.0.0", "ms@^2.1.1", "ms@2.1.3": + "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + "version" "2.1.3" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"multimatch@^5.0.0": + "integrity" "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==" + "resolved" "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" + "version" "5.0.0" dependencies: "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - -mute-stream@0.0.8, mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.12.1, nan@^2.14.2: - version "2.15.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanocolors@^0.1.5: - version "0.1.12" - resolved "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" - integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== - -nanoid@3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.2.1: - version "2.9.1" - resolved "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" - integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.2, negotiator@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -netmask@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" - integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== - -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^4.0.4: - version "4.1.0" - resolved "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz#8fb75a26e90b99202fa1e63f448f58efbcdedaf6" - integrity sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA== + "array-differ" "^3.0.0" + "array-union" "^2.1.0" + "arrify" "^2.0.1" + "minimatch" "^3.0.4" + +"mute-stdout@^1.0.0": + "integrity" "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==" + "resolved" "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz" + "version" "1.0.1" + +"mute-stream@~0.0.4", "mute-stream@0.0.8": + "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + "version" "0.0.8" + +"mz@2.7.0": + "integrity" "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==" + "resolved" "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "any-promise" "^1.0.0" + "object-assign" "^4.0.1" + "thenify-all" "^1.0.0" + +"nan@^2.12.1", "nan@^2.14.2": + "integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + "resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" + "version" "2.15.0" + +"nanoid@3.3.1": + "integrity" "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" + "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" + "version" "3.3.1" + +"nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "fragment-cache" "^0.2.1" + "is-windows" "^1.0.2" + "kind-of" "^6.0.2" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"natural-compare@^1.4.0": + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"negotiator@^0.6.2", "negotiator@0.6.2": + "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" + "version" "0.6.2" + +"negotiator@0.6.3": + "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + "version" "0.6.3" + +"neo-async@^2.5.0", "neo-async@^2.6.0", "neo-async@^2.6.1", "neo-async@^2.6.2": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"netmask@^2.0.1": + "integrity" "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" + "resolved" "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" + "version" "2.0.2" + +"next-tick@^1.1.0", "next-tick@1": + "integrity" "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" + "version" "1.1.0" + +"next-tick@~1.0.0": + "integrity" "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" + "version" "1.0.0" + +"nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + +"nise@^4.0.4": + "integrity" "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==" + "resolved" "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz" + "version" "4.1.0" dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers" "^6.0.0" "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" - -node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -node-emoji@^1.11.0: - version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@2.6.7, node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.5.0, node-fetch@^2.6.1: - version "2.6.5" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" - integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp@3.x: - version "3.8.0" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -node-gyp@^5.0.2: - version "5.1.1" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" - integrity sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.1.2" - request "^2.88.0" - rimraf "^2.6.3" - semver "^5.7.1" - tar "^4.4.12" - which "^1.3.1" - -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - -node-gyp@^8.0.0: - version "8.2.0" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.2.0.tgz#ef509ccdf5cef3b4d93df0690b90aa55ff8c7977" - integrity sha512-KG8SdcoAnw2d6augGwl1kOayALUrXW/P2uOAm2J2+nmW/HjZo7y+8TDg7LejxbekOOSv3kzhq+NSUYkIDAX8eA== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^8.0.14" - nopt "^5.0.0" - npmlog "^4.1.2" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-localstorage@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz#3177ef42837f398aee5dd75e319b281e40704243" - integrity sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ== - dependencies: - write-file-atomic "^1.1.4" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-pre-gyp@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" - integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-preload@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" - integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== - dependencies: - process-on-spawn "^1.0.0" - -node-releases@^1.1.76: - version "1.1.76" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" - integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== - -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -node-version@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz#34fde3ffa8e1149bd323983479dda620e1b5060d" - integrity sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ== - -noop-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz#5f33d47f13d2150df93e0cb036699e982f78ffbf" - integrity sha1-XzPUfxPSFQ35PgywNmmemC94/78= - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -normalize-url@^6.0.1, normalize-url@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - -npm-bundled@^1.0.1, npm-bundled@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" - integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-install-checks@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" - integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== - dependencies: - semver "^7.1.1" - -npm-lifecycle@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" - integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== - dependencies: - byline "^5.0.0" - graceful-fs "^4.1.15" - node-gyp "^5.0.2" - resolve-from "^4.0.0" - slide "^1.1.6" - uid-number "0.0.6" - umask "^1.1.0" - which "^1.3.1" - -npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: - version "8.1.5" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" - integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== - dependencies: - hosted-git-info "^4.0.1" - semver "^7.3.4" - validate-npm-package-name "^3.0.0" - -npm-packlist@^1.1.6: - version "1.4.8" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" - integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-normalize-package-bin "^1.0.1" - -npm-packlist@^2.1.4: - version "2.2.2" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" - integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== - dependencies: - glob "^7.1.6" - ignore-walk "^3.0.3" - npm-bundled "^1.1.1" - npm-normalize-package-bin "^1.0.1" - -npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" - integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== - dependencies: - npm-install-checks "^4.0.0" - npm-normalize-package-bin "^1.0.1" - npm-package-arg "^8.1.2" - semver "^7.3.4" - -npm-registry-fetch@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" - integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== - dependencies: - make-fetch-happen "^9.0.1" - minipass "^3.1.3" - minipass-fetch "^1.3.0" - minipass-json-stream "^1.0.1" - minizlib "^2.0.0" - npm-package-arg "^8.0.0" - -npm-registry-fetch@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" - integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== + "just-extend" "^4.0.2" + "path-to-regexp" "^1.7.0" + +"node-addon-api@^4.2.0": + "integrity" "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + "resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz" + "version" "4.3.0" + +"node-emoji@^1.11.0": + "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" + "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + "version" "1.11.0" + dependencies: + "lodash" "^4.17.21" + +"node-fetch@^2.5.0", "node-fetch@^2.6.1", "node-fetch@^2.6.7", "node-fetch@2.6.7": + "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" + "version" "2.6.7" + dependencies: + "whatwg-url" "^5.0.0" + +"node-forge@^0.10.0": + "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + "version" "0.10.0" + +"node-forge@^1.3.1": + "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + "version" "1.3.1" + +"node-gyp@^5.0.2": + "integrity" "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==" + "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "env-paths" "^2.2.0" + "glob" "^7.1.4" + "graceful-fs" "^4.2.2" + "mkdirp" "^0.5.1" + "nopt" "^4.0.1" + "npmlog" "^4.1.2" + "request" "^2.88.0" + "rimraf" "^2.6.3" + "semver" "^5.7.1" + "tar" "^4.4.12" + "which" "^1.3.1" + +"node-gyp@^7.1.0": + "integrity" "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==" + "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "env-paths" "^2.2.0" + "glob" "^7.1.4" + "graceful-fs" "^4.2.3" + "nopt" "^5.0.0" + "npmlog" "^4.1.2" + "request" "^2.88.2" + "rimraf" "^3.0.2" + "semver" "^7.3.2" + "tar" "^6.0.2" + "which" "^2.0.2" + +"node-gyp@^8.0.0", "node-gyp@8.x": + "integrity" "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==" + "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" + "version" "8.4.1" + dependencies: + "env-paths" "^2.2.0" + "glob" "^7.1.4" + "graceful-fs" "^4.2.6" + "make-fetch-happen" "^9.1.0" + "nopt" "^5.0.0" + "npmlog" "^6.0.0" + "rimraf" "^3.0.2" + "semver" "^7.3.5" + "tar" "^6.1.2" + "which" "^2.0.2" + +"node-int64@^0.4.0": + "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-libs-browser@^2.2.1": + "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" + "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "assert" "^1.1.1" + "browserify-zlib" "^0.2.0" + "buffer" "^4.3.0" + "console-browserify" "^1.1.0" + "constants-browserify" "^1.0.0" + "crypto-browserify" "^3.11.0" + "domain-browser" "^1.1.1" + "events" "^3.0.0" + "https-browserify" "^1.0.0" + "os-browserify" "^0.3.0" + "path-browserify" "0.0.1" + "process" "^0.11.10" + "punycode" "^1.2.4" + "querystring-es3" "^0.2.0" + "readable-stream" "^2.3.3" + "stream-browserify" "^2.0.1" + "stream-http" "^2.7.2" + "string_decoder" "^1.0.0" + "timers-browserify" "^2.0.4" + "tty-browserify" "0.0.0" + "url" "^0.11.0" + "util" "^0.11.0" + "vm-browserify" "^1.0.1" + +"node-localstorage@^1.3.1": + "integrity" "sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==" + "resolved" "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "write-file-atomic" "^1.1.4" + +"node-preload@^0.2.1": + "integrity" "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==" + "resolved" "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "process-on-spawn" "^1.0.0" + +"node-releases@^2.0.6": + "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + "version" "2.0.6" + +"node-version@^1.0.0": + "integrity" "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==" + "resolved" "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz" + "version" "1.2.0" + +"noop-fn@^1.0.0": + "integrity" "sha1-XzPUfxPSFQ35PgywNmmemC94/78=" + "resolved" "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz" + "version" "1.0.0" + +"nopt@^4.0.1": + "integrity" "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "abbrev" "1" + "osenv" "^0.1.4" + +"nopt@^5.0.0": + "integrity" "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "abbrev" "1" + +"normalize-package-data@^2.0.0", "normalize-package-data@^2.3.2", "normalize-package-data@^2.5.0": + "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "hosted-git-info" "^2.1.4" + "resolve" "^1.10.0" + "semver" "2 || 3 || 4 || 5" + "validate-npm-package-license" "^3.0.1" + +"normalize-package-data@^3.0.0": + "integrity" "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "hosted-git-info" "^4.0.1" + "is-core-module" "^2.5.0" + "semver" "^7.3.4" + "validate-npm-package-license" "^3.0.1" + +"normalize-package-data@^3.0.2": + "integrity" "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "hosted-git-info" "^4.0.1" + "is-core-module" "^2.5.0" + "semver" "^7.3.4" + "validate-npm-package-license" "^3.0.1" + +"normalize-path@^2.0.1": + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "remove-trailing-separator" "^1.0.1" + +"normalize-path@^2.1.1": + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "remove-trailing-separator" "^1.0.1" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-url@^4.1.0": + "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + "version" "4.5.1" + +"normalize-url@^6.0.1", "normalize-url@^6.1.0": + "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + "version" "6.1.0" + +"now-and-later@^2.0.0": + "integrity" "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==" + "resolved" "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "once" "^1.3.2" + +"npm-bundled@^1.1.1": + "integrity" "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==" + "resolved" "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "npm-normalize-package-bin" "^1.0.1" + +"npm-install-checks@^4.0.0": + "integrity" "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==" + "resolved" "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "semver" "^7.1.1" + +"npm-lifecycle@^3.1.5": + "integrity" "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==" + "resolved" "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "byline" "^5.0.0" + "graceful-fs" "^4.1.15" + "node-gyp" "^5.0.2" + "resolve-from" "^4.0.0" + "slide" "^1.1.6" + "uid-number" "0.0.6" + "umask" "^1.1.0" + "which" "^1.3.1" + +"npm-normalize-package-bin@^1.0.0", "npm-normalize-package-bin@^1.0.1": + "integrity" "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "resolved" "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" + "version" "1.0.1" + +"npm-package-arg@^8.0.0", "npm-package-arg@^8.0.1", "npm-package-arg@^8.1.0", "npm-package-arg@^8.1.2", "npm-package-arg@^8.1.5": + "integrity" "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==" + "resolved" "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz" + "version" "8.1.5" + dependencies: + "hosted-git-info" "^4.0.1" + "semver" "^7.3.4" + "validate-npm-package-name" "^3.0.0" + +"npm-packlist@^2.1.4": + "integrity" "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==" + "resolved" "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz" + "version" "2.2.2" + dependencies: + "glob" "^7.1.6" + "ignore-walk" "^3.0.3" + "npm-bundled" "^1.1.1" + "npm-normalize-package-bin" "^1.0.1" + +"npm-pick-manifest@^6.0.0", "npm-pick-manifest@^6.1.1": + "integrity" "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==" + "resolved" "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz" + "version" "6.1.1" + dependencies: + "npm-install-checks" "^4.0.0" + "npm-normalize-package-bin" "^1.0.1" + "npm-package-arg" "^8.1.2" + "semver" "^7.3.4" + +"npm-registry-fetch@^11.0.0": + "integrity" "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==" + "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz" + "version" "11.0.0" + dependencies: + "make-fetch-happen" "^9.0.1" + "minipass" "^3.1.3" + "minipass-fetch" "^1.3.0" + "minipass-json-stream" "^1.0.1" + "minizlib" "^2.0.0" + "npm-package-arg" "^8.0.0" + +"npm-registry-fetch@^9.0.0": + "integrity" "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==" + "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz" + "version" "9.0.0" dependencies: "@npmcli/ci-detect" "^1.0.0" - lru-cache "^6.0.0" - make-fetch-happen "^8.0.9" - minipass "^3.1.3" - minipass-fetch "^1.3.0" - minipass-json-stream "^1.0.1" - minizlib "^2.0.0" - npm-package-arg "^8.0.0" - -npm-run-all@4.1.5: - version "4.1.5" - resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nyc@15.1.0: - version "15.1.0" - resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" - integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== + "lru-cache" "^6.0.0" + "make-fetch-happen" "^8.0.9" + "minipass" "^3.1.3" + "minipass-fetch" "^1.3.0" + "minipass-json-stream" "^1.0.1" + "minizlib" "^2.0.0" + "npm-package-arg" "^8.0.0" + +"npm-run-all@4.1.5": + "integrity" "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==" + "resolved" "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" + "version" "4.1.5" + dependencies: + "ansi-styles" "^3.2.1" + "chalk" "^2.4.1" + "cross-spawn" "^6.0.5" + "memorystream" "^0.3.1" + "minimatch" "^3.0.4" + "pidtree" "^0.3.0" + "read-pkg" "^3.0.0" + "shell-quote" "^1.6.1" + "string.prototype.padend" "^3.0.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"npmlog@^4.1.2": + "integrity" "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" + "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "are-we-there-yet" "~1.1.2" + "console-control-strings" "~1.1.0" + "gauge" "~2.7.3" + "set-blocking" "~2.0.0" + +"npmlog@^5.0.1": + "integrity" "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==" + "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "are-we-there-yet" "^2.0.0" + "console-control-strings" "^1.1.0" + "gauge" "^3.0.0" + "set-blocking" "^2.0.0" + +"npmlog@^6.0.0": + "integrity" "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==" + "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "are-we-there-yet" "^3.0.0" + "console-control-strings" "^1.1.0" + "gauge" "^4.0.3" + "set-blocking" "^2.0.0" + +"number-is-nan@^1.0.0": + "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + "version" "1.0.1" + +"nyc@15.1.0": + "integrity" "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==" + "resolved" "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz" + "version" "15.1.0" dependencies: "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - caching-transform "^4.0.0" - convert-source-map "^1.7.0" - decamelize "^1.2.0" - find-cache-dir "^3.2.0" - find-up "^4.1.0" - foreground-child "^2.0.0" - get-package-type "^0.1.0" - glob "^7.1.6" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-hook "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-processinfo "^2.0.2" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - make-dir "^3.0.0" - node-preload "^0.2.1" - p-map "^3.0.0" - process-on-spawn "^1.0.0" - resolve-from "^5.0.0" - rimraf "^3.0.0" - signal-exit "^3.0.2" - spawn-wrap "^2.0.0" - test-exclude "^6.0.0" - yargs "^15.0.2" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@4.X, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-inspect@^1.12.0: - version "1.12.0" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.defaults@^1.0.0, object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.2" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@^2.2.0, on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@^1.0.0, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -one-time@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" - integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== - dependencies: - fn.name "1.x.x" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^6.3.0: - version "6.4.0" - resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -openapi3-ts@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz#b270aecea09e924f1886bc02a72608fca5a98d85" - integrity sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg== - dependencies: - yaml "^1.10.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimist@~0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@5.4.1, ora@^5.4.1: - version "5.4.1" - resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0, osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -outdent@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" - integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-defer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" - integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== - -p-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" - integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== - dependencies: - p-map "^2.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + "caching-transform" "^4.0.0" + "convert-source-map" "^1.7.0" + "decamelize" "^1.2.0" + "find-cache-dir" "^3.2.0" + "find-up" "^4.1.0" + "foreground-child" "^2.0.0" + "get-package-type" "^0.1.0" + "glob" "^7.1.6" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-hook" "^3.0.0" + "istanbul-lib-instrument" "^4.0.0" + "istanbul-lib-processinfo" "^2.0.2" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.0.2" + "make-dir" "^3.0.0" + "node-preload" "^0.2.1" + "p-map" "^3.0.0" + "process-on-spawn" "^1.0.0" + "resolve-from" "^5.0.0" + "rimraf" "^3.0.0" + "signal-exit" "^3.0.2" + "spawn-wrap" "^2.0.0" + "test-exclude" "^6.0.0" + "yargs" "^15.0.2" + +"oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + +"object-assign@^4", "object-assign@^4.0.1", "object-assign@^4.1.0", "object-assign@^4.1.1", "object-assign@4.X": + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-copy@^0.1.0": + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + +"object-hash@^3.0.0": + "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + "version" "3.0.0" + +"object-inspect@^1.11.0", "object-inspect@^1.9.0": + "integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" + "version" "1.11.0" + +"object-inspect@^1.12.0": + "integrity" "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz" + "version" "1.12.0" + +"object-is@^1.0.1": + "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==" + "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"object-keys@^1.0.12", "object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object-visit@^1.0.0": + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "isobject" "^3.0.0" + +"object.assign@^4.0.4", "object.assign@^4.1.0", "object.assign@^4.1.2": + "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "has-symbols" "^1.0.1" + "object-keys" "^1.1.1" + +"object.defaults@^1.0.0", "object.defaults@^1.1.0": + "integrity" "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=" + "resolved" "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "array-each" "^1.0.1" + "array-slice" "^1.0.0" + "for-own" "^1.0.0" + "isobject" "^3.0.0" + +"object.getownpropertydescriptors@^2.0.3": + "integrity" "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==" + "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + +"object.map@^1.0.0": + "integrity" "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=" + "resolved" "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "for-own" "^1.0.0" + "make-iterator" "^1.0.0" + +"object.pick@^1.2.0", "object.pick@^1.3.0": + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + +"object.reduce@^1.0.0": + "integrity" "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=" + "resolved" "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "for-own" "^1.0.0" + "make-iterator" "^1.0.0" + +"object.values@^1.1.5": + "integrity" "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.19.1" + +"on-finished@^2.2.0", "on-finished@~2.3.0": + "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ee-first" "1.1.1" + +"on-finished@2.4.1": + "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "ee-first" "1.1.1" + +"on-headers@^1.0.0", "on-headers@~1.0.2": + "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + "version" "1.0.2" + +"once@^1.3.0", "once@^1.3.1", "once@^1.3.2", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"one-time@^1.0.0": + "integrity" "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==" + "resolved" "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "fn.name" "1.x.x" + +"onetime@^2.0.0": + "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "mimic-fn" "^1.0.0" + +"onetime@^5.1.0", "onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"open@^6.3.0": + "integrity" "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==" + "resolved" "https://registry.npmjs.org/open/-/open-6.4.0.tgz" + "version" "6.4.0" + dependencies: + "is-wsl" "^1.1.0" + +"openapi3-ts@^2.0.1": + "integrity" "sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==" + "resolved" "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "yaml" "^1.10.0" + +"opener@^1.5.1": + "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + "version" "1.5.2" + +"optimist@~0.6.0": + "integrity" "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=" + "resolved" "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" + "version" "0.6.1" + dependencies: + "minimist" "~0.0.1" + "wordwrap" "~0.0.2" + +"optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"optionator@^0.9.1": + "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "deep-is" "^0.1.3" + "fast-levenshtein" "^2.0.6" + "levn" "^0.4.1" + "prelude-ls" "^1.2.1" + "type-check" "^0.4.0" + "word-wrap" "^1.2.3" + +"ora@^5.4.1", "ora@5.4.1": + "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" + "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bl" "^4.1.0" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-spinners" "^2.5.0" + "is-interactive" "^1.0.0" + "is-unicode-supported" "^0.1.0" + "log-symbols" "^4.1.0" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + +"ordered-read-streams@^1.0.0": + "integrity" "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=" + "resolved" "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "readable-stream" "^2.0.1" + +"os-browserify@^0.3.0": + "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + "version" "0.3.0" + +"os-homedir@^1.0.0": + "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + "version" "1.0.2" + +"os-locale@^1.4.0": + "integrity" "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=" + "resolved" "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "lcid" "^1.0.0" + +"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.1", "os-tmpdir@~1.0.2": + "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + "version" "1.0.2" + +"osenv@^0.1.4": + "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" + "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" + "version" "0.1.5" + dependencies: + "os-homedir" "^1.0.0" + "os-tmpdir" "^1.0.0" + +"outdent@^0.5.0": + "integrity" "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==" + "resolved" "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz" + "version" "0.5.0" + +"p-cancelable@^1.0.0": + "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + "version" "1.1.0" + +"p-cancelable@^2.0.0": + "integrity" "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" + "version" "2.1.1" + +"p-defer@^3.0.0": + "integrity" "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + "resolved" "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz" + "version" "3.0.0" + +"p-filter@^2.1.0": + "integrity" "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==" + "resolved" "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "p-map" "^2.0.0" + +"p-finally@^1.0.0": + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + +"p-limit@^1.1.0": + "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "p-try" "^1.0.0" + +"p-limit@^2.0.0", "p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-limit@^3.0.2": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.0" + +"p-limit@^3.1.0": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.0" + +"p-locate@^2.0.0": + "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + "version" "2.0.0" dependencies: - p-limit "^1.1.0" + "p-limit" "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" dependencies: - p-limit "^2.0.0" + "p-limit" "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" dependencies: - p-limit "^2.2.0" + "p-limit" "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== +"p-locate@^5.0.0": + "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + "version" "5.0.0" dependencies: - p-limit "^3.0.2" + "p-limit" "^3.0.2" -p-map-series@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" - integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== +"p-map-series@^2.1.0": + "integrity" "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==" + "resolved" "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz" + "version" "2.1.0" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +"p-map@^2.0.0": + "integrity" "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + "version" "2.1.0" -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== +"p-map@^3.0.0": + "integrity" "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" + "version" "3.0.0" dependencies: - aggregate-error "^3.0.0" + "aggregate-error" "^3.0.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== +"p-map@^4.0.0": + "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + "version" "4.0.0" dependencies: - aggregate-error "^3.0.0" + "aggregate-error" "^3.0.0" -p-pipe@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" - integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== +"p-pipe@^3.1.0": + "integrity" "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==" + "resolved" "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" + "version" "3.1.0" -p-queue@^6.6.2: - version "6.6.2" - resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" - integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== +"p-queue@^6.6.2": + "integrity" "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==" + "resolved" "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" + "version" "6.6.2" dependencies: - eventemitter3 "^4.0.4" - p-timeout "^3.2.0" + "eventemitter3" "^4.0.4" + "p-timeout" "^3.2.0" -p-reduce@^2.0.0, p-reduce@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" - integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== +"p-reduce@^2.0.0", "p-reduce@^2.1.0": + "integrity" "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==" + "resolved" "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz" + "version" "2.1.0" -p-timeout@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== +"p-timeout@^3.2.0": + "integrity" "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==" + "resolved" "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" + "version" "3.2.0" dependencies: - p-finally "^1.0.0" + "p-finally" "^1.0.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= +"p-try@^1.0.0": + "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + "version" "1.0.0" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" -p-waterfall@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" - integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== +"p-waterfall@^2.1.1": + "integrity" "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==" + "resolved" "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz" + "version" "2.1.1" dependencies: - p-reduce "^2.0.0" + "p-reduce" "^2.0.0" -pac-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" - integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== +"pac-proxy-agent@^5.0.0": + "integrity" "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==" + "resolved" "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz" + "version" "5.0.0" dependencies: "@tootallnate/once" "1" - agent-base "6" - debug "4" - get-uri "3" - http-proxy-agent "^4.0.1" - https-proxy-agent "5" - pac-resolver "^5.0.0" - raw-body "^2.2.0" - socks-proxy-agent "5" - -pac-resolver@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" - integrity sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA== - dependencies: - degenerator "^3.0.1" - ip "^1.1.5" - netmask "^2.0.1" - -package-hash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" - integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== - dependencies: - graceful-fs "^4.1.15" - hasha "^5.0.0" - lodash.flattendeep "^4.4.0" - release-zalgo "^1.0.0" - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -package-name-regex@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz#b54bcb04d950e38082b7bb38fa558e01c1679334" - integrity sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA== - -pacote@^11.2.6: - version "11.3.5" - resolved "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2" - integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg== + "agent-base" "6" + "debug" "4" + "get-uri" "3" + "http-proxy-agent" "^4.0.1" + "https-proxy-agent" "5" + "pac-resolver" "^5.0.0" + "raw-body" "^2.2.0" + "socks-proxy-agent" "5" + +"pac-resolver@^5.0.0": + "integrity" "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==" + "resolved" "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "degenerator" "^3.0.1" + "ip" "^1.1.5" + "netmask" "^2.0.1" + +"package-hash@^4.0.0": + "integrity" "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==" + "resolved" "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "graceful-fs" "^4.1.15" + "hasha" "^5.0.0" + "lodash.flattendeep" "^4.4.0" + "release-zalgo" "^1.0.0" + +"package-json@^6.3.0": + "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" + "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "got" "^9.6.0" + "registry-auth-token" "^4.0.0" + "registry-url" "^5.0.0" + "semver" "^6.2.0" + +"package-name-regex@~2.0.6": + "integrity" "sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==" + "resolved" "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz" + "version" "2.0.6" + +"pacote@^11.2.6": + "integrity" "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==" + "resolved" "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz" + "version" "11.3.5" dependencies: "@npmcli/git" "^2.1.0" "@npmcli/installed-package-contents" "^1.0.6" "@npmcli/promise-spawn" "^1.2.0" "@npmcli/run-script" "^1.8.2" - cacache "^15.0.5" - chownr "^2.0.0" - fs-minipass "^2.1.0" - infer-owner "^1.0.4" - minipass "^3.1.3" - mkdirp "^1.0.3" - npm-package-arg "^8.0.1" - npm-packlist "^2.1.4" - npm-pick-manifest "^6.0.0" - npm-registry-fetch "^11.0.0" - promise-retry "^2.0.1" - read-package-json-fast "^2.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.0" - -pad@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1" - integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg== - dependencies: - wcwidth "^1.0.1" - -pako@~1.0.2, pako@~1.0.5: - version "1.0.11" - resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + "cacache" "^15.0.5" + "chownr" "^2.0.0" + "fs-minipass" "^2.1.0" + "infer-owner" "^1.0.4" + "minipass" "^3.1.3" + "mkdirp" "^1.0.3" + "npm-package-arg" "^8.0.1" + "npm-packlist" "^2.1.4" + "npm-pick-manifest" "^6.0.0" + "npm-registry-fetch" "^11.0.0" + "promise-retry" "^2.0.1" + "read-package-json-fast" "^2.0.1" + "rimraf" "^3.0.2" + "ssri" "^8.0.1" + "tar" "^6.1.0" + +"pad@^3.2.0": + "integrity" "sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==" + "resolved" "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "wcwidth" "^1.0.1" + +"pako@~1.0.2", "pako@~1.0.5": + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + "version" "1.0.11" + +"parallel-transform@^1.1.0": + "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" + "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cyclist" "^1.0.1" + "inherits" "^2.0.3" + "readable-stream" "^2.1.5" + +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + +"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": + "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" + "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" + "version" "5.1.6" + dependencies: + "asn1.js" "^5.2.0" + "browserify-aes" "^1.0.0" + "evp_bytestokey" "^1.0.0" + "pbkdf2" "^3.0.3" + "safe-buffer" "^5.1.1" + +"parse-filepath@^1.0.1": + "integrity" "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=" + "resolved" "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-absolute" "^1.0.0" + "map-cache" "^0.2.0" + "path-root" "^0.1.1" + +"parse-json@^2.2.0": + "integrity" "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "error-ex" "^1.2.0" + +"parse-json@^4.0.0": + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" + +"parse-json@^5.0.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" dependencies: "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parse-path@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" - integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - qs "^6.9.4" - query-string "^6.13.8" - -parse-url@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" - integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw== - dependencies: - is-ssh "^1.3.0" - normalize-url "^6.1.0" - parse-path "^4.0.0" - protocols "^1.4.0" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-browserify@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-is-network-drive@^1.0.20: - version "1.0.20" - resolved "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.20.tgz#9c264db2e0fce5e9bc2ef9177fcab3f996d1a1b5" - integrity sha512-p5wCWlRB4+ggzxWshqHH9aF3kAuVu295NaENXmVhThbZPJQBeJdxZTP6CIoUR+kWHDUW56S9YcaO1gXnc/BOxw== - dependencies: - tslib "^2" - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" - -path-strip-sep@^1.0.17: - version "1.0.17" - resolved "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.17.tgz#3b7dd4f461cf73a9277333f50289ce9b00cffba3" - integrity sha512-+2zIC2fNgdilgV7pTrktY6oOxxZUo9x5zJYfTzxsGze5kSGDDwhA5/0WlBn+sUyv/WuuyYn3OfM+Ue5nhdQUgA== - dependencies: - tslib "^2" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-to-regexp@^1.7.0, path-to-regexp@^1.8.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pirates@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"parse-node-version@^1.0.0": + "integrity" "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + "resolved" "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz" + "version" "1.0.1" + +"parse-passwd@^1.0.0": + "integrity" "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" + "version" "1.0.0" + +"parse-path@^4.0.0": + "integrity" "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==" + "resolved" "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-ssh" "^1.3.0" + "protocols" "^1.4.0" + "qs" "^6.9.4" + "query-string" "^6.13.8" + +"parse-url@^6.0.0": + "integrity" "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==" + "resolved" "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "is-ssh" "^1.3.0" + "normalize-url" "^6.1.0" + "parse-path" "^4.0.0" + "protocols" "^1.4.0" + +"parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + +"pascalcase@^0.1.1": + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + +"path-browserify@^1.0.0": + "integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + "version" "1.0.1" + +"path-browserify@0.0.1": + "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" + "version" "0.0.1" + +"path-dirname@^1.0.0": + "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + "version" "1.0.2" + +"path-exists@^2.0.0": + "integrity" "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pinkie-promise" "^2.0.0" + +"path-exists@^3.0.0": + "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-is-inside@^1.0.1": + "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + +"path-is-network-drive@^1.0.20": + "integrity" "sha512-p5wCWlRB4+ggzxWshqHH9aF3kAuVu295NaENXmVhThbZPJQBeJdxZTP6CIoUR+kWHDUW56S9YcaO1gXnc/BOxw==" + "resolved" "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.20.tgz" + "version" "1.0.20" + dependencies: + "tslib" "^2" + +"path-key@^2.0.1": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.6", "path-parse@^1.0.7": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-root-regex@^0.1.0": + "integrity" "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + "resolved" "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" + "version" "0.1.2" + +"path-root@^0.1.1": + "integrity" "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=" + "resolved" "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "path-root-regex" "^0.1.0" + +"path-strip-sep@^1.0.17": + "integrity" "sha512-+2zIC2fNgdilgV7pTrktY6oOxxZUo9x5zJYfTzxsGze5kSGDDwhA5/0WlBn+sUyv/WuuyYn3OfM+Ue5nhdQUgA==" + "resolved" "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.17.tgz" + "version" "1.0.17" + dependencies: + "tslib" "^2" + +"path-to-regexp@^1.7.0": + "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "isarray" "0.0.1" + +"path-to-regexp@^1.8.0": + "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "isarray" "0.0.1" + +"path-to-regexp@0.1.7": + "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "version" "0.1.7" + +"path-type@^1.0.0": + "integrity" "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"path-type@^3.0.0": + "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "pify" "^3.0.0" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"pathval@^1.1.1": + "integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + "resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" + "version" "1.1.1" + +"pbkdf2@^3.0.3": + "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" + "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "create-hash" "^1.1.2" + "create-hmac" "^1.1.4" + "ripemd160" "^2.0.1" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"pend@~1.2.0": + "integrity" "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + "version" "1.2.0" + +"performance-now@^2.1.0": + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3": + "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" + "version" "2.3.0" + +"pidtree@^0.3.0": + "integrity" "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" + "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" + "version" "0.3.1" + +"pify@^2.0.0", "pify@^2.3.0": + "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^3.0.0": + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + +"pify@^4.0.1": + "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + "version" "4.0.1" + +"pify@^5.0.0": + "integrity" "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + "resolved" "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" + "version" "5.0.0" + +"pinkie-promise@^2.0.0": + "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "pinkie" "^2.0.0" + +"pinkie@^2.0.0": + "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + "version" "2.0.4" + +"pirates@^4.0.1", "pirates@^4.0.5": + "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + "version" "4.0.5" + +"pkg-dir@^3.0.0": + "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^3.0.0" + +"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" "pkg-dir@< 6 >= 5": - version "5.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -plugin-error@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" - integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== - dependencies: - ansi-colors "^1.0.1" - arr-diff "^4.0.0" - arr-union "^3.1.0" - extend-shallow "^3.0.2" - -portfinder@^1.0.23, portfinder@^1.0.28: - version "1.0.28" - resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss@^7.0.16: - version "7.0.36" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" - integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -preferred-pm@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz#1b6338000371e3edbce52ef2e4f65eb2e73586d6" - integrity sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ== - dependencies: - find-up "^5.0.0" - find-yarn-workspace-root2 "1.2.16" - path-exists "^4.0.0" - which-pm "2.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier@2.7.1, prettier@^2.7.1: - version "2.7.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -pretty-format@^27.2.0: - version "27.2.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz#ee37a94ce2a79765791a8649ae374d468c18ef19" - integrity sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA== + "integrity" "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "find-up" "^5.0.0" + +"plugin-error@^1.0.1": + "integrity" "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==" + "resolved" "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "ansi-colors" "^1.0.1" + "arr-diff" "^4.0.0" + "arr-union" "^3.1.0" + "extend-shallow" "^3.0.2" + +"portfinder@^1.0.23", "portfinder@^1.0.28": + "integrity" "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==" + "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" + "version" "1.0.28" + dependencies: + "async" "^2.6.2" + "debug" "^3.1.1" + "mkdirp" "^0.5.5" + +"posix-character-classes@^0.1.0": + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + +"postcss@^7.0.16": + "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + "version" "7.0.36" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"preferred-pm@^3.0.0": + "integrity" "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==" + "resolved" "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "find-up" "^5.0.0" + "find-yarn-workspace-root2" "1.2.16" + "path-exists" "^4.0.0" + "which-pm" "2.0.0" + +"prelude-ls@^1.2.1": + "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + "version" "1.2.1" + +"prelude-ls@~1.1.2": + "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" + +"prepend-http@^2.0.0": + "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + "version" "2.0.0" + +"prettier@^2.7.1", "prettier@2.7.1": + "integrity" "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" + "version" "2.7.1" + +"pretty-format@^27.2.0": + "integrity" "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz" + "version" "27.2.0" dependencies: "@jest/types" "^27.1.1" - ansi-regex "^5.0.0" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process-on-spawn@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" - integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== - dependencies: - fromentries "^1.2.0" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0, progress@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-breaker@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/promise-breaker/-/promise-breaker-5.0.0.tgz#58e8541f1619554057da95a211794d7834d30c1d" - integrity sha512-mgsWQuG4kJ1dtO6e/QlNDLFtMkMzzecsC69aI5hlLEjGHFNpHrvGhFi4LiK5jg2SMQj74/diH+wZliL9LpGsyA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-polyfill@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057" - integrity sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc= - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= - dependencies: - read "1" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - -proto3-json-serializer@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.2.tgz#bb5fe808a60f43bf96d2ce6d5063d8552ae69f06" - integrity sha512-wHxf8jYZ/LUP3M7XmULDKnbxBn+Bvk6SM+tDCPVTp9vraIzUi9hHsOBb1n2Y0VV0ukx4zBN/2vzMQYs4KWwRpg== - dependencies: - protobufjs "^6.11.3" - -protobufjs@6.11.3, protobufjs@^6.11.3: - version "6.11.3" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" - integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== + "ansi-regex" "^5.0.0" + "ansi-styles" "^5.0.0" + "react-is" "^17.0.1" + +"pretty-hrtime@^1.0.0": + "integrity" "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + "resolved" "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + "version" "1.0.3" + +"printj@~1.1.0": + "integrity" "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + "resolved" "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz" + "version" "1.1.2" + +"process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"process-on-spawn@^1.0.0": + "integrity" "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==" + "resolved" "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "fromentries" "^1.2.0" + +"process@^0.11.10": + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + +"progress@^2.0.0", "progress@^2.0.3": + "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + "version" "2.0.3" + +"promise-breaker@^5.0.0": + "integrity" "sha512-mgsWQuG4kJ1dtO6e/QlNDLFtMkMzzecsC69aI5hlLEjGHFNpHrvGhFi4LiK5jg2SMQj74/diH+wZliL9LpGsyA==" + "resolved" "https://registry.npmjs.org/promise-breaker/-/promise-breaker-5.0.0.tgz" + "version" "5.0.0" + +"promise-inflight@^1.0.1": + "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + "version" "1.0.1" + +"promise-polyfill@^6.0.1": + "integrity" "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=" + "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz" + "version" "6.1.0" + +"promise-retry@^2.0.1": + "integrity" "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==" + "resolved" "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "err-code" "^2.0.2" + "retry" "^0.12.0" + +"promzard@^0.3.0": + "integrity" "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=" + "resolved" "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "read" "1" + +"proto-list@~1.2.1": + "integrity" "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + "resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + "version" "1.2.4" + +"proto3-json-serializer@^1.0.0": + "integrity" "sha512-wHxf8jYZ/LUP3M7XmULDKnbxBn+Bvk6SM+tDCPVTp9vraIzUi9hHsOBb1n2Y0VV0ukx4zBN/2vzMQYs4KWwRpg==" + "resolved" "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "protobufjs" "^6.11.3" + +"protobufjs-cli@1.0.2": + "integrity" "sha512-cz9Pq9p/Zs7okc6avH20W7QuyjTclwJPgqXG11jNaulfS3nbVisID8rC+prfgq0gbZE0w9LBFd1OKFF03kgFzg==" + "resolved" "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "chalk" "^4.0.0" + "escodegen" "^1.13.0" + "espree" "^9.0.0" + "estraverse" "^5.1.0" + "glob" "^8.0.0" + "jsdoc" "^3.6.3" + "minimist" "^1.2.0" + "semver" "^7.1.2" + "tmp" "^0.2.1" + "uglify-js" "^3.7.7" + +"protobufjs@^6.11.3", "protobufjs@6.11.3": + "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" + "version" "6.11.3" dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -14126,4114 +14389,4305 @@ protobufjs@6.11.3, protobufjs@^6.11.3: "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - long "^4.0.0" + "long" "^4.0.0" -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" - integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== +"protobufjs@^7.0.0", "protobufjs@7.1.2": + "integrity" "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + "long" "^5.0.0" + +"protocols@^1.1.0", "protocols@^1.4.0": + "integrity" "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" + "resolved" "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" + "version" "1.4.8" -protractor@5.4.2: - version "5.4.2" - resolved "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz#329efe37f48b2141ab9467799be2d4d12eb48c13" - integrity sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA== +"protractor@5.4.2": + "integrity" "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==" + "resolved" "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz" + "version" "5.4.2" dependencies: "@types/q" "^0.0.32" "@types/selenium-webdriver" "^3.0.0" - blocking-proxy "^1.0.0" - browserstack "^1.5.1" - chalk "^1.1.3" - glob "^7.0.3" - jasmine "2.8.0" - jasminewd2 "^2.1.0" - optimist "~0.6.0" - q "1.4.1" - saucelabs "^1.5.0" - selenium-webdriver "3.6.0" - source-map-support "~0.4.0" - webdriver-js-extender "2.1.0" - webdriver-manager "^12.0.6" - -proxy-addr@~2.0.5, proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" - integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== - dependencies: - agent-base "^6.0.0" - debug "4" - http-proxy-agent "^4.0.0" - https-proxy-agent "^5.0.0" - lru-cache "^5.1.1" - pac-proxy-agent "^5.0.0" - proxy-from-env "^1.0.0" - socks-proxy-agent "^5.0.0" - -proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3, pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4, punycode@^1.3.2: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pupa@^2.0.1, pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -q@1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" - integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= - -q@^1.4.1, q@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qjobs@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" - integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== - -qs@6.10.3: - version "6.10.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@^6.4.0, qs@^6.6.0, qs@^6.9.4: - version "6.10.1" - resolved "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" - integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^6.13.8: - version "6.14.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystring-es3@^0.2.0, querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@^2.2.0, raw-body@^2.3.3: - version "2.4.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== - dependencies: - bytes "3.1.0" - http-errors "1.7.3" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@^1.2.7, rc@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -re2@^1.15.8: - version "1.16.0" - resolved "https://registry.npmjs.org/re2/-/re2-1.16.0.tgz#f311eb4865b1296123800ea8e013cec8dab25590" - integrity sha512-eizTZL2ZO0ZseLqfD4t3Qd0M3b3Nr0MBWpX81EbPMIud/1d/CSfUIx2GQK8fWiAeHoSekO5EOeFib2udTZLwYw== - dependencies: - install-artifact-from-github "^1.2.0" - nan "^2.14.2" - node-gyp "^8.0.0" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-cmd-shim@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9" - integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw== - -read-package-json-fast@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" - integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - -read-package-json@^2.0.0: - version "2.1.2" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" - integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== - dependencies: - glob "^7.1.1" - json-parse-even-better-errors "^2.3.0" - normalize-package-data "^2.0.0" - npm-normalize-package-bin "^1.0.0" - -read-package-json@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" - integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng== - dependencies: - glob "^7.1.1" - json-parse-even-better-errors "^2.3.0" - normalize-package-data "^3.0.0" - npm-normalize-package-bin "^1.0.0" - -read-package-json@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" - integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== - dependencies: - glob "^7.1.1" - json-parse-even-better-errors "^2.3.0" - normalize-package-data "^3.0.0" - npm-normalize-package-bin "^1.0.0" - -read-package-tree@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" - integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== - dependencies: - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - util-promisify "^2.1.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + "blocking-proxy" "^1.0.0" + "browserstack" "^1.5.1" + "chalk" "^1.1.3" + "glob" "^7.0.3" + "jasmine" "2.8.0" + "jasminewd2" "^2.1.0" + "optimist" "~0.6.0" + "q" "1.4.1" + "saucelabs" "^1.5.0" + "selenium-webdriver" "3.6.0" + "source-map-support" "~0.4.0" + "webdriver-js-extender" "2.1.0" + "webdriver-manager" "^12.0.6" + +"proxy-addr@~2.0.7": + "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" + "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "forwarded" "0.2.0" + "ipaddr.js" "1.9.1" + +"proxy-agent@^5.0.0": + "integrity" "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==" + "resolved" "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "agent-base" "^6.0.0" + "debug" "4" + "http-proxy-agent" "^4.0.0" + "https-proxy-agent" "^5.0.0" + "lru-cache" "^5.1.1" + "pac-proxy-agent" "^5.0.0" + "proxy-from-env" "^1.0.0" + "socks-proxy-agent" "^5.0.0" + +"proxy-from-env@^1.0.0", "proxy-from-env@^1.1.0": + "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + "version" "1.1.0" + +"prr@~1.0.1": + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + "version" "1.0.1" + +"pseudomap@^1.0.2": + "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + "version" "1.0.2" + +"psl@^1.1.28": + "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + "version" "1.8.0" + +"public-encrypt@^4.0.0": + "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" + "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "bn.js" "^4.1.0" + "browserify-rsa" "^4.0.0" + "create-hash" "^1.1.0" + "parse-asn1" "^5.0.0" + "randombytes" "^2.0.1" + "safe-buffer" "^5.1.2" + +"pump@^2.0.0": + "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" + "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pumpify@^1.3.3", "pumpify@^1.3.5": + "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "duplexify" "^3.6.0" + "inherits" "^2.0.3" + "pump" "^2.0.0" + +"punycode@^1.2.4": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^1.3.2": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^2.1.0", "punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + +"punycode@1.3.2": + "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + "version" "1.3.2" + +"pupa@^2.0.1", "pupa@^2.1.1": + "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" + "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "escape-goat" "^2.0.0" + +"q@^1.4.1", "q@^1.5.1": + "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + "version" "1.5.1" + +"q@1.4.1": + "integrity" "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" + "resolved" "https://registry.npmjs.org/q/-/q-1.4.1.tgz" + "version" "1.4.1" + +"qjobs@^1.2.0": + "integrity" "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==" + "resolved" "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz" + "version" "1.2.0" + +"qs@^6.4.0", "qs@^6.6.0", "qs@^6.9.4": + "integrity" "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz" + "version" "6.10.1" + dependencies: + "side-channel" "^1.0.4" + +"qs@~6.5.2": + "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + "version" "6.5.2" + +"qs@6.10.3": + "integrity" "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz" + "version" "6.10.3" + dependencies: + "side-channel" "^1.0.4" + +"qs@6.7.0": + "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" + "version" "6.7.0" + +"query-string@^6.13.8": + "integrity" "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==" + "resolved" "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" + "version" "6.14.1" + dependencies: + "decode-uri-component" "^0.2.0" + "filter-obj" "^1.1.0" + "split-on-first" "^1.0.0" + "strict-uri-encode" "^2.0.0" + +"querystring-es3@^0.2.0", "querystring-es3@^0.2.1": + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + "version" "0.2.1" + +"querystring@0.2.0": + "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"quick-lru@^4.0.1": + "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + "version" "4.0.1" + +"quick-lru@^5.1.1": + "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + "version" "5.1.1" + +"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"randomfill@^1.0.3": + "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" + "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "randombytes" "^2.0.5" + "safe-buffer" "^5.1.0" + +"range-parser@^1.2.1", "range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + +"raw-body@^2.2.0", "raw-body@^2.3.3": + "integrity" "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "bytes" "3.1.0" + "http-errors" "1.7.3" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"raw-body@2.4.0": + "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "bytes" "3.1.0" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"raw-body@2.5.1": + "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + "version" "2.5.1" + dependencies: + "bytes" "3.1.2" + "http-errors" "2.0.0" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"rc@^1.2.8": + "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" + "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + "version" "1.2.8" + dependencies: + "deep-extend" "^0.6.0" + "ini" "~1.3.0" + "minimist" "^1.2.0" + "strip-json-comments" "~2.0.1" + +"re2@^1.15.8": + "integrity" "sha512-eizTZL2ZO0ZseLqfD4t3Qd0M3b3Nr0MBWpX81EbPMIud/1d/CSfUIx2GQK8fWiAeHoSekO5EOeFib2udTZLwYw==" + "resolved" "https://registry.npmjs.org/re2/-/re2-1.16.0.tgz" + "version" "1.16.0" + dependencies: + "install-artifact-from-github" "^1.2.0" + "nan" "^2.14.2" + "node-gyp" "^8.0.0" + +"react-is@^17.0.1": + "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" + "version" "17.0.2" + +"read-cmd-shim@^2.0.0": + "integrity" "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==" + "resolved" "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz" + "version" "2.0.0" + +"read-package-json-fast@^2.0.1": + "integrity" "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==" + "resolved" "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "json-parse-even-better-errors" "^2.3.0" + "npm-normalize-package-bin" "^1.0.1" + +"read-package-json@^2.0.0": + "integrity" "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==" + "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "glob" "^7.1.1" + "json-parse-even-better-errors" "^2.3.0" + "normalize-package-data" "^2.0.0" + "npm-normalize-package-bin" "^1.0.0" + +"read-package-json@^3.0.0": + "integrity" "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==" + "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "glob" "^7.1.1" + "json-parse-even-better-errors" "^2.3.0" + "normalize-package-data" "^3.0.0" + "npm-normalize-package-bin" "^1.0.0" + +"read-package-json@^4.1.1": + "integrity" "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==" + "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "glob" "^7.1.1" + "json-parse-even-better-errors" "^2.3.0" + "normalize-package-data" "^3.0.0" + "npm-normalize-package-bin" "^1.0.0" + +"read-package-tree@^5.3.1": + "integrity" "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==" + "resolved" "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz" + "version" "5.3.1" + dependencies: + "read-package-json" "^2.0.0" + "readdir-scoped-modules" "^1.0.0" + "util-promisify" "^2.1.0" + +"read-pkg-up@^1.0.1": + "integrity" "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "find-up" "^1.0.0" + "read-pkg" "^1.0.0" + +"read-pkg-up@^3.0.0": + "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^2.0.0" + "read-pkg" "^3.0.0" + +"read-pkg-up@^7.0.1": + "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "find-up" "^4.1.0" + "read-pkg" "^5.2.0" + "type-fest" "^0.8.1" + +"read-pkg@^1.0.0": + "integrity" "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "load-json-file" "^1.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^1.0.0" + +"read-pkg@^3.0.0": + "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "load-json-file" "^4.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^3.0.0" + +"read-pkg@^5.2.0": + "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + "version" "5.2.0" dependencies: "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read-yaml-file@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" - integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== - dependencies: - graceful-fs "^4.1.5" - js-yaml "^3.6.1" - pify "^4.0.1" - strip-bom "^3.0.0" - -read@1, read@~1.0.1: - version "1.0.7" - resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= - dependencies: - mute-stream "~0.0.4" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@1.1.x: - version "1.1.14" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdir-glob@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" - integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== - dependencies: - minimatch "^3.0.4" - -readdir-scoped-modules@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redeyed@~2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" - integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= - dependencies: - esprima "~4.0.0" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + "normalize-package-data" "^2.5.0" + "parse-json" "^5.0.0" + "type-fest" "^0.6.0" + +"read-yaml-file@^1.1.0": + "integrity" "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==" + "resolved" "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.5" + "js-yaml" "^3.6.1" + "pify" "^4.0.1" + "strip-bom" "^3.0.0" + +"read@~1.0.1", "read@1": + "integrity" "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=" + "resolved" "https://registry.npmjs.org/read/-/read-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "mute-stream" "~0.0.4" + +"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.0.5", "readable-stream@^2.0.6", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.5", "readable-stream@^2.3.6", "readable-stream@^2.3.7", "readable-stream@~2.3.6", "readable-stream@1 || 2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^3.0.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.0.2": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.0.6": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.1.1", "readable-stream@^3.5.0", "readable-stream@^3.6.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.4.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@1.1.x": + "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "version" "1.1.14" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + +"readable-stream@2 || 3": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@3": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readdir-glob@^1.0.0": + "integrity" "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==" + "resolved" "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "minimatch" "^3.0.4" + +"readdir-scoped-modules@^1.0.0": + "integrity" "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==" + "resolved" "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "debuglog" "^1.0.1" + "dezalgo" "^1.0.0" + "graceful-fs" "^4.1.2" + "once" "^1.3.0" + +"readdirp@^2.2.1": + "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "graceful-fs" "^4.1.11" + "micromatch" "^3.1.10" + "readable-stream" "^2.0.2" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"rechoir@^0.6.2": + "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "resolve" "^1.1.6" + +"redent@^3.0.0": + "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" + "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "indent-string" "^4.0.0" + "strip-indent" "^3.0.0" + +"redeyed@~2.1.0": + "integrity" "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=" + "resolved" "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "esprima" "~4.0.0" + +"regenerate-unicode-properties@^10.1.0": + "integrity" "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "regenerate" "^1.4.2" + +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" + +"regenerator-runtime@^0.11.0": + "integrity" "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" + "version" "0.11.1" -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +"regenerator-runtime@^0.13.4": + "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + "version" "0.13.9" -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +"regenerator-transform@^0.15.0": + "integrity" "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" + "version" "0.15.0" dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.4.1: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regexpu-core@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -release-zalgo@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" - integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= - dependencies: - es6-error "^4.0.1" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" - -replacestream@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36" - integrity sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA== - dependencies: - escape-string-regexp "^1.0.3" - object-assign "^4.0.1" - readable-stream "^2.0.2" - -request@2.88.2, request@^2.87.0, request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.4.0: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.22.0, resolve@~1.22.0: - version "1.22.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@~1.17.0: - version "1.17.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= +"regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" + +"regexp.prototype.flags@^1.4.1": + "integrity" "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "functions-have-names" "^1.2.2" + +"regexpp@^3.1.0": + "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + "version" "3.2.0" + +"regexpu-core@^5.1.0": + "integrity" "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "regenerate" "^1.4.2" + "regenerate-unicode-properties" "^10.1.0" + "regjsgen" "^0.7.1" + "regjsparser" "^0.9.1" + "unicode-match-property-ecmascript" "^2.0.0" + "unicode-match-property-value-ecmascript" "^2.0.0" + +"registry-auth-token@^4.0.0": + "integrity" "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==" + "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "rc" "^1.2.8" + +"registry-url@^5.0.0": + "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" + "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "rc" "^1.2.8" + +"regjsgen@^0.7.1": + "integrity" "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz" + "version" "0.7.1" + +"regjsparser@^0.9.1": + "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "jsesc" "~0.5.0" + +"release-zalgo@^1.0.0": + "integrity" "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=" + "resolved" "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "es6-error" "^4.0.1" + +"remove-bom-buffer@^3.0.0": + "integrity" "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==" + "resolved" "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "is-buffer" "^1.1.5" + "is-utf8" "^0.2.1" + +"remove-bom-stream@^1.2.0": + "integrity" "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=" + "resolved" "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "remove-bom-buffer" "^3.0.0" + "safe-buffer" "^5.1.0" + "through2" "^2.0.3" + +"remove-trailing-separator@^1.0.1", "remove-trailing-separator@^1.1.0": + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + "version" "1.1.0" + +"repeat-element@^1.1.2": + "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + "version" "1.1.4" + +"repeat-string@^1.6.1": + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"repeating@^2.0.0": + "integrity" "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" + "resolved" "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-finite" "^1.0.0" + +"replace-ext@^1.0.0": + "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + "version" "1.0.1" + +"replace-homedir@^1.0.0": + "integrity" "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=" + "resolved" "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "homedir-polyfill" "^1.0.1" + "is-absolute" "^1.0.0" + "remove-trailing-separator" "^1.1.0" + +"replacestream@^4.0.3": + "integrity" "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==" + "resolved" "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "escape-string-regexp" "^1.0.3" + "object-assign" "^4.0.1" + "readable-stream" "^2.0.2" + +"request@^2.87.0", "request@^2.88.0", "request@^2.88.2", "request@2.88.2": + "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + "version" "2.88.2" + dependencies: + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.3" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.5.0" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" + +"require-directory@^2.1.1": + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + +"require-main-filename@^1.0.1": + "integrity" "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + "version" "1.0.1" + +"require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + +"requires-port@^1.0.0": + "integrity" "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + "version" "1.0.0" + +"requizzle@^0.2.3": + "integrity" "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==" + "resolved" "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz" + "version" "0.2.3" + dependencies: + "lodash" "^4.17.14" + +"resolve-alpn@^1.0.0": + "integrity" "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "resolved" "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + "version" "1.2.1" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-dir@^1.0.0", "resolve-dir@^1.0.1": + "integrity" "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=" + "resolved" "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "expand-tilde" "^2.0.0" + "global-modules" "^1.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve-options@^1.1.0": + "integrity" "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=" + "resolved" "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "value-or-function" "^3.0.0" + +"resolve-url@^0.2.1": + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + +"resolve@^1.1.6", "resolve@^1.1.7", "resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.3.2", "resolve@^1.3.3", "resolve@^1.4.0": + "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "is-core-module" "^2.2.0" + "path-parse" "^1.0.6" + +"resolve@^1.22.0": + "integrity" "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" + "version" "1.22.0" + dependencies: + "is-core-module" "^2.8.1" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"resolve@~1.17.0": + "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" + "version" "1.17.0" + dependencies: + "path-parse" "^1.0.6" + +"resolve@~1.22.0": + "integrity" "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" + "version" "1.22.0" + dependencies: + "is-core-module" "^2.8.1" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"responselike@^1.0.2": + "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "lowercase-keys" "^1.0.0" + +"responselike@^2.0.0": + "integrity" "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz" + "version" "2.0.0" dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + "lowercase-keys" "^2.0.0" + +"restore-cursor@^2.0.0": + "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + "version" "2.0.0" dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + "onetime" "^2.0.0" + "signal-exit" "^3.0.2" + +"restore-cursor@^3.1.0": + "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + +"ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" -retry-request@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/retry-request/-/retry-request-5.0.1.tgz#c6be2a4a36f1554ba3251fa8fd945af26ee0e9ec" - integrity sha512-lxFKrlBt0OZzCWh/V0uPEN0vlr3OhdeXnpeY5OES+ckslm791Cb1D5P7lJUSnY7J5hiCjcyaUGmzCnIGDCUBig== +"retry-request@^5.0.0": + "integrity" "sha512-lxFKrlBt0OZzCWh/V0uPEN0vlr3OhdeXnpeY5OES+ckslm791Cb1D5P7lJUSnY7J5hiCjcyaUGmzCnIGDCUBig==" + "resolved" "https://registry.npmjs.org/retry-request/-/retry-request-5.0.1.tgz" + "version" "5.0.1" dependencies: - debug "^4.1.1" - extend "^3.0.2" + "debug" "^4.1.1" + "extend" "^3.0.2" -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +"retry@^0.12.0": + "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + "version" "0.12.0" -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== +"retry@^0.13.1": + "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + "version" "0.13.1" -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +"rfdc@^1.3.0": + "integrity" "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" + "version" "1.3.0" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== +"rimraf@^2.2.8", "rimraf@^2.5.2": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" dependencies: - glob "^7.1.3" + "glob" "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== +"rimraf@^2.5.4": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" dependencies: - glob "^7.1.3" + "glob" "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== +"rimraf@^2.6.3": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" + "glob" "^7.1.3" -rollup-plugin-copy-assets@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz#9a9098894c3ded16d2eee8c4108055e332b5f59f" - integrity sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w== +"rimraf@^3.0.0", "rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" dependencies: - fs-extra "^7.0.1" + "glob" "^7.1.3" -rollup-plugin-copy@3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz#f1228a3ffb66ffad8606e2f3fb7ff23141ed3286" - integrity sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ== +"rimraf@2": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" + +"ripemd160@^2.0.0", "ripemd160@^2.0.1": + "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" + "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + +"rollup-plugin-copy-assets@2.0.3": + "integrity" "sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w==" + "resolved" "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "fs-extra" "^7.0.1" + +"rollup-plugin-copy@3.4.0": + "integrity" "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==" + "resolved" "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz" + "version" "3.4.0" dependencies: "@types/fs-extra" "^8.0.1" - colorette "^1.1.0" - fs-extra "^8.1.0" - globby "10.0.1" - is-plain-object "^3.0.0" - -rollup-plugin-license@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.0.1.tgz#e54d9464971dc2c5282b74c00cee09091b329054" - integrity sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A== - dependencies: - commenting "~1.1.0" - glob "~7.2.0" - lodash "~4.17.21" - magic-string "~0.26.2" - mkdirp "~1.0.4" - moment "~2.29.3" - package-name-regex "~2.0.6" - spdx-expression-validate "~2.0.0" - spdx-satisfies "~5.0.1" - -rollup-plugin-replace@2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3" - integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA== - dependencies: - magic-string "^0.25.2" - rollup-pluginutils "^2.6.0" - -rollup-plugin-sourcemaps@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== + "colorette" "^1.1.0" + "fs-extra" "^8.1.0" + "globby" "10.0.1" + "is-plain-object" "^3.0.0" + +"rollup-plugin-license@3.0.1": + "integrity" "sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A==" + "resolved" "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "commenting" "~1.1.0" + "glob" "~7.2.0" + "lodash" "~4.17.21" + "magic-string" "~0.26.2" + "mkdirp" "~1.0.4" + "moment" "~2.29.3" + "package-name-regex" "~2.0.6" + "spdx-expression-validate" "~2.0.0" + "spdx-satisfies" "~5.0.1" + +"rollup-plugin-replace@2.2.0": + "integrity" "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==" + "resolved" "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "magic-string" "^0.25.2" + "rollup-pluginutils" "^2.6.0" + +"rollup-plugin-sourcemaps@0.6.3": + "integrity" "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==" + "resolved" "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz" + "version" "0.6.3" dependencies: "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" + "source-map-resolve" "^0.6.0" -rollup-plugin-terser@7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== +"rollup-plugin-terser@7.0.2": + "integrity" "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==" + "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" + "version" "7.0.2" dependencies: "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" + "jest-worker" "^26.2.1" + "serialize-javascript" "^4.0.0" + "terser" "^5.0.0" -rollup-plugin-typescript2@0.31.2: - version "0.31.2" - resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz#463aa713a7e2bf85b92860094b9f7fb274c5a4d8" - integrity sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q== +"rollup-plugin-typescript2@0.31.2": + "integrity" "sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==" + "resolved" "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz" + "version" "0.31.2" dependencies: "@rollup/pluginutils" "^4.1.2" "@yarn-tool/resolve-package" "^1.0.40" - find-cache-dir "^3.3.2" - fs-extra "^10.0.0" - resolve "^1.20.0" - tslib "^2.3.1" + "find-cache-dir" "^3.3.2" + "fs-extra" "^10.0.0" + "resolve" "^1.20.0" + "tslib" "^2.3.1" -rollup-plugin-uglify@6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz#65a0959d91586627f1e46a7db966fd504ec6c4e6" - integrity sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw== +"rollup-plugin-uglify@6.0.4": + "integrity" "sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw==" + "resolved" "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz" + "version" "6.0.4" dependencies: "@babel/code-frame" "^7.0.0" - jest-worker "^24.0.0" - serialize-javascript "^2.1.2" - uglify-js "^3.4.9" + "jest-worker" "^24.0.0" + "serialize-javascript" "^2.1.2" + "uglify-js" "^3.4.9" -rollup-pluginutils@^2.6.0: - version "2.8.2" - resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== +"rollup-pluginutils@^2.6.0": + "integrity" "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==" + "resolved" "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" + "version" "2.8.2" dependencies: - estree-walker "^0.6.1" + "estree-walker" "^0.6.1" -rollup@2.79.1: - version "2.79.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== +"rollup@^1.0.0 || ^2.0.0 || ^3.0.0", "rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^2.0.0", "rollup@^2.38.3", "rollup@^2.42.0", "rollup@>=0.31.2", "rollup@>=0.66.0 <2", "rollup@>=1.1.2", "rollup@>=1.26.3", "rollup@2.79.1": + "integrity" "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==" + "resolved" "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" + "version" "2.79.1" optionalDependencies: - fsevents "~2.3.2" - -router@^1.3.1: - version "1.3.5" - resolved "https://registry.npmjs.org/router/-/router-1.3.5.tgz#cb2f47f74fd99a77fb3bc01cc947f46b79b1790f" - integrity sha512-kozCJZUhuSJ5VcLhSb3F8fsmGXy+8HaDbKCAerR1G6tq3mnMZFMuSohbFvGv1c5oMFipijDjRZuuN/Sq5nMf3g== - dependencies: - array-flatten "3.0.0" - debug "2.6.9" - methods "~1.1.2" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - setprototypeof "1.2.0" - utils-merge "1.0.1" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.3.3, rxjs@^6.5.1, rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -rxjs@^7.2.0: - version "7.3.0" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" - integrity sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw== - dependencies: - tslib "~2.1.0" - -rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.1.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safe-stable-stringify@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" - integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sauce-connect-launcher@^1.2.7: - version "1.3.2" - resolved "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz#dfc675a258550809a8eaf457eb9162b943ddbaf0" - integrity sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ== - dependencies: - adm-zip "~0.4.3" - async "^2.1.2" - https-proxy-agent "^5.0.0" - lodash "^4.16.6" - rimraf "^2.5.4" - -saucelabs@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz#9405a73c360d449b232839919a86c396d379fd9d" - integrity sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ== - dependencies: - https-proxy-agent "^2.2.1" - -sax@>=0.6.0, sax@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= - dependencies: - ajv "^5.0.0" + "fsevents" "~2.3.2" + +"router@^1.3.1": + "integrity" "sha512-kozCJZUhuSJ5VcLhSb3F8fsmGXy+8HaDbKCAerR1G6tq3mnMZFMuSohbFvGv1c5oMFipijDjRZuuN/Sq5nMf3g==" + "resolved" "https://registry.npmjs.org/router/-/router-1.3.5.tgz" + "version" "1.3.5" + dependencies: + "array-flatten" "3.0.0" + "debug" "2.6.9" + "methods" "~1.1.2" + "parseurl" "~1.3.3" + "path-to-regexp" "0.1.7" + "setprototypeof" "1.2.0" + "utils-merge" "1.0.1" + +"run-async@^2.4.0": + "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + "version" "2.4.1" + +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "queue-microtask" "^1.2.2" + +"run-queue@^1.0.0", "run-queue@^1.0.3": + "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=" + "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "aproba" "^1.1.1" + +"rxjs@^6.3.3", "rxjs@^6.5.1", "rxjs@^6.6.0": + "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + "version" "6.6.7" + dependencies: + "tslib" "^1.9.0" + +"rxjs@^7.2.0": + "integrity" "sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz" + "version" "7.3.0" + dependencies: + "tslib" "~2.1.0" + +"rxjs@^7.5.5": + "integrity" "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz" + "version" "7.5.5" + dependencies: + "tslib" "^2.1.0" + +"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@^5.2.1", "safe-buffer@>=5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safe-regex@^1.1.0": + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "ret" "~0.1.10" + +"safe-stable-stringify@^1.1.0": + "integrity" "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" + "resolved" "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz" + "version" "1.1.1" + +"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" + +"sauce-connect-launcher@^1.2.7": + "integrity" "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==" + "resolved" "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "adm-zip" "~0.4.3" + "async" "^2.1.2" + "https-proxy-agent" "^5.0.0" + "lodash" "^4.16.6" + "rimraf" "^2.5.4" + +"saucelabs@^1.5.0": + "integrity" "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==" + "resolved" "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "https-proxy-agent" "^2.2.1" + +"sax@>=0.6.0": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" + +"schema-utils@^0.3.0": + "integrity" "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "ajv" "^5.0.0" -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== +"schema-utils@^1.0.0": + "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + "version" "1.0.0" dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" + "ajv" "^6.1.0" + "ajv-errors" "^1.0.0" + "ajv-keywords" "^3.1.0" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== +"schema-utils@^2.6.5": + "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + "version" "2.7.1" dependencies: "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" + "ajv" "^6.12.4" + "ajv-keywords" "^3.5.2" + +"schema-utils@^3.0.0": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +"schema-utils@^3.1.0", "schema-utils@^3.1.1": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" - integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= - -selenium-assistant@6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/selenium-assistant/-/selenium-assistant-6.1.1.tgz#07e7f6c958b641a306c2fbde1a0304ba524dd6a6" - integrity sha512-WgjmsDJdpCGvINNQofMJxE3d3/G/AVutdihbxLE8aHGUu6NlAiWd8i6WVdrzAp03Thht6yd63Z+JkOW7EXdPEw== - dependencies: - chalk "^2.4.2" - dmg "^0.1.0" - fs-extra "^8.1.0" - mkdirp "^0.5.1" - node-localstorage "^1.3.1" - request "^2.88.0" - sauce-connect-launcher "^1.2.7" - selenium-webdriver "^4.0.0-alpha.7" - semver "^6.3.0" - which "^1.3.1" - yauzl "^2.10.0" - -selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: - version "3.6.0" - resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" - integrity sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q== - dependencies: - jszip "^3.1.3" - rimraf "^2.5.4" - tmp "0.0.30" - xml2js "^0.4.17" - -selenium-webdriver@4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz#7e20d0fc038177970dad81159950c12f7411ac0d" - integrity sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg== - dependencies: - jszip "^3.10.0" - tmp "^0.2.1" - ws ">=8.7.0" - -selenium-webdriver@^4.0.0-alpha.7: - version "4.0.0-rc-1" - resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz#b1e7e5821298c8a071e988518dd6b759f0c41281" - integrity sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw== - dependencies: - jszip "^3.6.0" - rimraf "^3.0.2" - tmp "^0.2.1" - ws ">=7.4.6" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= - dependencies: - sver-compat "^1.5.0" - -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.3.8: - version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.7: - version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -send@0.17.1: - version "0.17.1" - resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@6.0.0, serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shelljs@^0.8.3: - version "0.8.4" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.4" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7" - integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== - -simple-git@3.7.1: - version "3.7.1" - resolved "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz#cb85c59da4da3d69792d206dd28cfbd803941fac" - integrity sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A== + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" + +"secure-compare@3.0.1": + "integrity" "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=" + "resolved" "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" + "version" "3.0.1" + +"selenium-assistant@6.1.1": + "integrity" "sha512-WgjmsDJdpCGvINNQofMJxE3d3/G/AVutdihbxLE8aHGUu6NlAiWd8i6WVdrzAp03Thht6yd63Z+JkOW7EXdPEw==" + "resolved" "https://registry.npmjs.org/selenium-assistant/-/selenium-assistant-6.1.1.tgz" + "version" "6.1.1" + dependencies: + "chalk" "^2.4.2" + "dmg" "^0.1.0" + "fs-extra" "^8.1.0" + "mkdirp" "^0.5.1" + "node-localstorage" "^1.3.1" + "request" "^2.88.0" + "sauce-connect-launcher" "^1.2.7" + "selenium-webdriver" "^4.0.0-alpha.7" + "semver" "^6.3.0" + "which" "^1.3.1" + "yauzl" "^2.10.0" + +"selenium-webdriver@^3.0.1", "selenium-webdriver@3.6.0": + "integrity" "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==" + "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "jszip" "^3.1.3" + "rimraf" "^2.5.4" + "tmp" "0.0.30" + "xml2js" "^0.4.17" + +"selenium-webdriver@^4.0.0-alpha.7": + "integrity" "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==" + "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz" + "version" "4.0.0-rc-1" + dependencies: + "jszip" "^3.6.0" + "rimraf" "^3.0.2" + "tmp" "^0.2.1" + "ws" ">=7.4.6" + +"selenium-webdriver@4.5.0": + "integrity" "sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg==" + "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "jszip" "^3.10.0" + "tmp" "^0.2.1" + "ws" ">=8.7.0" + +"semver-diff@^3.1.1": + "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" + "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "semver" "^6.3.0" + +"semver-greatest-satisfied-range@^1.1.0": + "integrity" "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=" + "resolved" "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "sver-compat" "^1.5.0" + +"semver@^5.0.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.3.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.4.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.5.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.6.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.7.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^6.0.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^6.1.1": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^6.1.2": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^6.2.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.0.0", "semver@^7.1.1", "semver@^7.1.2", "semver@^7.1.3", "semver@^7.2.1", "semver@^7.3.2", "semver@^7.3.4", "semver@^7.3.5", "semver@^7.3.7", "semver@~7.3.0", "semver@7.3.8": + "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"semver@2 || 3 || 4 || 5": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"send@0.18.0": + "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + "version" "0.18.0" + dependencies: + "debug" "2.6.9" + "depd" "2.0.0" + "destroy" "1.2.0" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "fresh" "0.5.2" + "http-errors" "2.0.0" + "mime" "1.6.0" + "ms" "2.1.3" + "on-finished" "2.4.1" + "range-parser" "~1.2.1" + "statuses" "2.0.1" + +"serialize-javascript@^2.1.2": + "integrity" "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz" + "version" "2.1.2" + +"serialize-javascript@^4.0.0": + "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serialize-javascript@^6.0.0": + "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serialize-javascript@6.0.0": + "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serve-static@1.15.0": + "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + "version" "1.15.0" + dependencies: + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.18.0" + +"set-blocking@^2.0.0", "set-blocking@~2.0.0": + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" + +"set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" + +"setimmediate@^1.0.4", "setimmediate@^1.0.5", "setimmediate@~1.0.4": + "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + "version" "1.0.5" + +"setprototypeof@1.1.1": + "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" + "version" "1.1.1" + +"setprototypeof@1.2.0": + "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + "version" "1.2.0" + +"sha.js@^2.4.0", "sha.js@^2.4.8": + "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" + "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + "version" "2.4.11" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^6.0.2" + +"shebang-command@^1.2.0": + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "shebang-regex" "^1.0.0" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^1.0.0": + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"shell-quote@^1.6.1": + "integrity" "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" + "version" "1.7.2" + +"shelljs@^0.8.3": + "integrity" "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==" + "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" + "version" "0.8.4" + dependencies: + "glob" "^7.0.0" + "interpret" "^1.0.0" + "rechoir" "^0.6.2" + +"side-channel@^1.0.4": + "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.0" + "get-intrinsic" "^1.0.2" + "object-inspect" "^1.9.0" + +"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3", "signal-exit@^3.0.7": + "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + "version" "3.0.7" + +"simple-git@3.7.1": + "integrity" "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==" + "resolved" "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz" + "version" "3.7.1" dependencies: "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" - debug "^4.3.3" + "debug" "^4.3.3" -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= +"simple-swizzle@^0.2.2": + "integrity" "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" + "resolved" "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + "version" "0.2.2" dependencies: - is-arrayish "^0.3.1" + "is-arrayish" "^0.3.1" -sinon-chai@3.7.0: - version "3.7.0" - resolved "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz#cfb7dec1c50990ed18c153f1840721cf13139783" - integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g== +"sinon-chai@3.7.0": + "integrity" "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==" + "resolved" "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz" + "version" "3.7.0" -sinon@9.2.4: - version "9.2.4" - resolved "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" - integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== +"sinon@>=4.0.0", "sinon@9.2.4": + "integrity" "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==" + "resolved" "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz" + "version" "9.2.4" dependencies: "@sinonjs/commons" "^1.8.1" "@sinonjs/fake-timers" "^6.0.1" "@sinonjs/samsam" "^5.3.1" - diff "^4.0.2" - nise "^4.0.4" - supports-color "^7.1.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slide@^1.1.5, slide@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= - -smart-buffer@^4.1.0: - version "4.2.0" - resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -smartwrap@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" - integrity sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== - dependencies: - array.prototype.flat "^1.2.3" - breakword "^1.0.5" - grapheme-splitter "^1.0.4" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - yargs "^15.1.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -socket.io-adapter@~2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" - integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== - -socket.io-parser@~4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" - integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== + "diff" "^4.0.2" + "nise" "^4.0.4" + "supports-color" "^7.1.0" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"slice-ansi@^4.0.0": + "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "astral-regex" "^2.0.0" + "is-fullwidth-code-point" "^3.0.0" + +"slice-ansi@0.0.4": + "integrity" "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + "version" "0.0.4" + +"slide@^1.1.5", "slide@^1.1.6": + "integrity" "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + "resolved" "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" + "version" "1.1.6" + +"smart-buffer@^4.2.0": + "integrity" "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + "resolved" "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + "version" "4.2.0" + +"smartwrap@^2.0.2": + "integrity" "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==" + "resolved" "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "array.prototype.flat" "^1.2.3" + "breakword" "^1.0.5" + "grapheme-splitter" "^1.0.4" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + "yargs" "^15.1.0" + +"snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" + +"snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^3.2.0" + +"snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" + dependencies: + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" + +"socket.io-adapter@~2.4.0": + "integrity" "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" + "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz" + "version" "2.4.0" + +"socket.io-parser@~4.0.4": + "integrity" "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==" + "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz" + "version" "4.0.4" dependencies: "@types/component-emitter" "^1.2.10" - component-emitter "~1.3.0" - debug "~4.3.1" - -socket.io@^4.4.1: - version "4.5.0" - resolved "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz#78ae2e84784c29267086a416620c18ef95b37186" - integrity sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA== - dependencies: - accepts "~1.3.4" - base64id "~2.0.0" - debug "~4.3.2" - engine.io "~6.2.0" - socket.io-adapter "~2.4.0" - socket.io-parser "~4.0.4" - -socks-proxy-agent@5, socks-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" - integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== - dependencies: - agent-base "^6.0.2" - debug "4" - socks "^2.3.3" - -socks-proxy-agent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" - integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== - dependencies: - agent-base "^6.0.2" - debug "^4.3.1" - socks "^2.6.1" - -socks@^2.3.3, socks@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" - integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== - dependencies: - ip "^1.1.5" - smart-buffer "^4.1.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -sort-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" - integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== - dependencies: - is-plain-obj "^2.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-loader@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" - integrity sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.2" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - source-map "^0.6.1" - whatwg-mimetype "^2.3.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - -source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.20: - version "0.5.20" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.4.0: - version "0.4.18" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -sparkles@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== - -spawn-wrap@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" - integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== - dependencies: - foreground-child "^2.0.0" - is-windows "^1.0.2" - make-dir "^3.0.0" - rimraf "^3.0.0" - signal-exit "^3.0.2" - which "^2.0.1" - -spawndamnit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" - integrity sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== - dependencies: - cross-spawn "^5.1.0" - signal-exit "^3.0.2" - -spdx-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" - integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== - dependencies: - array-find-index "^1.0.2" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-expression-validate@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz#25c9408e1c63fad94fff5517bb7101ffcd23350b" - integrity sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg== - dependencies: - spdx-expression-parse "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== - -spdx-ranges@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" - integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== - -spdx-satisfies@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz#9feeb2524686c08e5f7933c16248d4fdf07ed6a6" - integrity sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw== - dependencies: - spdx-compare "^1.0.0" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sqlite3@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz#00924adcc001c17686e0a6643b6cbbc2d3965083" - integrity sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA== - dependencies: - node-addon-api "^3.0.0" - node-pre-gyp "^0.11.0" + "component-emitter" "~1.3.0" + "debug" "~4.3.1" + +"socket.io@^4.4.1": + "integrity" "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==" + "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "accepts" "~1.3.4" + "base64id" "~2.0.0" + "debug" "~4.3.2" + "engine.io" "~6.2.0" + "socket.io-adapter" "~2.4.0" + "socket.io-parser" "~4.0.4" + +"socks-proxy-agent@^5.0.0", "socks-proxy-agent@5": + "integrity" "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==" + "resolved" "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "agent-base" "^6.0.2" + "debug" "4" + "socks" "^2.3.3" + +"socks-proxy-agent@^6.0.0": + "integrity" "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==" + "resolved" "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz" + "version" "6.2.1" + dependencies: + "agent-base" "^6.0.2" + "debug" "^4.3.3" + "socks" "^2.6.2" + +"socks@^2.3.3", "socks@^2.6.2": + "integrity" "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==" + "resolved" "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "ip" "^2.0.0" + "smart-buffer" "^4.2.0" + +"sort-keys@^2.0.0": + "integrity" "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "is-plain-obj" "^1.0.0" + +"sort-keys@^4.0.0": + "integrity" "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "is-plain-obj" "^2.0.0" + +"source-list-map@^2.0.0": + "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + "version" "2.0.1" + +"source-map-loader@1.1.3": + "integrity" "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==" + "resolved" "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "abab" "^2.0.5" + "iconv-lite" "^0.6.2" + "loader-utils" "^2.0.0" + "schema-utils" "^3.0.0" + "source-map" "^0.6.1" + "whatwg-mimetype" "^2.3.0" + +"source-map-resolve@^0.5.0": + "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + "resolve-url" "^0.2.1" + "source-map-url" "^0.4.0" + "urix" "^0.1.0" + +"source-map-resolve@^0.6.0": + "integrity" "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + +"source-map-support@^0.5.16", "source-map-support@~0.5.12", "source-map-support@~0.5.20": + "integrity" "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz" + "version" "0.5.20" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map-support@~0.4.0": + "integrity" "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz" + "version" "0.4.18" + dependencies: + "source-map" "^0.5.6" + +"source-map-url@^0.4.0": + "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + "version" "0.4.1" + +"source-map@^0.5.1": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.5.6": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.5.7": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@^0.7.3": + "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + "version" "0.7.3" + +"source-map@~0.5.3": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"sourcemap-codec@^1.4.4", "sourcemap-codec@^1.4.8": + "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + "version" "1.4.8" + +"sparkles@^1.0.0": + "integrity" "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" + "resolved" "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz" + "version" "1.0.1" + +"spawn-wrap@^2.0.0": + "integrity" "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==" + "resolved" "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "foreground-child" "^2.0.0" + "is-windows" "^1.0.2" + "make-dir" "^3.0.0" + "rimraf" "^3.0.0" + "signal-exit" "^3.0.2" + "which" "^2.0.1" + +"spawndamnit@^2.0.0": + "integrity" "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==" + "resolved" "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "cross-spawn" "^5.1.0" + "signal-exit" "^3.0.2" + +"spdx-compare@^1.0.0": + "integrity" "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==" + "resolved" "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "array-find-index" "^1.0.2" + "spdx-expression-parse" "^3.0.0" + "spdx-ranges" "^2.0.0" + +"spdx-correct@^3.0.0": + "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" + "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "spdx-expression-parse" "^3.0.0" + "spdx-license-ids" "^3.0.0" + +"spdx-exceptions@^2.1.0": + "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + "version" "2.3.0" + +"spdx-expression-parse@^3.0.0": + "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" + "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "spdx-exceptions" "^2.1.0" + "spdx-license-ids" "^3.0.0" + +"spdx-expression-validate@~2.0.0": + "integrity" "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==" + "resolved" "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "spdx-expression-parse" "^3.0.0" + +"spdx-license-ids@^3.0.0": + "integrity" "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" + "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz" + "version" "3.0.10" + +"spdx-ranges@^2.0.0": + "integrity" "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==" + "resolved" "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz" + "version" "2.1.1" + +"spdx-satisfies@~5.0.1": + "integrity" "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==" + "resolved" "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "spdx-compare" "^1.0.0" + "spdx-expression-parse" "^3.0.0" + "spdx-ranges" "^2.0.0" + +"split-on-first@^1.0.0": + "integrity" "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + "resolved" "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + "version" "1.1.0" + +"split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend-shallow" "^3.0.0" + +"split@^1.0.0": + "integrity" "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==" + "resolved" "https://registry.npmjs.org/split/-/split-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "through" "2" + +"split2@^3.0.0": + "integrity" "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==" + "resolved" "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "readable-stream" "^3.0.0" + +"sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"sqlite3@^5.0.2": + "integrity" "sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==" + "resolved" "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "@mapbox/node-pre-gyp" "^1.0.0" + "node-addon-api" "^4.2.0" + "tar" "^6.1.11" optionalDependencies: - node-gyp "3.x" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stack-trace@0.0.10, stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-chain@^2.2.4, stream-chain@^2.2.5: - version "2.2.5" - resolved "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" - integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-http@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -stream-json@^1.7.3: - version "1.7.4" - resolved "https://registry.npmjs.org/stream-json/-/stream-json-1.7.4.tgz#e41637f93c5aca7267009ca8a3f6751e62331e69" - integrity sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg== - dependencies: - stream-chain "^2.2.5" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -stream-transform@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" - integrity sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== - dependencies: - mixme "^0.5.1" - -streamfilter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/streamfilter/-/streamfilter-3.0.0.tgz#8c61b08179a6c336c6efccc5df30861b7a9675e7" - integrity sha512-kvKNfXCmUyC8lAXSSHCIXBUlo/lhsLcCU/OmzACZYpRUdtKIH68xYhm/+HI15jFJYtNJGYtCgn2wmIiExY1VwA== - dependencies: - readable-stream "^3.0.6" - -streamroller@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" - integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA== - dependencies: - date-format "^4.0.3" - debug "^4.1.1" - fs-extra "^10.0.0" - -streamroller@^3.0.4: - version "3.0.5" - resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz#17e348dc2a662f9f325373549ab91d55316051ab" - integrity sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g== - dependencies: - date-format "^4.0.5" - debug "^4.3.3" - fs-extra "^10.0.1" - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= - -string-argv@~0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" - integrity sha1-VpcPscOFWOnnC3KL894mmsRa36w= - dependencies: - strip-ansi "^3.0.0" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.padend@^3.0.0: - version "3.1.2" - resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" - integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + "node-gyp" "8.x" + +"sshpk@^1.7.0": + "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + "version" "1.16.1" + dependencies: + "asn1" "~0.2.3" + "assert-plus" "^1.0.0" + "bcrypt-pbkdf" "^1.0.0" + "dashdash" "^1.12.0" + "ecc-jsbn" "~0.1.1" + "getpass" "^0.1.1" + "jsbn" "~0.1.0" + "safer-buffer" "^2.0.2" + "tweetnacl" "~0.14.0" + +"ssri@^6.0.1": + "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" + "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "figgy-pudding" "^3.5.1" + +"ssri@^8.0.0", "ssri@^8.0.1": + "integrity" "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==" + "resolved" "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" + "version" "8.0.1" + dependencies: + "minipass" "^3.1.1" + +"stack-trace@0.0.10", "stack-trace@0.0.x": + "integrity" "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + "resolved" "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" + "version" "0.0.10" + +"stack-utils@^2.0.3": + "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "escape-string-regexp" "^2.0.0" + +"static-extend@^0.1.1": + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "define-property" "^0.2.5" + "object-copy" "^0.1.0" + +"statuses@>= 1.5.0 < 2": + "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"statuses@~1.5.0": + "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"statuses@2.0.1": + "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + "version" "2.0.1" + +"stream-browserify@^2.0.1": + "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" + "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "inherits" "~2.0.1" + "readable-stream" "^2.0.2" + +"stream-browserify@^3.0.0": + "integrity" "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==" + "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "inherits" "~2.0.4" + "readable-stream" "^3.5.0" + +"stream-chain@^2.2.4", "stream-chain@^2.2.5": + "integrity" "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==" + "resolved" "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz" + "version" "2.2.5" + +"stream-each@^1.1.0": + "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" + "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" + "version" "1.2.3" + dependencies: + "end-of-stream" "^1.1.0" + "stream-shift" "^1.0.0" + +"stream-exhaust@^1.0.1": + "integrity" "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==" + "resolved" "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz" + "version" "1.0.2" + +"stream-http@^2.7.2": + "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" + "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" + "version" "2.8.3" + dependencies: + "builtin-status-codes" "^3.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.3.6" + "to-arraybuffer" "^1.0.0" + "xtend" "^4.0.0" + +"stream-http@^3.1.0": + "integrity" "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==" + "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "builtin-status-codes" "^3.0.0" + "inherits" "^2.0.4" + "readable-stream" "^3.6.0" + "xtend" "^4.0.2" + +"stream-json@^1.7.3": + "integrity" "sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg==" + "resolved" "https://registry.npmjs.org/stream-json/-/stream-json-1.7.4.tgz" + "version" "1.7.4" + dependencies: + "stream-chain" "^2.2.5" + +"stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" + +"stream-transform@^2.1.3": + "integrity" "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==" + "resolved" "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz" + "version" "2.1.3" + dependencies: + "mixme" "^0.5.1" + +"streamfilter@^3.0.0": + "integrity" "sha512-kvKNfXCmUyC8lAXSSHCIXBUlo/lhsLcCU/OmzACZYpRUdtKIH68xYhm/+HI15jFJYtNJGYtCgn2wmIiExY1VwA==" + "resolved" "https://registry.npmjs.org/streamfilter/-/streamfilter-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "readable-stream" "^3.0.6" + +"streamroller@^3.0.4": + "integrity" "sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g==" + "resolved" "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz" + "version" "3.0.5" + dependencies: + "date-format" "^4.0.5" + "debug" "^4.3.3" + "fs-extra" "^10.0.1" + +"strict-uri-encode@^2.0.0": + "integrity" "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + "version" "2.0.0" + +"string_decoder@^1.0.0", "string_decoder@^1.1.1", "string_decoder@^1.3.0": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + +"string_decoder@~0.10.x": + "integrity" "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "version" "0.10.31" + +"string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + +"string-argv@~0.3.1": + "integrity" "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==" + "resolved" "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" + "version" "0.3.1" + +"string-length@^1.0.0": + "integrity" "sha1-VpcPscOFWOnnC3KL894mmsRa36w=" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "strip-ansi" "^3.0.0" + +"string-width@^1.0.1", "string-width@^1.0.2": + "integrity" "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "code-point-at" "^1.0.0" + "is-fullwidth-code-point" "^1.0.0" + "strip-ansi" "^3.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", "string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.2", "string-width@^4.2.3": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -superstatic@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/superstatic/-/superstatic-8.0.0.tgz#da01d4bb2d3698d9837181d21926fa6c6a050053" - integrity sha512-PqlA2xuEwOlRZsknl58A/rZEmgCUcfWIFec0bn10wYE5/tbMhEbMXGHCYDppiXLXcuhGHyOp1IimM2hLqkLLuw== - dependencies: - basic-auth-connect "^1.0.0" - chalk "^1.1.3" - commander "^9.2.0" - compare-semver "^1.0.0" - compression "^1.7.0" - connect "^3.6.2" - destroy "^1.0.4" - fast-url-parser "^1.1.3" - glob-slasher "^1.0.1" - is-url "^1.2.2" - join-path "^1.1.1" - lodash "^4.17.19" - mime-types "^2.1.16" - minimatch "^3.0.4" - morgan "^1.8.2" - on-finished "^2.2.0" - on-headers "^1.0.0" - path-to-regexp "^1.8.0" - router "^1.3.1" - string-length "^1.0.0" - update-notifier "^4.1.1" +"string-width@^2.1.1": + "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^4.0.0" + +"string-width@^3.0.0": + "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "emoji-regex" "^7.0.1" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^5.1.0" + +"string.prototype.padend@^3.0.0": + "integrity" "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==" + "resolved" "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + +"string.prototype.trimend@^1.0.4": + "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"string.prototype.trimend@^1.0.5": + "integrity" "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.19.5" + +"string.prototype.trimstart@^1.0.4": + "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"string.prototype.trimstart@^1.0.5": + "integrity" "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.19.5" + +"strip-ansi@^3.0.0", "strip-ansi@^3.0.1": + "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ansi-regex" "^2.0.0" + +"strip-ansi@^4.0.0": + "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "ansi-regex" "^3.0.0" + +"strip-ansi@^5.1.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"strip-bom-string@^1.0.0": + "integrity" "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + "version" "1.0.0" + +"strip-bom@^2.0.0": + "integrity" "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "is-utf8" "^0.2.0" + +"strip-bom@^3.0.0": + "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + "version" "3.0.0" + +"strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-indent@^3.0.0": + "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "min-indent" "^1.0.0" + +"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1", "strip-json-comments@~3.1.1", "strip-json-comments@3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"strip-json-comments@~2.0.1": + "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + "version" "2.0.1" + +"strong-log-transformer@^2.1.0": + "integrity" "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" + "resolved" "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "duplexer" "^0.1.1" + "minimist" "^1.2.0" + "through" "^2.3.4" + +"superstatic@^8.0.0": + "integrity" "sha512-PqlA2xuEwOlRZsknl58A/rZEmgCUcfWIFec0bn10wYE5/tbMhEbMXGHCYDppiXLXcuhGHyOp1IimM2hLqkLLuw==" + "resolved" "https://registry.npmjs.org/superstatic/-/superstatic-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "basic-auth-connect" "^1.0.0" + "chalk" "^1.1.3" + "commander" "^9.2.0" + "compare-semver" "^1.0.0" + "compression" "^1.7.0" + "connect" "^3.6.2" + "destroy" "^1.0.4" + "fast-url-parser" "^1.1.3" + "glob-slasher" "^1.0.1" + "is-url" "^1.2.2" + "join-path" "^1.1.1" + "lodash" "^4.17.19" + "mime-types" "^2.1.16" + "minimatch" "^3.0.4" + "morgan" "^1.8.2" + "on-finished" "^2.2.0" + "on-headers" "^1.0.0" + "path-to-regexp" "^1.8.0" + "router" "^1.3.1" + "string-length" "^1.0.0" + "update-notifier" "^4.1.1" optionalDependencies: - re2 "^1.15.8" + "re2" "^1.15.8" -supports-color@8.1.1, supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== +"supports-color@^2.0.0": + "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + "version" "2.0.0" + +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" dependencies: - has-flag "^4.0.0" + "has-flag" "^3.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= +"supports-color@^6.1.0": + "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "has-flag" "^3.0.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== +"supports-color@^7.0.0", "supports-color@^7.1.0", "supports-color@^7.2.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" dependencies: - has-flag "^3.0.0" + "has-flag" "^4.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" dependencies: - has-flag "^3.0.0" + "has-flag" "^4.0.0" -supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +"supports-color@8.1.1": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" dependencies: - has-flag "^4.0.0" + "has-flag" "^4.0.0" -supports-hyperlinks@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== +"supports-hyperlinks@^2.2.0": + "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" + "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" + "version" "2.2.0" dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" + "has-flag" "^4.0.0" + "supports-color" "^7.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +"supports-preserve-symlinks-flag@^1.0.0": + "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + "version" "1.0.0" -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= +"sver-compat@^1.5.0": + "integrity" "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=" + "resolved" "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz" + "version" "1.5.0" dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" + "es6-iterator" "^2.0.1" + "es6-symbol" "^3.1.1" -symbol-observable@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== +"symbol-observable@^1.1.0": + "integrity" "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + "version" "1.2.0" "sync-promise@git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features": - version "1.0.1" - resolved "git+https://github.com/brettz9/sync-promise.git#25845a49a00aa2d2c985a5149b97c86a1fcdc75a" - -table@^6.0.9: - version "6.7.1" - resolved "https://registry.npmjs.org/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar-stream@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@6.1.9: - version "6.1.9" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.9.tgz#5646ef51342ac55456b2466e44da810439978db1" - integrity sha512-XjLaMNl76o07zqZC/aW4lwegdY07baOH1T8w3AEfrHAdyg/oYO4ctjzEBq9Gy9fEP9oHqLIgvx6zuGDGe+bc8Q== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - -tar@^4, tar@^4.4.12: - version "4.4.19" - resolved "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: - version "6.1.11" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tcp-port-used@^1.0.1, tcp-port-used@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz#9652b7436eb1f4cfae111c79b558a25769f6faea" - integrity sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA== - dependencies: - debug "4.3.1" - is2 "^2.0.6" - -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= - -temp-write@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz#cd2e0825fc826ae72d201dc26eef3bf7e6fc9320" - integrity sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw== - dependencies: - graceful-fs "^4.1.15" - is-stream "^2.0.0" - make-dir "^3.0.0" - temp-dir "^1.0.0" - uuid "^3.3.2" - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^5.1.3: - version "5.2.4" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz#ad1be7639b1cbe3ea49fab995cbe7224b31747a1" - integrity sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA== - dependencies: - jest-worker "^27.0.6" - p-limit "^3.1.0" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@5.15.1: - version "5.15.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== + "resolved" "git+ssh://git@github.com/brettz9/sync-promise.git#25845a49a00aa2d2c985a5149b97c86a1fcdc75a" + "version" "1.0.1" + +"table@^6.0.9": + "integrity" "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==" + "resolved" "https://registry.npmjs.org/table/-/table-6.7.1.tgz" + "version" "6.7.1" + dependencies: + "ajv" "^8.0.1" + "lodash.clonedeep" "^4.5.0" + "lodash.truncate" "^4.4.2" + "slice-ansi" "^4.0.0" + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + +"taffydb@2.6.2": + "integrity" "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==" + "resolved" "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz" + "version" "2.6.2" + +"tapable@^1.0.0": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"tapable@^1.1.3": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"tapable@^2.1.1", "tapable@^2.2.0": + "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + "version" "2.2.1" + +"tar-stream@^2.2.0": + "integrity" "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "bl" "^4.0.3" + "end-of-stream" "^1.4.1" + "fs-constants" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" + +"tar@^4.4.12": + "integrity" "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==" + "resolved" "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" + "version" "4.4.19" + dependencies: + "chownr" "^1.1.4" + "fs-minipass" "^1.2.7" + "minipass" "^2.9.0" + "minizlib" "^1.3.3" + "mkdirp" "^0.5.5" + "safe-buffer" "^5.2.1" + "yallist" "^3.1.1" + +"tar@^6.0.2", "tar@^6.1.0", "tar@^6.1.11", "tar@^6.1.2": + "integrity" "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==" + "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + "version" "6.1.11" + dependencies: + "chownr" "^2.0.0" + "fs-minipass" "^2.0.0" + "minipass" "^3.0.0" + "minizlib" "^2.1.1" + "mkdirp" "^1.0.3" + "yallist" "^4.0.0" + +"tar@6.1.9": + "integrity" "sha512-XjLaMNl76o07zqZC/aW4lwegdY07baOH1T8w3AEfrHAdyg/oYO4ctjzEBq9Gy9fEP9oHqLIgvx6zuGDGe+bc8Q==" + "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.9.tgz" + "version" "6.1.9" + dependencies: + "chownr" "^2.0.0" + "fs-minipass" "^2.0.0" + "minipass" "^3.0.0" + "minizlib" "^2.1.1" + "mkdirp" "^1.0.3" + "yallist" "^4.0.0" + +"tcp-port-used@^1.0.1", "tcp-port-used@^1.0.2": + "integrity" "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==" + "resolved" "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "debug" "4.3.1" + "is2" "^2.0.6" + +"temp-dir@^1.0.0": + "integrity" "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" + "version" "1.0.0" + +"temp-write@^4.0.0": + "integrity" "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==" + "resolved" "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "graceful-fs" "^4.1.15" + "is-stream" "^2.0.0" + "make-dir" "^3.0.0" + "temp-dir" "^1.0.0" + "uuid" "^3.3.2" + +"term-size@^2.1.0": + "integrity" "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" + "resolved" "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" + "version" "2.2.1" + +"terser-webpack-plugin@^1.4.3": + "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" + "version" "1.4.5" + dependencies: + "cacache" "^12.0.2" + "find-cache-dir" "^2.1.0" + "is-wsl" "^1.1.0" + "schema-utils" "^1.0.0" + "serialize-javascript" "^4.0.0" + "source-map" "^0.6.1" + "terser" "^4.1.2" + "webpack-sources" "^1.4.0" + "worker-farm" "^1.7.0" + +"terser-webpack-plugin@^5.1.3": + "integrity" "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz" + "version" "5.2.4" + dependencies: + "jest-worker" "^27.0.6" + "p-limit" "^3.1.0" + "schema-utils" "^3.1.1" + "serialize-javascript" "^6.0.0" + "source-map" "^0.6.1" + "terser" "^5.7.2" + +"terser@^4.1.2": + "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" + "version" "4.8.0" + dependencies: + "commander" "^2.20.0" + "source-map" "~0.6.1" + "source-map-support" "~0.5.12" + +"terser@^5.0.0", "terser@^5.7.2", "terser@5.15.1": + "integrity" "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" + "version" "5.15.1" dependencies: "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" + "acorn" "^8.5.0" + "commander" "^2.20.0" + "source-map-support" "~0.5.20" -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.0.0, terser@^5.7.2: - version "5.9.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" - integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== +"test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" + "glob" "^7.1.4" + "minimatch" "^3.0.4" -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== +"text-extensions@^1.0.0": + "integrity" "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" + "resolved" "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" + "version" "1.9.0" -text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== +"text-hex@1.0.x": + "integrity" "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + "resolved" "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz" + "version" "1.0.0" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +"text-table@^0.2.0": + "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" -textextensions@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz#03530d5287b86773c08b77458589148870cc71d3" - integrity sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw== +"textextensions@^3.2.0": + "integrity" "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==" + "resolved" "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz" + "version" "3.3.0" -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= +"thenify-all@^1.0.0": + "integrity" "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=" + "resolved" "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + "version" "1.6.0" dependencies: - thenify ">= 3.1.0 < 4" + "thenify" ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + "integrity" "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==" + "resolved" "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + "version" "3.3.1" dependencies: - any-promise "^1.0.0" + "any-promise" "^1.0.0" -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" +"through@^2.3.4", "through@^2.3.6", "through@^2.3.8", "through@>=2.2.7 <3", "through@2": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" -through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== +"through2-filter@^3.0.0": + "integrity" "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==" + "resolved" "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz" + "version" "3.0.0" dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" + "through2" "~2.0.0" + "xtend" "~4.0.0" -through2@^3.0.1: - version "3.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" +"through2@^2.0.0", "through2@^2.0.3", "through2@~2.0.0": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +"through2@^3.0.1": + "integrity" "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "2 || 3" + +"through2@^4.0.0": + "integrity" "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + "resolved" "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "readable-stream" "3" -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= +"time-stamp@^1.0.0": + "integrity" "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + "resolved" "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz" + "version" "1.1.0" -timers-browserify@^2.0.11, timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" +"timers-browserify@^2.0.11", "timers-browserify@^2.0.4": + "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" + "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + "version" "2.0.12" + dependencies: + "setimmediate" "^1.0.4" -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== +"timers-ext@^0.1.7": + "integrity" "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==" + "resolved" "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" + "version" "0.1.7" dependencies: - es5-ext "~0.10.46" - next-tick "1" - -timsort@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + "es5-ext" "~0.10.46" + "next-tick" "1" + +"timsort@~0.3.0": + "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + "version" "0.3.0" -tiny-queue@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046" - integrity sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY= - -tmp@0.0.30: - version "0.0.30" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" - integrity sha1-ckGdSovn1s51FI/YsyTlk6cRwu0= - dependencies: - os-tmpdir "~1.0.1" - -tmp@0.2.1, tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== +"tiny-queue@^0.2.1": + "integrity" "sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=" + "resolved" "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz" + "version" "0.2.1" + +"tmp@^0.0.33": + "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + "version" "0.0.33" + dependencies: + "os-tmpdir" "~1.0.2" + +"tmp@^0.2.1", "tmp@0.2.1": + "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "rimraf" "^3.0.0" + +"tmp@0.0.30": + "integrity" "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz" + "version" "0.0.30" dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + "os-tmpdir" "~1.0.1" + +"tmpl@1.0.x": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" -to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= +"to-absolute-glob@^2.0.0", "to-absolute-glob@^2.0.2": + "integrity" "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=" + "resolved" "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" + "version" "2.0.2" dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" + "is-absolute" "^1.0.0" + "is-negated-glob" "^1.0.0" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +"to-arraybuffer@^1.0.0": + "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + "version" "1.0.1" -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= +"to-fast-properties@^1.0.3": + "integrity" "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" + "version" "1.0.3" -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +"to-fast-properties@^2.0.0": + "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= +"to-object-path@^0.3.0": + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" dependencies: - kind-of "^3.0.2" + "kind-of" "^3.0.2" -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== +"to-readable-stream@^1.0.0": + "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + "version" "1.0.0" -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" +"to-regex-range@^2.1.0": + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" dependencies: - is-number "^7.0.0" + "is-number" "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== +"to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" +"to-through@^2.0.0": + "integrity" "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=" + "resolved" "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "through2" "^2.0.3" -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +"toidentifier@1.0.0": + "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" + "version" "1.0.0" -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +"toidentifier@1.0.1": + "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + "version" "1.0.1" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== +"tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" dependencies: - psl "^1.1.28" - punycode "^2.1.1" + "psl" "^1.1.28" + "punycode" "^2.1.1" -toxic@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz#8c2e2528da591100adc3883f2c0e56acfb1c7288" - integrity sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg== +"toxic@^1.0.0": + "integrity" "sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==" + "resolved" "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz" + "version" "1.0.1" dependencies: - lodash "^4.17.10" + "lodash" "^4.17.10" -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" +"tr46@^2.1.0": + "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "punycode" "^2.1.1" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +"tr46@~0.0.3": + "integrity" "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" "traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -triple-beam@^1.2.0, triple-beam@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" - integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== - -ts-essentials@9.3.0: - version "9.3.0" - resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.3.0.tgz#7e639c1a76b1805c3c60d6e1b5178da2e70aea02" - integrity sha512-XeiCboEyBG8UqXZtXl59bWEi4ZgOqRsogFDI6WDGIF1LmzbYiAkIwjkXN6zZWWl4re/lsOqMlYfe8KA0XiiEPw== - -ts-loader@8.4.0: - version "8.4.0" - resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" - integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - -ts-node@10.9.1: - version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + "integrity" "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + "resolved" "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" + "version" "0.3.9" + +"trim-newlines@^3.0.0": + "integrity" "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" + "version" "3.0.1" + +"trim-right@^1.0.1": + "integrity" "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "resolved" "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + "version" "1.0.1" + +"triple-beam@^1.2.0", "triple-beam@^1.3.0": + "integrity" "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + "resolved" "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" + "version" "1.3.0" + +"ts-essentials@9.3.0": + "integrity" "sha512-XeiCboEyBG8UqXZtXl59bWEi4ZgOqRsogFDI6WDGIF1LmzbYiAkIwjkXN6zZWWl4re/lsOqMlYfe8KA0XiiEPw==" + "resolved" "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.3.0.tgz" + "version" "9.3.0" + +"ts-loader@8.4.0": + "integrity" "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==" + "resolved" "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz" + "version" "8.4.0" + dependencies: + "chalk" "^4.1.0" + "enhanced-resolve" "^4.0.0" + "loader-utils" "^2.0.0" + "micromatch" "^4.0.0" + "semver" "^7.3.4" + +"ts-node@10.9.1": + "integrity" "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==" + "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + "version" "10.9.1" dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + "acorn" "^8.4.1" + "acorn-walk" "^8.1.1" + "arg" "^4.1.0" + "create-require" "^1.1.0" + "diff" "^4.0.1" + "make-error" "^1.1.1" + "v8-compile-cache-lib" "^3.0.1" + "yn" "3.1.1" + +"tsconfig-paths@^3.14.1": + "integrity" "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==" + "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" + "version" "3.14.1" dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2, tslib@^2.3.1: - version "2.4.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.0.1, tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tslib@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - -tslint@6.1.3: - version "6.1.3" - resolved "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== + "json5" "^1.0.1" + "minimist" "^1.2.6" + "strip-bom" "^3.0.0" + +"tslib@^1.13.0", "tslib@^1.8.1": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^1.9.0": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^2.0.1", "tslib@^2.1.0": + "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" + "version" "2.3.1" + +"tslib@^2.3.1": + "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" + "version" "2.4.0" + +"tslib@^2": + "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" + "version" "2.4.0" + +"tslib@~2.1.0": + "integrity" "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz" + "version" "2.1.0" + +"tslint@^5.0.0 || ^6.0.0", "tslint@6.1.3": + "integrity" "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==" + "resolved" "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz" + "version" "6.1.3" dependencies: "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tty-browserify@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -tty-table@^4.1.5: - version "4.1.6" - resolved "https://registry.npmjs.org/tty-table/-/tty-table-4.1.6.tgz#6bd58338f36c94cce478c3337934d8a65ab40a73" - integrity sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw== - dependencies: - chalk "^4.1.2" - csv "^5.5.0" - kleur "^4.1.4" - smartwrap "^2.0.2" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - yargs "^17.1.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" - integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.0, type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-fest@^1.0.2: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" - integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typedoc-default-themes@^0.7.2: - version "0.7.2" - resolved "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz#1e9896f920b58e6da0bba9d7e643738d02405a5a" - integrity sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A== - dependencies: - backbone "^1.4.0" - jquery "^3.4.1" - lunr "^2.3.8" - underscore "^1.9.1" - -typedoc@0.16.11: - version "0.16.11" - resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.16.11.tgz#95f862c6eba78533edc9af7096d2295b718eddc1" - integrity sha512-YEa5i0/n0yYmLJISJ5+po6seYfJQJ5lQYcHCPF9ffTF92DB/TAZO/QrazX5skPHNPtmlIht5FdTXCM2kC7jQFQ== + "builtin-modules" "^1.1.1" + "chalk" "^2.3.0" + "commander" "^2.12.1" + "diff" "^4.0.1" + "glob" "^7.1.1" + "js-yaml" "^3.13.1" + "minimatch" "^3.0.4" + "mkdirp" "^0.5.3" + "resolve" "^1.3.2" + "semver" "^5.3.0" + "tslib" "^1.13.0" + "tsutils" "^2.29.0" + +"tsutils@^2.29.0": + "integrity" "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==" + "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz" + "version" "2.29.0" + dependencies: + "tslib" "^1.8.1" + +"tsutils@^3.21.0": + "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" + "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + "version" "3.21.0" + dependencies: + "tslib" "^1.8.1" + +"tty-browserify@^0.0.1": + "integrity" "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz" + "version" "0.0.1" + +"tty-browserify@0.0.0": + "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + "version" "0.0.0" + +"tty-table@^4.1.5": + "integrity" "sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==" + "resolved" "https://registry.npmjs.org/tty-table/-/tty-table-4.1.6.tgz" + "version" "4.1.6" + dependencies: + "chalk" "^4.1.2" + "csv" "^5.5.0" + "kleur" "^4.1.4" + "smartwrap" "^2.0.2" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + "yargs" "^17.1.1" + +"tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + +"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" + +"type-check@^0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-check@~0.3.2": + "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + +"type-check@~0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-detect@^4.0.0", "type-detect@^4.0.5", "type-detect@^4.0.8", "type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.13.1": + "integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" + "version" "0.13.1" + +"type-fest@^0.18.0": + "integrity" "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" + "version" "0.18.1" + +"type-fest@^0.20.2": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"type-fest@^0.4.1": + "integrity" "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz" + "version" "0.4.1" + +"type-fest@^0.6.0": + "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + "version" "0.6.0" + +"type-fest@^0.8.0", "type-fest@^0.8.1": + "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + "version" "0.8.1" + +"type-fest@^1.0.2": + "integrity" "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" + "version" "1.4.0" + +"type-is@~1.6.17", "type-is@~1.6.18": + "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + "version" "1.6.18" + dependencies: + "media-typer" "0.3.0" + "mime-types" "~2.1.24" + +"type@^1.0.1": + "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz" + "version" "1.2.0" + +"type@^2.5.0": + "integrity" "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + "resolved" "https://registry.npmjs.org/type/-/type-2.5.0.tgz" + "version" "2.5.0" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typedarray@^0.0.6": + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version" "0.0.6" + +"typedoc-default-themes@^0.7.2": + "integrity" "sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A==" + "resolved" "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz" + "version" "0.7.2" + dependencies: + "backbone" "^1.4.0" + "jquery" "^3.4.1" + "lunr" "^2.3.8" + "underscore" "^1.9.1" + +"typedoc@0.16.11": + "integrity" "sha512-YEa5i0/n0yYmLJISJ5+po6seYfJQJ5lQYcHCPF9ffTF92DB/TAZO/QrazX5skPHNPtmlIht5FdTXCM2kC7jQFQ==" + "resolved" "https://registry.npmjs.org/typedoc/-/typedoc-0.16.11.tgz" + "version" "0.16.11" dependencies: "@types/minimatch" "3.0.3" - fs-extra "^8.1.0" - handlebars "^4.7.2" - highlight.js "^9.17.1" - lodash "^4.17.15" - marked "^0.8.0" - minimatch "^3.0.0" - progress "^2.0.3" - shelljs "^0.8.3" - typedoc-default-themes "^0.7.2" - typescript "3.7.x" - -typescript@3.7.x: - version "3.7.7" - resolved "https://registry.npmjs.org/typescript/-/typescript-3.7.7.tgz#c931733e2ec10dda56b855b379cc488a72a81199" - integrity sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA== - -typescript@4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" - integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== - -typescript@4.7.4: - version "4.7.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -typescript@~4.1.3: - version "4.1.6" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz#1becd85d77567c3c741172339e93ce2e69932138" - integrity sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow== - -typeson-registry@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.npmjs.org/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz#9e0f5aabd5eebfcffd65a796487541196f4b1211" - integrity sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw== - dependencies: - base64-arraybuffer-es6 "^0.7.0" - typeson "^6.0.0" - whatwg-url "^8.4.0" - -typeson@6.1.0, typeson@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/typeson/-/typeson-6.1.0.tgz#5b2a53705a5f58ff4d6f82f965917cabd0d7448b" - integrity sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA== - -ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== - -uglify-js@^3.1.4, uglify-js@^3.4.9: - version "3.14.2" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" - integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== - -uid-number@0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= - -umask@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= - -underscore@>=1.8.3, underscore@^1.9.1: - version "1.13.1" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" - integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== - -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= - -undertaker@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" - integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - fast-levenshtein "^1.0.0" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universal-analytics@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz#ff2d9b850062cdd4a8f652448047982a183c8e96" - integrity sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ== - dependencies: - debug "^4.3.1" - uuid "^8.0.0" - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -unzipper@^0.10.10: - version "0.10.11" - resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" - integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "^1.0.12" - graceful-fs "^4.2.2" - listenercount "~1.0.1" - readable-stream "~2.3.6" - setimmediate "~1.0.4" - -upath2@^3.1.13: - version "3.1.19" - resolved "https://registry.npmjs.org/upath2/-/upath2-3.1.19.tgz#d987d34a62b2daad1c54a692fd5a720a30c9a786" - integrity sha512-d23dQLi8nDWSRTIQwXtaYqMrHuca0As53fNiTLLFDmsGBbepsZepISaB2H1x45bDFN/n3Qw9bydvyZEacTrEWQ== + "fs-extra" "^8.1.0" + "handlebars" "^4.7.2" + "highlight.js" "^9.17.1" + "lodash" "^4.17.15" + "marked" "^0.8.0" + "minimatch" "^3.0.0" + "progress" "^2.0.3" + "shelljs" "^0.8.3" + "typedoc-default-themes" "^0.7.2" + "typescript" "3.7.x" + +"typescript@*", "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev", "typescript@>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev", "typescript@>=2.4.0", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@4.7.4": + "integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" + "version" "4.7.4" + +"typescript@>=4.1.0", "typescript@1 || 2 || 3 || 4", "typescript@4.2.2": + "integrity" "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz" + "version" "4.2.2" + +"typescript@~4.1.3": + "integrity" "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz" + "version" "4.1.6" + +"typescript@3.7.x": + "integrity" "sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.7.7.tgz" + "version" "3.7.7" + +"typeson-registry@1.0.0-alpha.39": + "integrity" "sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==" + "resolved" "https://registry.npmjs.org/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz" + "version" "1.0.0-alpha.39" + dependencies: + "base64-arraybuffer-es6" "^0.7.0" + "typeson" "^6.0.0" + "whatwg-url" "^8.4.0" + +"typeson@^6.0.0", "typeson@6.1.0": + "integrity" "sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==" + "resolved" "https://registry.npmjs.org/typeson/-/typeson-6.1.0.tgz" + "version" "6.1.0" + +"ua-parser-js@^0.7.30": + "integrity" "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz" + "version" "0.7.31" + +"uc.micro@^1.0.1", "uc.micro@^1.0.5": + "integrity" "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "resolved" "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + "version" "1.0.6" + +"uglify-js@^3.1.4", "uglify-js@^3.4.9", "uglify-js@^3.7.7": + "integrity" "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==" + "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz" + "version" "3.14.2" + +"uid-number@0.0.6": + "integrity" "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" + "resolved" "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" + "version" "0.0.6" + +"umask@^1.1.0": + "integrity" "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=" + "resolved" "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz" + "version" "1.1.0" + +"unbox-primitive@^1.0.1": + "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "function-bind" "^1.1.1" + "has-bigints" "^1.0.1" + "has-symbols" "^1.0.2" + "which-boxed-primitive" "^1.0.2" + +"unbox-primitive@^1.0.2": + "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + "has-bigints" "^1.0.2" + "has-symbols" "^1.0.3" + "which-boxed-primitive" "^1.0.2" + +"unc-path-regex@^0.1.2": + "integrity" "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + "resolved" "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" + "version" "0.1.2" + +"underscore@^1.9.1", "underscore@>=1.8.3", "underscore@~1.13.2": + "integrity" "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + "resolved" "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz" + "version" "1.13.6" + +"undertaker-registry@^1.0.0": + "integrity" "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=" + "resolved" "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz" + "version" "1.0.1" + +"undertaker@^1.2.1": + "integrity" "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==" + "resolved" "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "arr-flatten" "^1.0.1" + "arr-map" "^2.0.0" + "bach" "^1.0.0" + "collection-map" "^1.0.0" + "es6-weak-map" "^2.0.1" + "fast-levenshtein" "^1.0.0" + "last-run" "^1.1.0" + "object.defaults" "^1.0.0" + "object.reduce" "^1.0.0" + "undertaker-registry" "^1.0.0" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.0.0": + "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + "version" "2.1.0" + +"union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" + +"union@~0.5.0": + "integrity" "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==" + "resolved" "https://registry.npmjs.org/union/-/union-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "qs" "^6.4.0" + +"unique-filename@^1.1.1": + "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" + "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "unique-slug" "^2.0.0" + +"unique-slug@^2.0.0": + "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" + "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "imurmurhash" "^0.1.4" + +"unique-stream@^2.0.2": + "integrity" "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==" + "resolved" "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz" + "version" "2.3.1" + dependencies: + "json-stable-stringify-without-jsonify" "^1.0.1" + "through2-filter" "^3.0.0" + +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + +"universal-analytics@^0.5.3": + "integrity" "sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==" + "resolved" "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "debug" "^4.3.1" + "uuid" "^8.0.0" + +"universal-user-agent@^6.0.0": + "integrity" "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "resolved" "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" + "version" "6.0.0" + +"universalify@^0.1.0": + "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + "version" "0.1.2" + +"universalify@^2.0.0": + "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + "version" "2.0.0" + +"unpipe@~1.0.0", "unpipe@1.0.0": + "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" + +"unset-value@^1.0.0": + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-value" "^0.3.1" + "isobject" "^3.0.0" + +"unzipper@^0.10.10": + "integrity" "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==" + "resolved" "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz" + "version" "0.10.11" + dependencies: + "big-integer" "^1.6.17" + "binary" "~0.3.0" + "bluebird" "~3.4.1" + "buffer-indexof-polyfill" "~1.0.0" + "duplexer2" "~0.1.4" + "fstream" "^1.0.12" + "graceful-fs" "^4.2.2" + "listenercount" "~1.0.1" + "readable-stream" "~2.3.6" + "setimmediate" "~1.0.4" + +"upath@^1.1.1": + "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + "version" "1.2.0" + +"upath@^2.0.1": + "integrity" "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==" + "resolved" "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" + "version" "2.0.1" + +"upath2@^3.1.13": + "integrity" "sha512-d23dQLi8nDWSRTIQwXtaYqMrHuca0As53fNiTLLFDmsGBbepsZepISaB2H1x45bDFN/n3Qw9bydvyZEacTrEWQ==" + "resolved" "https://registry.npmjs.org/upath2/-/upath2-3.1.19.tgz" + "version" "3.1.19" dependencies: "@types/node" "*" - path-is-network-drive "^1.0.20" - path-strip-sep "^1.0.17" - tslib "^2" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -upath@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" - integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-notifier@^4.1.1: - version "4.1.3" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-join@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" - integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g= - -url-join@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" - integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util-promisify@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" - integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= - dependencies: - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -util@^0.12.0, util@^0.12.1: - version "0.12.4" - resolved "https://registry.npmjs.org/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2, uuid@^3.3.3: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.0.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8flags@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" - integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== - dependencies: - homedir-polyfill "^1.0.1" - -valid-url@^1: - version "1.0.9" - resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" - integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= - -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - -validator@^13.7.0: - version "13.7.0" - resolved "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" - integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== - -validator@^8.0.0: - version "8.2.0" - resolved "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" - integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== - -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl-fs@^3.0.0, vinyl-fs@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl-sourcemaps-apply@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU= - dependencies: - source-map "^0.5.1" - -vinyl@2.x, vinyl@^2.0.0, vinyl@^2.1.0: - version "2.2.1" - resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@^1.0.1, vm-browserify@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -vm2@^3.9.3: - version "3.9.5" - resolved "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz#5288044860b4bbace443101fcd3bddb2a0aa2496" - integrity sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng== - -void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= - -walker@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watch@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c" - integrity sha1-NApxe952Vyb6CqB9ch4BR6VR3ww= - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" + "path-is-network-drive" "^1.0.20" + "path-strip-sep" "^1.0.17" + "tslib" "^2" + +"update-browserslist-db@^1.0.9": + "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" + "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "escalade" "^3.1.1" + "picocolors" "^1.0.0" + +"update-notifier@^4.1.1": + "integrity" "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==" + "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "boxen" "^4.2.0" + "chalk" "^3.0.0" + "configstore" "^5.0.1" + "has-yarn" "^2.1.0" + "import-lazy" "^2.1.0" + "is-ci" "^2.0.0" + "is-installed-globally" "^0.3.1" + "is-npm" "^4.0.0" + "is-yarn-global" "^0.3.0" + "latest-version" "^5.0.0" + "pupa" "^2.0.1" + "semver-diff" "^3.1.1" + "xdg-basedir" "^4.0.0" + +"update-notifier@^5.1.0": + "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==" + "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "boxen" "^5.0.0" + "chalk" "^4.1.0" + "configstore" "^5.0.1" + "has-yarn" "^2.1.0" + "import-lazy" "^2.1.0" + "is-ci" "^2.0.0" + "is-installed-globally" "^0.4.0" + "is-npm" "^5.0.0" + "is-yarn-global" "^0.3.0" + "latest-version" "^5.1.0" + "pupa" "^2.1.1" + "semver" "^7.3.4" + "semver-diff" "^3.1.1" + "xdg-basedir" "^4.0.0" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"urix@^0.1.0": + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" + +"url-join@^4.0.1": + "integrity" "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + "resolved" "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" + "version" "4.0.1" + +"url-join@0.0.1": + "integrity" "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=" + "resolved" "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz" + "version" "0.0.1" + +"url-parse-lax@^3.0.0": + "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=" + "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "prepend-http" "^2.0.0" + +"url@^0.11.0": + "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" + "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + "version" "0.11.0" + dependencies: + "punycode" "1.3.2" + "querystring" "0.2.0" + +"use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" + +"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"util-promisify@^2.1.0": + "integrity" "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=" + "resolved" "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "object.getownpropertydescriptors" "^2.0.3" + +"util@^0.11.0": + "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" + "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" + "version" "0.11.1" + dependencies: + "inherits" "2.0.3" + +"util@^0.12.0", "util@^0.12.1": + "integrity" "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==" + "resolved" "https://registry.npmjs.org/util/-/util-0.12.4.tgz" + "version" "0.12.4" + dependencies: + "inherits" "^2.0.3" + "is-arguments" "^1.0.4" + "is-generator-function" "^1.0.7" + "is-typed-array" "^1.1.3" + "safe-buffer" "^5.1.2" + "which-typed-array" "^1.1.2" + +"util@0.10.3": + "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" + "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + "version" "0.10.3" + dependencies: + "inherits" "2.0.1" + +"utils-merge@1.0.1": + "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" + +"uuid@^3.3.2", "uuid@^3.3.3": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + +"uuid@^8.0.0": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"uuid@^8.3.2": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"v8-compile-cache-lib@^3.0.1": + "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + "version" "3.0.1" + +"v8-compile-cache@^2.0.3": + "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + "version" "2.3.0" + +"v8flags@^3.2.0": + "integrity" "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==" + "resolved" "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "homedir-polyfill" "^1.0.1" + +"valid-url@^1": + "integrity" "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + "resolved" "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" + "version" "1.0.9" + +"validate-npm-package-license@^3.0.1", "validate-npm-package-license@^3.0.4": + "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" + "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "spdx-correct" "^3.0.0" + "spdx-expression-parse" "^3.0.0" + +"validate-npm-package-name@^3.0.0": + "integrity" "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=" + "resolved" "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "builtins" "^1.0.3" + +"validator@^13.7.0": + "integrity" "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" + "resolved" "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz" + "version" "13.7.0" + +"validator@^8.0.0": + "integrity" "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" + "resolved" "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz" + "version" "8.2.0" + +"value-or-function@^3.0.0": + "integrity" "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" + "resolved" "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz" + "version" "3.0.0" + +"vary@^1", "vary@~1.1.2": + "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" + +"verror@1.10.0": + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + +"vinyl-fs@^3.0.0", "vinyl-fs@^3.0.2": + "integrity" "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==" + "resolved" "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "fs-mkdirp-stream" "^1.0.0" + "glob-stream" "^6.1.0" + "graceful-fs" "^4.0.0" + "is-valid-glob" "^1.0.0" + "lazystream" "^1.0.0" + "lead" "^1.0.0" + "object.assign" "^4.0.4" + "pumpify" "^1.3.5" + "readable-stream" "^2.3.3" + "remove-bom-buffer" "^3.0.0" + "remove-bom-stream" "^1.2.0" + "resolve-options" "^1.1.0" + "through2" "^2.0.0" + "to-through" "^2.0.0" + "value-or-function" "^3.0.0" + "vinyl" "^2.0.0" + "vinyl-sourcemap" "^1.1.0" + +"vinyl-sourcemap@^1.1.0": + "integrity" "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=" + "resolved" "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "append-buffer" "^1.0.2" + "convert-source-map" "^1.5.0" + "graceful-fs" "^4.1.6" + "normalize-path" "^2.1.1" + "now-and-later" "^2.0.0" + "remove-bom-buffer" "^3.0.0" + "vinyl" "^2.0.0" + +"vinyl-sourcemaps-apply@^0.2.0": + "integrity" "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=" + "resolved" "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "source-map" "^0.5.1" + +"vinyl@^2.0.0", "vinyl@^2.1.0", "vinyl@2.x": + "integrity" "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "clone" "^2.1.1" + "clone-buffer" "^1.0.0" + "clone-stats" "^1.0.0" + "cloneable-readable" "^1.0.0" + "remove-trailing-separator" "^1.0.1" + "replace-ext" "^1.0.0" + +"vm-browserify@^1.0.1", "vm-browserify@^1.1.2": + "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + "version" "1.1.2" + +"vm2@^3.9.3": + "integrity" "sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==" + "resolved" "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz" + "version" "3.9.5" + +"void-elements@^2.0.0": + "integrity" "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + "resolved" "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" + "version" "2.0.1" + +"walker@^1.0.7": + "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "makeerror" "1.0.x" + +"watch@1.0.2": + "integrity" "sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=" + "resolved" "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "exec-sh" "^0.2.0" + "minimist" "^1.2.0" + +"watchpack-chokidar2@^2.0.1": + "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" + "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "chokidar" "^2.1.8" + +"watchpack@^1.7.4": + "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" + "version" "1.7.5" + dependencies: + "graceful-fs" "^4.1.2" + "neo-async" "^2.5.0" optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" + "chokidar" "^3.4.1" + "watchpack-chokidar2" "^2.0.1" -watchpack@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" - integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== +"watchpack@^2.2.0": + "integrity" "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz" + "version" "2.2.0" dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.1.2" -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= +"wcwidth@^1.0.0", "wcwidth@^1.0.1": + "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" + "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + "version" "1.0.1" dependencies: - defaults "^1.0.3" + "defaults" "^1.0.3" -webdriver-js-extender@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz#57d7a93c00db4cc8d556e4d3db4b5db0a80c3bb7" - integrity sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ== +"webdriver-js-extender@2.1.0": + "integrity" "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==" + "resolved" "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz" + "version" "2.1.0" dependencies: "@types/selenium-webdriver" "^3.0.0" - selenium-webdriver "^3.0.1" - -webdriver-manager@^12.0.6: - version "12.1.8" - resolved "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz#5e70e73eaaf53a0767d5745270addafbc5905fd4" - integrity sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg== - dependencies: - adm-zip "^0.4.9" - chalk "^1.1.1" - del "^2.2.0" - glob "^7.0.3" - ini "^1.3.4" - minimist "^1.2.0" - q "^1.4.1" - request "^2.87.0" - rimraf "^2.5.2" - semver "^5.3.0" - xml2js "^0.4.17" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^3.7.0: - version "3.7.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz#251a7d9720d75ada1469ca07dbb62f3641a05b6d" - integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== - -webpack-stream@6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz#ee90bc07d0ff937239d75ed22aa728072c9e7ee1" - integrity sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA== - dependencies: - fancy-log "^1.3.3" - lodash.clone "^4.3.2" - lodash.some "^4.2.2" - memory-fs "^0.5.0" - plugin-error "^1.0.1" - supports-color "^7.2.0" - through "^2.3.8" - vinyl "^2.1.0" - webpack "^4.26.1" - -webpack-virtual-modules@0.4.5: - version "0.4.5" - resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.5.tgz#e476842dab5eafb7beb844aa2f747fc12ebbf6ec" - integrity sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg== - -webpack@4.46.0, webpack@^4.26.1: - version "4.46.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + "selenium-webdriver" "^3.0.1" + +"webdriver-manager@^12.0.6": + "integrity" "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==" + "resolved" "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz" + "version" "12.1.8" + dependencies: + "adm-zip" "^0.4.9" + "chalk" "^1.1.1" + "del" "^2.2.0" + "glob" "^7.0.3" + "ini" "^1.3.4" + "minimist" "^1.2.0" + "q" "^1.4.1" + "request" "^2.87.0" + "rimraf" "^2.5.2" + "semver" "^5.3.0" + "xml2js" "^0.4.17" + +"webidl-conversions@^3.0.0": + "integrity" "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + +"webidl-conversions@^6.1.0": + "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" + "version" "6.1.0" + +"webpack-dev-middleware@^3.7.0": + "integrity" "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==" + "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" + "version" "3.7.3" + dependencies: + "memory-fs" "^0.4.1" + "mime" "^2.4.4" + "mkdirp" "^0.5.1" + "range-parser" "^1.2.1" + "webpack-log" "^2.0.0" + +"webpack-log@^2.0.0": + "integrity" "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==" + "resolved" "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ansi-colors" "^3.0.0" + "uuid" "^3.3.2" + +"webpack-sources@^1.4.0", "webpack-sources@^1.4.1": + "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "source-list-map" "^2.0.0" + "source-map" "~0.6.1" + +"webpack-sources@^3.2.0": + "integrity" "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz" + "version" "3.2.1" + +"webpack-stream@6.1.2": + "integrity" "sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA==" + "resolved" "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz" + "version" "6.1.2" + dependencies: + "fancy-log" "^1.3.3" + "lodash.clone" "^4.3.2" + "lodash.some" "^4.2.2" + "memory-fs" "^0.5.0" + "plugin-error" "^1.0.1" + "supports-color" "^7.2.0" + "through" "^2.3.8" + "vinyl" "^2.1.0" + "webpack" "^4.26.1" + +"webpack-virtual-modules@0.4.5": + "integrity" "sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg==" + "resolved" "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.5.tgz" + "version" "0.4.5" + +"webpack@*", "webpack@^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.26.1", "webpack@>=2", "webpack@4.46.0": + "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" + "version" "4.46.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -webpack@^5: - version "5.53.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz#f463cd9c6fc1356ae4b9b7ac911fd1f5b2df86af" - integrity sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ== + "acorn" "^6.4.1" + "ajv" "^6.10.2" + "ajv-keywords" "^3.4.1" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^4.5.0" + "eslint-scope" "^4.0.3" + "json-parse-better-errors" "^1.0.2" + "loader-runner" "^2.4.0" + "loader-utils" "^1.2.3" + "memory-fs" "^0.4.1" + "micromatch" "^3.1.10" + "mkdirp" "^0.5.3" + "neo-async" "^2.6.1" + "node-libs-browser" "^2.2.1" + "schema-utils" "^1.0.0" + "tapable" "^1.1.3" + "terser-webpack-plugin" "^1.4.3" + "watchpack" "^1.7.4" + "webpack-sources" "^1.4.1" + +"webpack@^5", "webpack@^5.1.0": + "integrity" "sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz" + "version" "5.53.0" dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.0" - es-module-lexer "^0.7.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" - webpack-sources "^3.2.0" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + "acorn" "^8.4.1" + "acorn-import-assertions" "^1.7.6" + "browserslist" "^4.14.5" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^5.8.0" + "es-module-lexer" "^0.7.1" + "eslint-scope" "5.1.1" + "events" "^3.2.0" + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.2.4" + "json-parse-better-errors" "^1.0.2" + "loader-runner" "^4.2.0" + "mime-types" "^2.1.27" + "neo-async" "^2.6.2" + "schema-utils" "^3.1.0" + "tapable" "^2.1.1" + "terser-webpack-plugin" "^5.1.3" + "watchpack" "^2.2.0" + "webpack-sources" "^3.2.0" + +"websocket-driver@>=0.5.1": + "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" + "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + "version" "0.7.4" + dependencies: + "http-parser-js" ">=0.5.1" + "safe-buffer" ">=5.1.0" + "websocket-extensions" ">=0.1.1" + +"websocket-extensions@>=0.1.1": + "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + "version" "0.1.4" "websql@git+https://github.com/brettz9/node-websql.git#configurable-secure3": - version "2.0.1" - resolved "git+https://github.com/brettz9/node-websql.git#73f7e4051cda5e58de7669a54ab184d387b2f98d" + "resolved" "git+ssh://git@github.com/brettz9/node-websql.git#73f7e4051cda5e58de7669a54ab184d387b2f98d" + "version" "2.0.1" dependencies: - argsarray "^0.0.1" - immediate "^3.2.2" - noop-fn "^1.0.0" - tiny-queue "^0.2.1" + "argsarray" "^0.0.1" + "immediate" "^3.2.2" + "noop-fn" "^1.0.0" + "tiny-queue" "^0.2.1" optionalDependencies: - sqlite3 "^5.0.2" - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.4.0: - version "8.7.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" - integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== - dependencies: - load-yaml-file "^0.2.0" - path-exists "^4.0.0" - -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" - -which@1, which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@2.0.2, which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -winston-transport@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" - integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== - dependencies: - readable-stream "^2.3.7" - triple-beam "^1.2.0" - -winston@^3.0.0: - version "3.3.3" - resolved "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" - integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== + "sqlite3" "^5.0.2" + +"whatwg-encoding@^2.0.0": + "integrity" "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "iconv-lite" "0.6.3" + +"whatwg-mimetype@^2.3.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + +"whatwg-url@^5.0.0": + "integrity" "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" + +"whatwg-url@^8.4.0": + "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" + "version" "8.7.0" + dependencies: + "lodash" "^4.7.0" + "tr46" "^2.1.0" + "webidl-conversions" "^6.1.0" + +"which-boxed-primitive@^1.0.2": + "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-bigint" "^1.0.1" + "is-boolean-object" "^1.1.0" + "is-number-object" "^1.0.4" + "is-string" "^1.0.5" + "is-symbol" "^1.0.3" + +"which-module@^1.0.0": + "integrity" "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" + "version" "1.0.0" + +"which-module@^2.0.0": + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + "version" "2.0.0" + +"which-pm@2.0.0": + "integrity" "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==" + "resolved" "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "load-yaml-file" "^0.2.0" + "path-exists" "^4.0.0" + +"which-typed-array@^1.1.2": + "integrity" "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==" + "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "available-typed-arrays" "^1.0.5" + "call-bind" "^1.0.2" + "es-abstract" "^1.18.5" + "foreach" "^2.0.5" + "has-tostringtag" "^1.0.0" + "is-typed-array" "^1.1.7" + +"which@^1.2.1", "which@^1.2.14", "which@^1.2.9", "which@^1.3.1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.2": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"which@2.0.2": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"wide-align@^1.1.0", "wide-align@^1.1.2", "wide-align@^1.1.5": + "integrity" "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==" + "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "string-width" "^1.0.2 || 2 || 3 || 4" + +"widest-line@^3.1.0": + "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "string-width" "^4.0.0" + +"winston-transport@^4.4.0": + "integrity" "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==" + "resolved" "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz" + "version" "4.4.0" + dependencies: + "readable-stream" "^2.3.7" + "triple-beam" "^1.2.0" + +"winston@^3.0.0": + "integrity" "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==" + "resolved" "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz" + "version" "3.3.3" dependencies: "@dabh/diagnostics" "^2.0.2" - async "^3.1.0" - is-stream "^2.0.0" - logform "^2.2.0" - one-time "^1.0.0" - readable-stream "^3.4.0" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.4.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -workerpool@6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" - integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^1.1.4: - version "1.3.4" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-file-atomic@^2.4.2: - version "2.4.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-json-file@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" - integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.15" - make-dir "^2.1.0" - pify "^4.0.1" - sort-keys "^2.0.0" - write-file-atomic "^2.4.2" - -write-json-file@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" - integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== - dependencies: - detect-indent "^6.0.0" - graceful-fs "^4.1.15" - is-plain-obj "^2.0.0" - make-dir "^3.0.0" - sort-keys "^4.0.0" - write-file-atomic "^3.0.0" - -write-pkg@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" - integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== - dependencies: - sort-keys "^2.0.0" - type-fest "^0.4.1" - write-json-file "^3.2.0" - -ws@>=7.4.6: - version "8.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz#ca684330c6dd6076a737250ed81ac1606cb0a63e" - integrity sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw== - -ws@>=8.7.0: - version "8.9.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" - integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== - -ws@^7.2.3: - version "7.5.5" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== - -ws@~8.2.3: - version "8.2.3" - resolved "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" - integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xml2js@^0.4.17: - version "0.4.23" - resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xregexp@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" - integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= - -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@>=5.0.0-security.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - -yargs-parser@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" - integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== - dependencies: - camelcase "^3.0.0" - object.assign "^4.1.0" - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0, yargs@^16.1.1, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@17.6.0: - version "17.6.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" - integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yargs@^15.0.2, yargs@^15.1.0: - version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.1.1: - version "17.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.2.0.tgz#ec529632b2cb9044f3927f4b45f9cc4ae2535653" - integrity sha512-UPeZv4h9Xv510ibpt5rdsUNzgD78nMa1rhxxCgvkKiq06hlKCEHJLiJ6Ub8zDg/wR6hedEI6ovnd2vCvJ4nusA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^7.1.0: - version "7.1.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" - integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.1" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -z-schema@~3.18.3: - version "3.18.4" - resolved "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2" - integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== - dependencies: - lodash.get "^4.0.0" - lodash.isequal "^4.0.0" - validator "^8.0.0" + "async" "^3.1.0" + "is-stream" "^2.0.0" + "logform" "^2.2.0" + "one-time" "^1.0.0" + "readable-stream" "^3.4.0" + "stack-trace" "0.0.x" + "triple-beam" "^1.3.0" + "winston-transport" "^4.4.0" + +"word-wrap@^1.2.3", "word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + +"wordwrap@^1.0.0": + "integrity" "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + "version" "1.0.0" + +"wordwrap@~0.0.2": + "integrity" "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + "version" "0.0.3" + +"worker-farm@^1.7.0": + "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" + "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "errno" "~0.1.7" + +"workerpool@6.2.0": + "integrity" "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" + "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" + "version" "6.2.0" + +"wrap-ansi@^2.0.0": + "integrity" "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "string-width" "^1.0.1" + "strip-ansi" "^3.0.1" + +"wrap-ansi@^3.0.1": + "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "string-width" "^2.1.1" + "strip-ansi" "^4.0.0" + +"wrap-ansi@^6.2.0": + "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^1.1.4": + "integrity" "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz" + "version" "1.3.4" + dependencies: + "graceful-fs" "^4.1.11" + "imurmurhash" "^0.1.4" + "slide" "^1.1.5" + +"write-file-atomic@^2.4.2": + "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" + "version" "2.4.3" + dependencies: + "graceful-fs" "^4.1.11" + "imurmurhash" "^0.1.4" + "signal-exit" "^3.0.2" + +"write-file-atomic@^3.0.0", "write-file-atomic@^3.0.3": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"write-json-file@^3.2.0": + "integrity" "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==" + "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "detect-indent" "^5.0.0" + "graceful-fs" "^4.1.15" + "make-dir" "^2.1.0" + "pify" "^4.0.1" + "sort-keys" "^2.0.0" + "write-file-atomic" "^2.4.2" + +"write-json-file@^4.3.0": + "integrity" "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==" + "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "detect-indent" "^6.0.0" + "graceful-fs" "^4.1.15" + "is-plain-obj" "^2.0.0" + "make-dir" "^3.0.0" + "sort-keys" "^4.0.0" + "write-file-atomic" "^3.0.0" + +"write-pkg@^4.0.0": + "integrity" "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==" + "resolved" "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "sort-keys" "^2.0.0" + "type-fest" "^0.4.1" + "write-json-file" "^3.2.0" + +"ws@^7.2.3": + "integrity" "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" + "version" "7.5.5" + +"ws@>=7.4.6", "ws@>=8.7.0": + "integrity" "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==" + "resolved" "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz" + "version" "8.9.0" + +"ws@~8.2.3": + "integrity" "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" + "resolved" "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz" + "version" "8.2.3" + +"xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" + +"xml2js@^0.4.17": + "integrity" "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==" + "resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" + "version" "0.4.23" + dependencies: + "sax" ">=0.6.0" + "xmlbuilder" "~11.0.0" + +"xmlbuilder@~11.0.0": + "integrity" "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + "version" "11.0.1" + +"xmlcreate@^2.0.4": + "integrity" "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==" + "resolved" "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz" + "version" "2.0.4" + +"xregexp@2.0.0": + "integrity" "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + "resolved" "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz" + "version" "2.0.0" + +"xtend@^4.0.0", "xtend@^4.0.2", "xtend@~4.0.0", "xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"y18n@^3.2.1": + "integrity" "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" + "version" "3.2.2" + +"y18n@^4.0.0", "y18n@^5.0.5": + "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + "version" "5.0.8" + +"yallist@^2.1.2": + "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + "version" "2.1.2" + +"yallist@^3.0.0", "yallist@^3.1.1": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yaml@^1.10.0": + "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + "version" "1.10.2" + +"yargs-parser@^18.1.2": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs-parser@^18.1.3": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs-parser@^20.2.2", "yargs-parser@^20.2.3", "yargs-parser@>=5.0.0-security.0": + "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + "version" "20.2.9" + +"yargs-parser@^21.0.0": + "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" + "version" "21.0.1" + +"yargs-parser@^5.0.1": + "integrity" "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "camelcase" "^3.0.0" + "object.assign" "^4.1.0" + +"yargs-parser@20.2.4": + "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" + "version" "20.2.4" + +"yargs-unparser@2.0.0": + "integrity" "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==" + "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "camelcase" "^6.0.0" + "decamelize" "^4.0.0" + "flat" "^5.0.2" + "is-plain-obj" "^2.1.0" + +"yargs@^15.0.2": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" + +"yargs@^15.1.0": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" + +"yargs@^16.1.1": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yargs@^16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yargs@^17.1.1", "yargs@17.6.0": + "integrity" "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz" + "version" "17.6.0" + dependencies: + "cliui" "^8.0.1" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.3" + "y18n" "^5.0.5" + "yargs-parser" "^21.0.0" + +"yargs@^7.1.0": + "integrity" "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "camelcase" "^3.0.0" + "cliui" "^3.2.0" + "decamelize" "^1.1.1" + "get-caller-file" "^1.0.1" + "os-locale" "^1.4.0" + "read-pkg-up" "^1.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^1.0.1" + "set-blocking" "^2.0.0" + "string-width" "^1.0.2" + "which-module" "^1.0.0" + "y18n" "^3.2.1" + "yargs-parser" "^5.0.1" + +"yargs@16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" + +"yauzl@^2.10.0": + "integrity" "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=" + "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + "version" "2.10.0" + dependencies: + "buffer-crc32" "~0.2.3" + "fd-slicer" "~1.1.0" + +"yn@3.1.1": + "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + "version" "3.1.1" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" + +"z-schema@~3.18.3": + "integrity" "sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==" + "resolved" "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz" + "version" "3.18.4" + dependencies: + "lodash.get" "^4.0.0" + "lodash.isequal" "^4.0.0" + "validator" "^8.0.0" optionalDependencies: - commander "^2.7.1" + "commander" "^2.7.1" -z-schema@~5.0.2: - version "5.0.3" - resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz#68fafb9b735fc7f3c89eabb3e5a6353b4d7b4935" - integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== +"z-schema@~5.0.2": + "integrity" "sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==" + "resolved" "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz" + "version" "5.0.3" dependencies: - lodash.get "^4.4.2" - lodash.isequal "^4.5.0" - validator "^13.7.0" + "lodash.get" "^4.4.2" + "lodash.isequal" "^4.5.0" + "validator" "^13.7.0" optionalDependencies: - commander "^2.20.3" + "commander" "^2.20.3" -zip-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" - integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== +"zip-stream@^4.1.0": + "integrity" "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==" + "resolved" "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz" + "version" "4.1.0" dependencies: - archiver-utils "^2.1.0" - compress-commons "^4.1.0" - readable-stream "^3.6.0" + "archiver-utils" "^2.1.0" + "compress-commons" "^4.1.0" + "readable-stream" "^3.6.0" From eeef62f819203115d0f8b98f49b07e9eae33dd90 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 14 Nov 2022 14:40:25 -0800 Subject: [PATCH 03/31] remove changes to yarn lock --- yarn.lock | 32378 ++++++++++++++++++++++++++-------------------------- 1 file changed, 15962 insertions(+), 16416 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3eba341744c..47ba68aa47f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,45 +3,74 @@ "@ampproject/remapping@^2.1.0": - "integrity" "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==" - "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" - "version" "2.1.2" + version "2.1.2" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== dependencies: "@jridgewell/trace-mapping" "^0.3.0" "@apidevtools/json-schema-ref-parser@^9.0.3": - "integrity" "sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==" - "resolved" "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz" - "version" "9.0.9" + version "9.0.9" + resolved "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b" + integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w== dependencies: "@jsdevtools/ono" "^7.1.3" "@types/json-schema" "^7.0.6" - "call-me-maybe" "^1.0.1" - "js-yaml" "^4.1.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": - "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/highlight" "^7.18.6" + call-me-maybe "^1.0.1" + js-yaml "^4.1.0" "@babel/code-frame@7.12.11": - "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - "version" "7.12.11" + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.4", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": - "integrity" "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz" - "version" "7.20.1" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@7", "@babel/core@7.17.10": - "integrity" "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz" - "version" "7.17.10" +"@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== + +"@babel/compat-data@^7.19.4", "@babel/compat-data@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.0.tgz#9b61938c5f688212c7b9ae363a819df7d29d4093" + integrity sha512-Gt9jszFJYq7qzXVK4slhc6NzJXnOVmRECWcVjF/T23rNXD9NtWQ0W3qxdg+p9wWIB+VQw3GYV/U2Ha9bRTfs4w== + +"@babel/core@7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" + integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" @@ -53,124 +82,351 @@ "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.10" "@babel/types" "^7.17.10" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.1" - "semver" "^6.3.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.15.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" + integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.15.4", "@babel/generator@^7.7.2": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" + integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== + dependencies: + "@babel/types" "^7.15.4" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" + integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== + dependencies: + "@babel/types" "^7.17.10" + "@jridgewell/gen-mapping" "^0.1.0" + jsesc "^2.5.1" + +"@babel/generator@^7.17.9": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" + integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" -"@babel/generator@^7.17.10", "@babel/generator@^7.19.6", "@babel/generator@^7.7.2": - "integrity" "sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz" - "version" "7.19.6" +"@babel/generator@^7.19.4": + version "7.19.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" + integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg== dependencies: "@babel/types" "^7.19.4" "@jridgewell/gen-mapping" "^0.3.2" - "jsesc" "^2.5.1" + jsesc "^2.5.1" + +"@babel/generator@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.0.tgz#0bfc5379e0efb05ca6092091261fcdf7ec36249d" + integrity sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w== + dependencies: + "@babel/types" "^7.20.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.14.5": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== + dependencies: + "@babel/types" "^7.16.7" "@babel/helper-annotate-as-pure@^7.18.6": - "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - "integrity" "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.0": - "integrity" "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz" - "version" "7.20.0" +"@babel/helper-compilation-targets@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-compilation-targets@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" + integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== dependencies: "@babel/compat-data" "^7.20.0" "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.21.3" - "semver" "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.18.6": - "integrity" "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz" - "version" "7.20.2" + browserslist "^4.21.3" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.7": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" + integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-member-expression-to-functions" "^7.17.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + +"@babel/helper-create-class-features-plugin@^7.18.6": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" + integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" + "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - "integrity" "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz" - "version" "7.19.0" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" + integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "regexpu-core" "^5.1.0" + regexpu-core "^5.1.0" "@babel/helper-define-polyfill-provider@^0.3.3": - "integrity" "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" - "version" "0.3.3" + version "0.3.3" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" "@babel/helper-environment-visitor@^7.18.9": - "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-explode-assignable-expression@^7.18.6": - "integrity" "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== dependencies: "@babel/types" "^7.18.6" +"@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== + dependencies: + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - "integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - "version" "7.19.0" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": + version "7.17.7" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== + dependencies: + "@babel/types" "^7.17.0" + "@babel/helper-member-expression-to-functions@^7.18.9": - "integrity" "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== dependencies: "@babel/types" "^7.18.9" +"@babel/helper-module-imports@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-module-imports@^7.18.6": - "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6": - "integrity" "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz" - "version" "7.19.6" +"@babel/helper-module-transforms@^7.15.4": + version "7.15.7" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" + integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== + dependencies: + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" + +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/helper-module-transforms@^7.18.6": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/helper-module-transforms@^7.19.6": + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" + integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -181,32 +437,77 @@ "@babel/traverse" "^7.19.6" "@babel/types" "^7.19.4" +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-optimise-call-expression@^7.18.6": - "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - "version" "7.20.2" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-plugin-utils@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - "integrity" "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": - "integrity" "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz" - "version" "7.19.1" +"@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" + integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-member-expression-to-functions" "^7.18.9" @@ -214,95 +515,190 @@ "@babel/traverse" "^7.19.1" "@babel/types" "^7.19.0" +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + "@babel/helper-simple-access@^7.18.6", "@babel/helper-simple-access@^7.19.4": - "integrity" "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz" - "version" "7.19.4" + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" + integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== dependencies: "@babel/types" "^7.19.4" "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - "integrity" "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" - "version" "7.20.0" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: "@babel/types" "^7.20.0" +"@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.19.4": - "integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - "version" "7.19.4" + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - "version" "7.19.1" + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": - "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - "version" "7.18.6" +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - "integrity" "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz" - "version" "7.19.0" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" + integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== dependencies: "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" "@babel/traverse" "^7.19.0" "@babel/types" "^7.19.0" +"@babel/helpers@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== + dependencies: + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helpers@^7.17.9": - "integrity" "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz" - "version" "7.17.9" + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" + integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/parser@^7.17.10", "@babel/parser@^7.18.10", "@babel/parser@^7.19.6", "@babel/parser@^7.7.2", "@babel/parser@^7.9.4": - "integrity" "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz" - "version" "7.19.6" +"@babel/highlight@^7.16.7": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.2": + version "7.15.7" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" + integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== + +"@babel/parser@^7.16.7", "@babel/parser@^7.17.9": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" + integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== + +"@babel/parser@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" + integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== + +"@babel/parser@^7.18.10", "@babel/parser@^7.19.4": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc" + integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA== + +"@babel/parser@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz#b26133c888da4d79b0d3edcf42677bcadc783046" + integrity sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - "integrity" "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" + integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-async-generator-functions@^7.19.1": - "integrity" "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz" - "version" "7.20.1" + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" @@ -310,384 +706,416 @@ "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.18.6": - "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - "integrity" "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" + integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.18.6": - "integrity" "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.18.9": - "integrity" "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.18.6": - "integrity" "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - "integrity" "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" + integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.18.6": - "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.19.4": - "integrity" "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz" - "version" "7.20.2" + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" + integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/compat-data" "^7.19.4" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-parameters" "^7.18.8" "@babel/plugin-proposal-optional-catch-binding@^7.18.6": - "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.18.9": - "integrity" "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.18.6": - "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - "integrity" "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" + integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-unicode-property-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.18.6": - "integrity" "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" - "version" "7.20.0" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.7", "@babel/plugin-syntax-typescript@^7.7.2": - "integrity" "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz" - "version" "7.16.7" +"@babel/plugin-syntax-typescript@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" + integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-arrow-functions@^7.18.6": - "integrity" "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-async-to-generator@^7.18.6": - "integrity" "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== dependencies: "@babel/helper-module-imports" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions@^7.18.6": - "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.19.4": - "integrity" "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz" - "version" "7.20.2" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz#91fe5e6ffc9ba13cb6c95ed7f0b1204f68c988c5" + integrity sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-classes@^7.19.0": - "integrity" "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz" - "version" "7.20.2" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" + integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-compilation-targets" "^7.19.0" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" - "globals" "^11.1.0" + globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9": - "integrity" "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-destructuring@^7.19.4": - "integrity" "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz" - "version" "7.20.2" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz#712829ef4825d9cc04bb379de316f981e9a6f648" + integrity sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-transform-dotall-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-duplicate-keys@^7.18.9": - "integrity" "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.18.6": - "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-for-of@^7.18.8": - "integrity" "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" - "version" "7.18.8" + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-function-name@^7.18.9": - "integrity" "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: "@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-literals@^7.18.9": - "integrity" "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-member-expression-literals@^7.18.6": - "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.18.6": - "integrity" "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz" - "version" "7.19.6" + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" + integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== dependencies: "@babel/helper-module-transforms" "^7.19.6" "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-modules-commonjs@^7.18.6", "@babel/plugin-transform-modules-commonjs@7.18.6": - "integrity" "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-transform-modules-commonjs@7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-simple-access" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.18.6": + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" + integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + dependencies: + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-simple-access" "^7.19.4" "@babel/plugin-transform-modules-systemjs@^7.19.0": - "integrity" "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz" - "version" "7.19.6" + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" + integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== dependencies: "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-module-transforms" "^7.19.6" @@ -695,129 +1123,129 @@ "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": - "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - "integrity" "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz" - "version" "7.19.1" + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-new-target@^7.18.6": - "integrity" "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-object-super@^7.18.6": - "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.8", "@babel/plugin-transform-parameters@^7.20.1": - "integrity" "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz" - "version" "7.20.3" +"@babel/plugin-transform-parameters@^7.18.8": + version "7.18.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-property-literals@^7.18.6": - "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - "integrity" "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" + integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" - "regenerator-transform" "^0.15.0" + regenerator-transform "^0.15.0" "@babel/plugin-transform-reserved-words@^7.18.6": - "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-shorthand-properties@^7.18.6": - "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0": - "integrity" "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz" - "version" "7.19.0" + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" + integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-transform-sticky-regex@^7.18.6": - "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.18.9": - "integrity" "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": - "integrity" "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.16.7": - "integrity" "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz" - "version" "7.16.8" + version "7.16.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" + integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-typescript" "^7.16.7" "@babel/plugin-transform-unicode-escapes@^7.18.10": - "integrity" "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" - "version" "7.18.10" + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-unicode-regex@^7.18.6": - "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-env@7.19.4": - "integrity" "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz" - "version" "7.19.4" + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" + integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== dependencies: "@babel/compat-data" "^7.19.4" "@babel/helper-compilation-targets" "^7.19.3" @@ -889,88 +1317,202 @@ "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.19.4" - "babel-plugin-polyfill-corejs2" "^0.3.3" - "babel-plugin-polyfill-corejs3" "^0.6.0" - "babel-plugin-polyfill-regenerator" "^0.4.1" - "core-js-compat" "^3.25.1" - "semver" "^6.3.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" "@babel/preset-modules@^0.1.5": - "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - "version" "0.1.5" + version "0.1.5" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - "esutils" "^2.0.2" + esutils "^2.0.2" "@babel/preset-typescript@7.16.7": - "integrity" "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==" - "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" - "version" "7.16.7" + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" + integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-transform-typescript" "^7.16.7" "@babel/register@7.18.9": - "integrity" "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==" - "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" + integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== dependencies: - "clone-deep" "^4.0.1" - "find-cache-dir" "^2.0.0" - "make-dir" "^2.1.0" - "pirates" "^4.0.5" - "source-map-support" "^0.5.16" + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" "@babel/runtime@^7.10.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": - "integrity" "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz" - "version" "7.15.4" + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.15.4": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== dependencies: - "regenerator-runtime" "^0.13.4" + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/template@^7.16.7", "@babel/template@^7.18.10": - "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" - "version" "7.18.10" +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/template@^7.18.10": + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.17.10", "@babel/traverse@^7.17.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.6", "@babel/traverse@^7.7.2": - "integrity" "sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz" - "version" "7.19.6" +"@babel/traverse@^7.15.4", "@babel/traverse@^7.7.2": + version "7.15.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.16.7", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": + version "7.17.9" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" + integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.9" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.9" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" + integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.10" + "@babel/types" "^7.17.10" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.19.0": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz#f117820e18b1e59448a6c1fa9d0ff08f7ac459a8" + integrity sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.6" + "@babel/generator" "^7.19.4" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.6" + "@babel/parser" "^7.19.4" "@babel/types" "^7.19.4" - "debug" "^4.1.0" - "globals" "^11.1.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.19.1", "@babel/traverse@^7.19.6": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.0.tgz#538c4c6ce6255f5666eba02252a7b59fc2d5ed98" + integrity sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.0" + "@babel/types" "^7.20.0" + debug "^4.1.0" + globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - "integrity" "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz" - "version" "7.20.2" +"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.15.6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + +"@babel/types@^7.16.7", "@babel/types@^7.17.0": + version "7.17.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@babel/types@^7.17.10": + version "7.17.10" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" + integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.4": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" + integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@babel/types@^7.18.9", "@babel/types@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" + integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" - "to-fast-properties" "^2.0.0" + to-fast-properties "^2.0.0" "@changesets/apply-release-plan@^6.1.1": - "integrity" "sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g==" - "resolved" "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.1.tgz" - "version" "6.1.1" + version "6.1.1" + resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.1.tgz#14ec261c11c9b90d110a83b8b96412ddb7303ddf" + integrity sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g== dependencies: "@babel/runtime" "^7.10.4" "@changesets/config" "^2.2.0" @@ -978,46 +1520,46 @@ "@changesets/git" "^1.5.0" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "detect-indent" "^6.0.0" - "fs-extra" "^7.0.1" - "lodash.startcase" "^4.4.0" - "outdent" "^0.5.0" - "prettier" "^2.7.1" - "resolve-from" "^5.0.0" - "semver" "^5.4.1" + detect-indent "^6.0.0" + fs-extra "^7.0.1" + lodash.startcase "^4.4.0" + outdent "^0.5.0" + prettier "^2.7.1" + resolve-from "^5.0.0" + semver "^5.4.1" "@changesets/assemble-release-plan@^5.2.2": - "integrity" "sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ==" - "resolved" "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.2.tgz" - "version" "5.2.2" + version "5.2.2" + resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.2.tgz#9824f14a7a6e411c7153f1ccc2a42bbe35688129" + integrity sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "semver" "^5.4.1" + semver "^5.4.1" "@changesets/changelog-git@^0.1.13": - "integrity" "sha512-zvJ50Q+EUALzeawAxax6nF2WIcSsC5PwbuLeWkckS8ulWnuPYx8Fn/Sjd3rF46OzeKA8t30loYYV6TIzp4DIdg==" - "resolved" "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.13.tgz" - "version" "0.1.13" + version "0.1.13" + resolved "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.13.tgz#182e130add456255d8ee2b4c8eaf88048944aaaf" + integrity sha512-zvJ50Q+EUALzeawAxax6nF2WIcSsC5PwbuLeWkckS8ulWnuPYx8Fn/Sjd3rF46OzeKA8t30loYYV6TIzp4DIdg== dependencies: "@changesets/types" "^5.2.0" "@changesets/changelog-github@0.4.7": - "integrity" "sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew==" - "resolved" "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz" - "version" "0.4.7" + version "0.4.7" + resolved "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz#4da67472eaa0dc1ccff91fe8ecd9846ce818ec7b" + integrity sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew== dependencies: "@changesets/get-github-info" "^0.5.1" "@changesets/types" "^5.2.0" - "dotenv" "^8.1.0" + dotenv "^8.1.0" "@changesets/cli@2.25.0": - "integrity" "sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA==" - "resolved" "https://registry.npmjs.org/@changesets/cli/-/cli-2.25.0.tgz" - "version" "2.25.0" + version "2.25.0" + resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.25.0.tgz#c338fefe69daa8348a504e7f54382eb1a4bb7a10" + integrity sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA== dependencies: "@babel/runtime" "^7.10.4" "@changesets/apply-release-plan" "^6.1.1" @@ -1036,66 +1578,66 @@ "@manypkg/get-packages" "^1.1.3" "@types/is-ci" "^3.0.0" "@types/semver" "^6.0.0" - "ansi-colors" "^4.1.3" - "chalk" "^2.1.0" - "enquirer" "^2.3.0" - "external-editor" "^3.1.0" - "fs-extra" "^7.0.1" - "human-id" "^1.0.2" - "is-ci" "^3.0.1" - "meow" "^6.0.0" - "outdent" "^0.5.0" - "p-limit" "^2.2.0" - "preferred-pm" "^3.0.0" - "resolve-from" "^5.0.0" - "semver" "^5.4.1" - "spawndamnit" "^2.0.0" - "term-size" "^2.1.0" - "tty-table" "^4.1.5" + ansi-colors "^4.1.3" + chalk "^2.1.0" + enquirer "^2.3.0" + external-editor "^3.1.0" + fs-extra "^7.0.1" + human-id "^1.0.2" + is-ci "^3.0.1" + meow "^6.0.0" + outdent "^0.5.0" + p-limit "^2.2.0" + preferred-pm "^3.0.0" + resolve-from "^5.0.0" + semver "^5.4.1" + spawndamnit "^2.0.0" + term-size "^2.1.0" + tty-table "^4.1.5" "@changesets/config@^2.2.0": - "integrity" "sha512-GGaokp3nm5FEDk/Fv2PCRcQCOxGKKPRZ7prcMqxEr7VSsG75MnChQE8plaW1k6V8L2bJE+jZWiRm19LbnproOw==" - "resolved" "https://registry.npmjs.org/@changesets/config/-/config-2.2.0.tgz" - "version" "2.2.0" + version "2.2.0" + resolved "https://registry.npmjs.org/@changesets/config/-/config-2.2.0.tgz#382f6cd801fa56273942659114c8060378dfe066" + integrity sha512-GGaokp3nm5FEDk/Fv2PCRcQCOxGKKPRZ7prcMqxEr7VSsG75MnChQE8plaW1k6V8L2bJE+jZWiRm19LbnproOw== dependencies: "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.4" "@changesets/logger" "^0.0.5" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "fs-extra" "^7.0.1" - "micromatch" "^4.0.2" + fs-extra "^7.0.1" + micromatch "^4.0.2" "@changesets/errors@^0.1.4": - "integrity" "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==" - "resolved" "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz" - "version" "0.1.4" + version "0.1.4" + resolved "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz#f79851746c43679a66b383fdff4c012f480f480d" + integrity sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q== dependencies: - "extendable-error" "^0.1.5" + extendable-error "^0.1.5" "@changesets/get-dependents-graph@^1.3.4": - "integrity" "sha512-+C4AOrrFY146ydrgKOo5vTZfj7vetNu1tWshOID+UjPUU9afYGDXI8yLnAeib1ffeBXV3TuGVcyphKpJ3cKe+A==" - "resolved" "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.4.tgz" - "version" "1.3.4" + version "1.3.4" + resolved "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.4.tgz#d8bf537f45a7ff773da99143675f49e250996838" + integrity sha512-+C4AOrrFY146ydrgKOo5vTZfj7vetNu1tWshOID+UjPUU9afYGDXI8yLnAeib1ffeBXV3TuGVcyphKpJ3cKe+A== dependencies: "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "chalk" "^2.1.0" - "fs-extra" "^7.0.1" - "semver" "^5.4.1" + chalk "^2.1.0" + fs-extra "^7.0.1" + semver "^5.4.1" -"@changesets/get-github-info@^0.5.1", "@changesets/get-github-info@0.5.1": - "integrity" "sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw==" - "resolved" "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz" - "version" "0.5.1" +"@changesets/get-github-info@0.5.1", "@changesets/get-github-info@^0.5.1": + version "0.5.1" + resolved "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz#5a20328b26f301b2193717abb32e73651e8811b7" + integrity sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw== dependencies: - "dataloader" "^1.4.0" - "node-fetch" "^2.5.0" + dataloader "^1.4.0" + node-fetch "^2.5.0" "@changesets/get-release-plan@^3.0.15": - "integrity" "sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA==" - "resolved" "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.15.tgz" - "version" "3.0.15" + version "3.0.15" + resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.15.tgz#55577b235b785125a462d5d2a2dffe4dbf94e590" + integrity sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA== dependencies: "@babel/runtime" "^7.10.4" "@changesets/assemble-release-plan" "^5.2.2" @@ -1106,532 +1648,156 @@ "@manypkg/get-packages" "^1.1.3" "@changesets/get-version-range-type@^0.3.2": - "integrity" "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==" - "resolved" "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz" - "version" "0.3.2" + version "0.3.2" + resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" + integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== "@changesets/git@^1.5.0": - "integrity" "sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg==" - "resolved" "https://registry.npmjs.org/@changesets/git/-/git-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@changesets/git/-/git-1.5.0.tgz#71bbcf11f3b346d56eeaf3d3201e6dc3e270ea5a" + integrity sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "is-subdir" "^1.1.1" - "spawndamnit" "^2.0.0" + is-subdir "^1.1.1" + spawndamnit "^2.0.0" "@changesets/logger@^0.0.5": - "integrity" "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==" - "resolved" "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz" - "version" "0.0.5" + version "0.0.5" + resolved "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz#68305dd5a643e336be16a2369cb17cdd8ed37d4c" + integrity sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw== dependencies: - "chalk" "^2.1.0" + chalk "^2.1.0" "@changesets/parse@^0.3.15": - "integrity" "sha512-3eDVqVuBtp63i+BxEWHPFj2P1s3syk0PTrk2d94W9JD30iG+OER0Y6n65TeLlY8T2yB9Fvj6Ev5Gg0+cKe/ZUA==" - "resolved" "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.15.tgz" - "version" "0.3.15" + version "0.3.15" + resolved "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.15.tgz#1bc74f8c43b0861d71f4fccf78950411004ba308" + integrity sha512-3eDVqVuBtp63i+BxEWHPFj2P1s3syk0PTrk2d94W9JD30iG+OER0Y6n65TeLlY8T2yB9Fvj6Ev5Gg0+cKe/ZUA== dependencies: "@changesets/types" "^5.2.0" - "js-yaml" "^3.13.1" + js-yaml "^3.13.1" "@changesets/pre@^1.0.13": - "integrity" "sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA==" - "resolved" "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.13.tgz" - "version" "1.0.13" + version "1.0.13" + resolved "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.13.tgz#49c3ae8bb444a1ce3e0fe4cb21f238318b6763e9" + integrity sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" "@changesets/types" "^5.2.0" "@manypkg/get-packages" "^1.1.3" - "fs-extra" "^7.0.1" + fs-extra "^7.0.1" "@changesets/read@^0.5.8": - "integrity" "sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw==" - "resolved" "https://registry.npmjs.org/@changesets/read/-/read-0.5.8.tgz" - "version" "0.5.8" + version "0.5.8" + resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.8.tgz#84e24fd12e6759cef090088261c08b1dfe0f350e" + integrity sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw== dependencies: "@babel/runtime" "^7.10.4" "@changesets/git" "^1.5.0" "@changesets/logger" "^0.0.5" "@changesets/parse" "^0.3.15" "@changesets/types" "^5.2.0" - "chalk" "^2.1.0" - "fs-extra" "^7.0.1" - "p-filter" "^2.1.0" + chalk "^2.1.0" + fs-extra "^7.0.1" + p-filter "^2.1.0" + +"@changesets/types@3.3.0": + version "3.3.0" + resolved "https://registry.npmjs.org/@changesets/types/-/types-3.3.0.tgz#04cd8184b2d2da760667bd89bf9b930938dbd96e" + integrity sha512-rJamRo+OD/MQekImfIk07JZwYSB18iU6fYL8xOg0gfAiTh1a1+OlR1fPIxm55I7RsWw812is2YcPPwXdIewrhA== "@changesets/types@^4.0.1": - "integrity" "sha512-zVfv752D8K2tjyFmxU/vnntQ+dPu+9NupOSguA/2Zuym4tVxRh0ylArgKZ1bOAi2eXfGlZMxJU/kj7uCSI15RQ==" - "resolved" "https://registry.npmjs.org/@changesets/types/-/types-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@changesets/types/-/types-4.0.1.tgz#85cf3cc32baff0691112d9d15fc21fbe022c9f0a" + integrity sha512-zVfv752D8K2tjyFmxU/vnntQ+dPu+9NupOSguA/2Zuym4tVxRh0ylArgKZ1bOAi2eXfGlZMxJU/kj7uCSI15RQ== "@changesets/types@^5.2.0": - "integrity" "sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA==" - "resolved" "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz" - "version" "5.2.0" - -"@changesets/types@3.3.0": - "integrity" "sha512-rJamRo+OD/MQekImfIk07JZwYSB18iU6fYL8xOg0gfAiTh1a1+OlR1fPIxm55I7RsWw812is2YcPPwXdIewrhA==" - "resolved" "https://registry.npmjs.org/@changesets/types/-/types-3.3.0.tgz" - "version" "3.3.0" + version "5.2.0" + resolved "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz#c4927f5bf9668f778c12b4226cfd07a1f5b79c9b" + integrity sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA== "@changesets/write@^0.2.1": - "integrity" "sha512-KUd49nt2fnYdGixIqTi1yVE1nAoZYUMdtB3jBfp77IMqjZ65hrmZE5HdccDlTeClZN0420ffpnfET3zzeY8pdw==" - "resolved" "https://registry.npmjs.org/@changesets/write/-/write-0.2.1.tgz" - "version" "0.2.1" + version "0.2.1" + resolved "https://registry.npmjs.org/@changesets/write/-/write-0.2.1.tgz#c00d95851e2ca70385434a360a90ead9a1d07c74" + integrity sha512-KUd49nt2fnYdGixIqTi1yVE1nAoZYUMdtB3jBfp77IMqjZ65hrmZE5HdccDlTeClZN0420ffpnfET3zzeY8pdw== dependencies: "@babel/runtime" "^7.10.4" "@changesets/types" "^5.2.0" - "fs-extra" "^7.0.1" - "human-id" "^1.0.2" - "prettier" "^2.7.1" + fs-extra "^7.0.1" + human-id "^1.0.2" + prettier "^2.7.1" "@colors/colors@1.5.0": - "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" - "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@cspotcode/source-map-support@^0.8.0": - "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" - "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - "version" "0.8.1" + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" "@dabh/diagnostics@^2.0.2": - "integrity" "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==" - "resolved" "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz" - "version" "2.0.2" + version "2.0.2" + resolved "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31" + integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q== dependencies: - "colorspace" "1.1.x" - "enabled" "2.0.x" - "kuler" "^2.0.0" + colorspace "1.1.x" + enabled "2.0.x" + kuler "^2.0.0" "@eslint/eslintrc@^0.4.3": - "integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - "version" "0.4.3" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.1.1" - "espree" "^7.3.0" - "globals" "^13.9.0" - "ignore" "^4.0.6" - "import-fresh" "^3.2.1" - "js-yaml" "^3.13.1" - "minimatch" "^3.0.4" - "strip-json-comments" "^3.1.1" - -"@firebase/analytics-compat@0.1.17", "@firebase/analytics-compat@file:/Users/milamamat/firebase-js-sdk/packages/analytics-compat": - "resolved" "file:packages/analytics-compat" - "version" "0.1.17" - dependencies: - "@firebase/analytics" "0.8.4" - "@firebase/analytics-types" "0.7.1" - "@firebase/component" "0.5.21" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/analytics-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/analytics-interop-types": - "resolved" "file:packages/analytics-interop-types" - "version" "0.2.1" - -"@firebase/analytics-types@0.7.1", "@firebase/analytics-types@file:/Users/milamamat/firebase-js-sdk/packages/analytics-types": - "resolved" "file:packages/analytics-types" - "version" "0.7.1" - -"@firebase/analytics@0.8.4", "@firebase/analytics@file:/Users/milamamat/firebase-js-sdk/packages/analytics": - "resolved" "file:packages/analytics" - "version" "0.8.4" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/installations" "0.5.16" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/api-documenter@file:/Users/milamamat/firebase-js-sdk/repo-scripts/api-documenter": - "resolved" "file:repo-scripts/api-documenter" - "version" "0.3.0" - dependencies: - "@microsoft/tsdoc" "0.12.24" - "@rushstack/node-core-library" "3.45.5" - "@rushstack/ts-command-line" "4.13.0" - "api-extractor-model-me" "0.1.1" - "colors" "~1.4.0" - "js-yaml" "4.1.0" - "resolve" "~1.22.0" - "tslib" "^2.1.0" - -"@firebase/app-check-compat@0.2.17", "@firebase/app-check-compat@file:/Users/milamamat/firebase-js-sdk/packages/app-check-compat": - "resolved" "file:packages/app-check-compat" - "version" "0.2.17" - dependencies: - "@firebase/app-check" "0.5.17" - "@firebase/app-check-types" "0.4.1" - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/app-check-interop-types@0.1.1", "@firebase/app-check-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/app-check-interop-types": - "resolved" "file:packages/app-check-interop-types" - "version" "0.1.1" - -"@firebase/app-check-types@0.4.1", "@firebase/app-check-types@file:/Users/milamamat/firebase-js-sdk/packages/app-check-types": - "resolved" "file:packages/app-check-types" - "version" "0.4.1" - -"@firebase/app-check@0.5.17", "@firebase/app-check@file:/Users/milamamat/firebase-js-sdk/packages/app-check": - "resolved" "file:packages/app-check" - "version" "0.5.17" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/app-compat@0.1.39", "@firebase/app-compat@file:/Users/milamamat/firebase-js-sdk/packages/app-compat": - "resolved" "file:packages/app-compat" - "version" "0.1.39" - dependencies: - "@firebase/app" "0.8.4" - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/app-types@0.8.1", "@firebase/app-types@0.x", "@firebase/app-types@file:/Users/milamamat/firebase-js-sdk/packages/app-types": - "resolved" "file:packages/app-types" - "version" "0.8.1" - -"@firebase/app@0.8.4", "@firebase/app@file:/Users/milamamat/firebase-js-sdk/packages/app": - "resolved" "file:packages/app" - "version" "0.8.4" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "idb" "7.0.1" - "tslib" "^2.1.0" - -"@firebase/auth-compat@0.2.24", "@firebase/auth-compat@file:/Users/milamamat/firebase-js-sdk/packages/auth-compat": - "resolved" "file:packages/auth-compat" - "version" "0.2.24" - dependencies: - "@firebase/auth" "0.20.11" - "@firebase/auth-types" "0.11.1" - "@firebase/component" "0.5.21" - "@firebase/util" "1.7.3" - "node-fetch" "2.6.7" - "selenium-webdriver" "4.5.0" - "tslib" "^2.1.0" - -"@firebase/auth-interop-types@0.1.7", "@firebase/auth-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/auth-interop-types": - "resolved" "file:packages/auth-interop-types" - "version" "0.1.7" - -"@firebase/auth-types@0.11.1", "@firebase/auth-types@file:/Users/milamamat/firebase-js-sdk/packages/auth-types": - "resolved" "file:packages/auth-types" - "version" "0.11.1" - -"@firebase/auth@0.20.11", "@firebase/auth@file:/Users/milamamat/firebase-js-sdk/packages/auth": - "resolved" "file:packages/auth" - "version" "0.20.11" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "node-fetch" "2.6.7" - "selenium-webdriver" "4.5.0" - "tslib" "^2.1.0" - -"@firebase/changelog-generator@file:/Users/milamamat/firebase-js-sdk/repo-scripts/changelog-generator": - "resolved" "file:repo-scripts/changelog-generator" - "version" "0.1.0" - dependencies: - "@changesets/get-github-info" "0.5.1" - "@changesets/types" "3.3.0" - "@types/node-fetch" "2.6.2" - "node-fetch" "2.6.7" - -"@firebase/component@0.5.21", "@firebase/component@file:/Users/milamamat/firebase-js-sdk/packages/component": - "resolved" "file:packages/component" - "version" "0.5.21" - dependencies: - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/database-compat@0.2.10", "@firebase/database-compat@file:/Users/milamamat/firebase-js-sdk/packages/database-compat": - "resolved" "file:packages/database-compat" - "version" "0.2.10" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/database" "0.13.10" - "@firebase/database-types" "0.9.17" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/database-types@0.9.17", "@firebase/database-types@file:/Users/milamamat/firebase-js-sdk/packages/database-types": - "resolved" "file:packages/database-types" - "version" "0.9.17" - dependencies: - "@firebase/app-types" "0.8.1" - "@firebase/util" "1.7.3" - -"@firebase/database@0.13.10", "@firebase/database@file:/Users/milamamat/firebase-js-sdk/packages/database": - "resolved" "file:packages/database" - "version" "0.13.10" - dependencies: - "@firebase/auth-interop-types" "0.1.7" - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "faye-websocket" "0.11.4" - "tslib" "^2.1.0" - -"@firebase/firestore-compat@0.2.3", "@firebase/firestore-compat@file:/Users/milamamat/firebase-js-sdk/packages/firestore-compat": - "resolved" "file:packages/firestore-compat" - "version" "0.2.3" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/firestore" "3.7.3" - "@firebase/firestore-types" "2.5.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/firestore-types@2.5.1", "@firebase/firestore-types@file:/Users/milamamat/firebase-js-sdk/packages/firestore-types": - "resolved" "file:packages/firestore-types" - "version" "2.5.1" - -"@firebase/firestore@3.7.3", "@firebase/firestore@file:/Users/milamamat/firebase-js-sdk/packages/firestore": - "resolved" "file:packages/firestore" - "version" "3.7.3" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "@firebase/webchannel-wrapper" "0.8.1" - "@grpc/grpc-js" "^1.3.2" - "@grpc/proto-loader" "^0.6.13" - "blueimp-md5" "^2.19.0" - "node-fetch" "2.6.7" - "tslib" "^2.1.0" - -"@firebase/functions-compat@0.2.8", "@firebase/functions-compat@file:/Users/milamamat/firebase-js-sdk/packages/functions-compat": - "resolved" "file:packages/functions-compat" - "version" "0.2.8" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/functions" "0.8.8" - "@firebase/functions-types" "0.5.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/functions-types@0.5.1", "@firebase/functions-types@file:/Users/milamamat/firebase-js-sdk/packages/functions-types": - "resolved" "file:packages/functions-types" - "version" "0.5.1" - -"@firebase/functions@0.8.8", "@firebase/functions@file:/Users/milamamat/firebase-js-sdk/packages/functions": - "resolved" "file:packages/functions" - "version" "0.8.8" - dependencies: - "@firebase/app-check-interop-types" "0.1.1" - "@firebase/auth-interop-types" "0.1.7" - "@firebase/component" "0.5.21" - "@firebase/messaging-interop-types" "0.1.1" - "@firebase/util" "1.7.3" - "node-fetch" "2.6.7" - "tslib" "^2.1.0" - -"@firebase/installations-compat@0.1.16", "@firebase/installations-compat@file:/Users/milamamat/firebase-js-sdk/packages/installations-compat": - "resolved" "file:packages/installations-compat" - "version" "0.1.16" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/installations" "0.5.16" - "@firebase/installations-types" "0.4.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/installations-types@0.4.1", "@firebase/installations-types@file:/Users/milamamat/firebase-js-sdk/packages/installations-types": - "resolved" "file:packages/installations-types" - "version" "0.4.1" - -"@firebase/installations@0.5.16", "@firebase/installations@file:/Users/milamamat/firebase-js-sdk/packages/installations": - "resolved" "file:packages/installations" - "version" "0.5.16" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/util" "1.7.3" - "idb" "7.0.1" - "tslib" "^2.1.0" - -"@firebase/logger@0.3.4", "@firebase/logger@file:/Users/milamamat/firebase-js-sdk/packages/logger": - "resolved" "file:packages/logger" - "version" "0.3.4" - dependencies: - "tslib" "^2.1.0" - -"@firebase/messaging-compat@0.1.21", "@firebase/messaging-compat@file:/Users/milamamat/firebase-js-sdk/packages/messaging-compat": - "resolved" "file:packages/messaging-compat" - "version" "0.1.21" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/messaging" "0.11.0" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/messaging-interop-types@0.1.1", "@firebase/messaging-interop-types@file:/Users/milamamat/firebase-js-sdk/packages/messaging-interop-types": - "resolved" "file:packages/messaging-interop-types" - "version" "0.1.1" - -"@firebase/messaging@0.11.0", "@firebase/messaging@file:/Users/milamamat/firebase-js-sdk/packages/messaging": - "resolved" "file:packages/messaging" - "version" "0.11.0" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/installations" "0.5.16" - "@firebase/messaging-interop-types" "0.1.1" - "@firebase/util" "1.7.3" - "idb" "7.0.1" - "tslib" "^2.1.0" - -"@firebase/performance-compat@0.1.17", "@firebase/performance-compat@file:/Users/milamamat/firebase-js-sdk/packages/performance-compat": - "resolved" "file:packages/performance-compat" - "version" "0.1.17" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/performance" "0.5.17" - "@firebase/performance-types" "0.1.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/performance-types@0.1.1", "@firebase/performance-types@file:/Users/milamamat/firebase-js-sdk/packages/performance-types": - "resolved" "file:packages/performance-types" - "version" "0.1.1" - -"@firebase/performance@0.5.17", "@firebase/performance@file:/Users/milamamat/firebase-js-sdk/packages/performance": - "resolved" "file:packages/performance" - "version" "0.5.17" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/installations" "0.5.16" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/remote-config-compat@0.1.16", "@firebase/remote-config-compat@file:/Users/milamamat/firebase-js-sdk/packages/remote-config-compat": - "resolved" "file:packages/remote-config-compat" - "version" "0.1.16" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/logger" "0.3.4" - "@firebase/remote-config" "0.3.15" - "@firebase/remote-config-types" "0.2.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/remote-config-types@0.2.1", "@firebase/remote-config-types@file:/Users/milamamat/firebase-js-sdk/packages/remote-config-types": - "resolved" "file:packages/remote-config-types" - "version" "0.2.1" - -"@firebase/remote-config@0.3.15", "@firebase/remote-config@file:/Users/milamamat/firebase-js-sdk/packages/remote-config": - "resolved" "file:packages/remote-config" - "version" "0.3.15" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/installations" "0.5.16" - "@firebase/logger" "0.3.4" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/rules-unit-testing@file:/Users/milamamat/firebase-js-sdk/packages/rules-unit-testing": - "resolved" "file:packages/rules-unit-testing" - "version" "2.0.5" - dependencies: - "node-fetch" "2.6.7" - -"@firebase/storage-compat@0.1.22", "@firebase/storage-compat@file:/Users/milamamat/firebase-js-sdk/packages/storage-compat": - "resolved" "file:packages/storage-compat" - "version" "0.1.22" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/storage" "0.9.14" - "@firebase/storage-types" "0.6.1" - "@firebase/util" "1.7.3" - "tslib" "^2.1.0" - -"@firebase/storage-types@0.6.1", "@firebase/storage-types@file:/Users/milamamat/firebase-js-sdk/packages/storage-types": - "resolved" "file:packages/storage-types" - "version" "0.6.1" - -"@firebase/storage@0.9.14", "@firebase/storage@file:/Users/milamamat/firebase-js-sdk/packages/storage": - "resolved" "file:packages/storage" - "version" "0.9.14" - dependencies: - "@firebase/component" "0.5.21" - "@firebase/util" "1.7.3" - "node-fetch" "2.6.7" - "tslib" "^2.1.0" - -"@firebase/template-types@0.1.0", "@firebase/template-types@file:/Users/milamamat/firebase-js-sdk/packages/template-types": - "resolved" "file:packages/template-types" - "version" "0.1.0" - -"@firebase/template@file:/Users/milamamat/firebase-js-sdk/packages/template": - "resolved" "file:packages/template" - "version" "0.1.2" - dependencies: - "@firebase/template-types" "0.1.0" - "tslib" "^2.1.0" - -"@firebase/util@1.7.3", "@firebase/util@1.x", "@firebase/util@file:/Users/milamamat/firebase-js-sdk/packages/util": - "resolved" "file:packages/util" - "version" "1.7.3" - dependencies: - "tslib" "^2.1.0" - -"@firebase/webchannel-wrapper@0.8.1", "@firebase/webchannel-wrapper@file:/Users/milamamat/firebase-js-sdk/packages/webchannel-wrapper": - "resolved" "file:packages/webchannel-wrapper" - "version" "0.8.1" + version "0.4.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" "@gar/promisify@^1.0.1": - "integrity" "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" - "resolved" "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== "@google-cloud/paginator@^4.0.0": - "integrity" "sha512-wNmCZl+2G2DmgT/VlF+AROf80SoaC/CwS8trwmjNaq26VRNK8yPbU5F/Vy+R9oDAGKWQU2k8+Op5H4kFJVXFaQ==" - "resolved" "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-4.0.0.tgz#9c3e01544717aecb9a922b4269ff298f30a0f1bb" + integrity sha512-wNmCZl+2G2DmgT/VlF+AROf80SoaC/CwS8trwmjNaq26VRNK8yPbU5F/Vy+R9oDAGKWQU2k8+Op5H4kFJVXFaQ== dependencies: - "arrify" "^2.0.0" - "extend" "^3.0.2" + arrify "^2.0.0" + extend "^3.0.2" "@google-cloud/precise-date@^3.0.0": - "integrity" "sha512-bc+R9MgVTo/I6/+zZOAej7EpFlQMhzd6gJwJesEetpnJwW1MsxbkB82CQMrCc516CgZ8ypC020Xs+ylBTm9pRA==" - "resolved" "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-3.0.0.tgz#8e4d805b27dcce8d23bd7af3f14ce6462208709b" + integrity sha512-bc+R9MgVTo/I6/+zZOAej7EpFlQMhzd6gJwJesEetpnJwW1MsxbkB82CQMrCc516CgZ8ypC020Xs+ylBTm9pRA== "@google-cloud/projectify@^3.0.0": - "integrity" "sha512-HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA==" - "resolved" "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-3.0.0.tgz#302b25f55f674854dce65c2532d98919b118a408" + integrity sha512-HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA== "@google-cloud/promisify@^2.0.0": - "integrity" "sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==" - "resolved" "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz#9d8705ecb2baa41b6b2673f3a8e9b7b7e1abc52a" + integrity sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA== "@google-cloud/pubsub@^3.0.1": - "integrity" "sha512-SNrLRkZDrIxLwUYZ+PN1XZWzGdQOqCwPkFX2+bVUG5M66VmK+uCfQ5oMBDZ4pm1PZGOYaKMxINtpRNmMsBtejg==" - "resolved" "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.1.0.tgz#8dfae0cbcaa1e513f9e2e9448931481ae0ffde1a" + integrity sha512-SNrLRkZDrIxLwUYZ+PN1XZWzGdQOqCwPkFX2+bVUG5M66VmK+uCfQ5oMBDZ4pm1PZGOYaKMxINtpRNmMsBtejg== dependencies: "@google-cloud/paginator" "^4.0.0" "@google-cloud/precise-date" "^3.0.0" @@ -1641,226 +1807,254 @@ "@opentelemetry/semantic-conventions" "~1.3.0" "@types/duplexify" "^3.6.0" "@types/long" "^4.0.0" - "arrify" "^2.0.0" - "extend" "^3.0.2" - "google-auth-library" "^8.0.2" - "google-gax" "^3.0.1" - "is-stream-ended" "^0.1.4" - "lodash.snakecase" "^4.1.1" - "p-defer" "^3.0.0" - -"@grpc/grpc-js@^1.3.2", "@grpc/grpc-js@~1.7.0": - "integrity" "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==" - "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz" - "version" "1.7.3" - dependencies: - "@grpc/proto-loader" "^0.7.0" + arrify "^2.0.0" + extend "^3.0.2" + google-auth-library "^8.0.2" + google-gax "^3.0.1" + is-stream-ended "^0.1.4" + lodash.snakecase "^4.1.1" + p-defer "^3.0.0" + +"@grpc/grpc-js@^1.3.2": + version "1.3.7" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz#58b687aff93b743aafde237fd2ee9a3259d7f2d8" + integrity sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA== + dependencies: + "@types/node" ">=12.12.47" + +"@grpc/grpc-js@~1.6.0": + version "1.6.7" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz#4c4fa998ff719fe859ac19fe977fdef097bb99aa" + integrity sha512-eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw== + dependencies: + "@grpc/proto-loader" "^0.6.4" "@types/node" ">=12.12.47" -"@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.7.0": - "integrity" "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==" - "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz" - "version" "0.6.13" +"@grpc/proto-loader@^0.6.12", "@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.6.4": + version "0.6.13" + resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" + integrity sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g== dependencies: "@types/long" "^4.0.1" - "lodash.camelcase" "^4.3.0" - "long" "^4.0.0" - "protobufjs" "^6.11.3" - "yargs" "^16.2.0" + lodash.camelcase "^4.3.0" + long "^4.0.0" + protobufjs "^6.11.3" + yargs "^16.2.0" "@gulp-sourcemaps/identity-map@^2.0.1": - "integrity" "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==" - "resolved" "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz" - "version" "2.0.1" + version "2.0.1" + resolved "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" + integrity sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q== dependencies: - "acorn" "^6.4.1" - "normalize-path" "^3.0.0" - "postcss" "^7.0.16" - "source-map" "^0.6.0" - "through2" "^3.0.1" + acorn "^6.4.1" + normalize-path "^3.0.0" + postcss "^7.0.16" + source-map "^0.6.0" + through2 "^3.0.1" "@gulp-sourcemaps/map-sources@^1.0.0": - "integrity" "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=" - "resolved" "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" + integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o= dependencies: - "normalize-path" "^2.0.1" - "through2" "^2.0.3" + normalize-path "^2.0.1" + through2 "^2.0.3" "@humanwhocodes/config-array@^0.5.0": - "integrity" "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - "version" "0.5.0" + version "0.5.0" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" - "debug" "^4.1.1" - "minimatch" "^3.0.4" + debug "^4.1.1" + minimatch "^3.0.4" "@humanwhocodes/object-schema@^1.2.0": - "integrity" "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== "@hutson/parse-repository-url@^3.0.0": - "integrity" "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==" - "resolved" "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" - "version" "3.0.2" + version "3.0.2" + resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== "@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: - "camelcase" "^5.3.1" - "find-up" "^4.1.0" - "get-package-type" "^0.1.0" - "js-yaml" "^3.13.1" - "resolve-from" "^5.0.0" + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" "@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^27.2.0": - "integrity" "sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz" - "version" "27.2.0" + version "27.2.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-27.2.0.tgz#57f702837ec52899be58c3794dce5941c77a8b63" + integrity sha512-35z+RqsK2CCgNxn+lWyK8X4KkaDtfL4BggT7oeZ0JffIiAiEYFYPo5B67V50ZubqDS1ehBrdCR2jduFnIrZOYw== dependencies: "@jest/types" "^27.1.1" "@types/node" "*" - "chalk" "^4.0.0" - "jest-message-util" "^27.2.0" - "jest-util" "^27.2.0" - "slash" "^3.0.0" + chalk "^4.0.0" + jest-message-util "^27.2.0" + jest-util "^27.2.0" + slash "^3.0.0" "@jest/test-result@^27.0.6": - "integrity" "sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz" - "version" "27.2.0" + version "27.2.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.0.tgz#377b46a41a6415dd4839fd0bed67b89fecea6b20" + integrity sha512-JPPqn8h0RGr4HyeY1Km+FivDIjTFzDROU46iAvzVjD42ooGwYoqYO/MQTilhfajdz6jpVnnphFrKZI5OYrBONA== dependencies: "@jest/console" "^27.2.0" "@jest/types" "^27.1.1" "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" + collect-v8-coverage "^1.0.0" "@jest/transform@^27.2.1": - "integrity" "sha512-xmB5vh81KK8DiiCMtI5vI59mP+GggNmc9BiN+fg4mKdQHV369+WuZc1Lq2xWFCOCsRPHt24D9h7Idp4YaMB1Ww==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.2.1.tgz" - "version" "27.2.1" + version "27.2.1" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.2.1.tgz#743443adb84b3b7419951fc702515ce20ba6285e" + integrity sha512-xmB5vh81KK8DiiCMtI5vI59mP+GggNmc9BiN+fg4mKdQHV369+WuZc1Lq2xWFCOCsRPHt24D9h7Idp4YaMB1Ww== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^27.1.1" - "babel-plugin-istanbul" "^6.0.0" - "chalk" "^4.0.0" - "convert-source-map" "^1.4.0" - "fast-json-stable-stringify" "^2.0.0" - "graceful-fs" "^4.2.4" - "jest-haste-map" "^27.2.0" - "jest-regex-util" "^27.0.6" - "jest-util" "^27.2.0" - "micromatch" "^4.0.4" - "pirates" "^4.0.1" - "slash" "^3.0.0" - "source-map" "^0.6.1" - "write-file-atomic" "^3.0.0" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.2.0" + jest-regex-util "^27.0.6" + jest-util "^27.2.0" + micromatch "^4.0.4" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" "@jest/types@^27.1.1": - "integrity" "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz" - "version" "27.1.1" + version "27.1.1" + resolved "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz#77a3fc014f906c65752d12123a0134359707c0ad" + integrity sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^16.0.0" - "chalk" "^4.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - "integrity" "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz" - "version" "3.0.5" + version "3.0.5" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.2": - "integrity" "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==" - "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - "version" "0.3.2" + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - "integrity" "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz" - "version" "1.4.11" + version "1.4.11" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== -"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.9": - "integrity" "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" - "version" "0.3.14" +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@0.3.9": - "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - "version" "0.3.9" +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.14" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@jsdevtools/ono@^7.1.3": - "integrity" "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" - "resolved" "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz" - "version" "7.1.3" + version "7.1.3" + resolved "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== "@kwsites/file-exists@^1.1.1": - "integrity" "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==" - "resolved" "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" + integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== dependencies: - "debug" "^4.1.1" + debug "^4.1.1" "@kwsites/promise-deferred@^1.1.1": - "integrity" "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" - "resolved" "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" + integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== "@lerna/add@4.0.0": - "integrity" "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==" - "resolved" "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" + integrity sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng== dependencies: "@lerna/bootstrap" "4.0.0" "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" "@lerna/npm-conf" "4.0.0" "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "npm-package-arg" "^8.1.0" - "p-map" "^4.0.0" - "pacote" "^11.2.6" - "semver" "^7.3.4" + dedent "^0.7.0" + npm-package-arg "^8.1.0" + p-map "^4.0.0" + pacote "^11.2.6" + semver "^7.3.4" "@lerna/bootstrap@4.0.0": - "integrity" "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==" - "resolved" "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz#5f5c5e2c6cfc8fcec50cb2fbe569a8c607101891" + integrity sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw== dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -1874,21 +2068,21 @@ "@lerna/symlink-binary" "4.0.0" "@lerna/symlink-dependencies" "4.0.0" "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "get-port" "^5.1.1" - "multimatch" "^5.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" - "p-waterfall" "^2.1.1" - "read-package-tree" "^5.3.1" - "semver" "^7.3.4" + dedent "^0.7.0" + get-port "^5.1.1" + multimatch "^5.0.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" + read-package-tree "^5.3.1" + semver "^7.3.4" "@lerna/changed@4.0.0": - "integrity" "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==" - "resolved" "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz#b9fc76cea39b9292a6cd263f03eb57af85c9270b" + integrity sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ== dependencies: "@lerna/collect-updates" "4.0.0" "@lerna/command" "4.0.0" @@ -1896,155 +2090,155 @@ "@lerna/output" "4.0.0" "@lerna/check-working-tree@4.0.0": - "integrity" "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==" - "resolved" "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz#257e36a602c00142e76082a19358e3e1ae8dbd58" + integrity sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q== dependencies: "@lerna/collect-uncommitted" "4.0.0" "@lerna/describe-ref" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/child-process@4.0.0": - "integrity" "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==" - "resolved" "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz#341b96a57dffbd9705646d316e231df6fa4df6e1" + integrity sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q== dependencies: - "chalk" "^4.1.0" - "execa" "^5.0.0" - "strong-log-transformer" "^2.1.0" + chalk "^4.1.0" + execa "^5.0.0" + strong-log-transformer "^2.1.0" "@lerna/clean@4.0.0": - "integrity" "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==" - "resolved" "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz#8f778b6f2617aa2a936a6b5e085ae62498e57dc5" + integrity sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA== dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" "@lerna/prompt" "4.0.0" "@lerna/pulse-till-done" "4.0.0" "@lerna/rimraf-dir" "4.0.0" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" - "p-waterfall" "^2.1.1" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" "@lerna/cli@4.0.0": - "integrity" "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==" - "resolved" "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz#8eabd334558836c1664df23f19acb95e98b5bbf3" + integrity sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA== dependencies: "@lerna/global-options" "4.0.0" - "dedent" "^0.7.0" - "npmlog" "^4.1.2" - "yargs" "^16.2.0" + dedent "^0.7.0" + npmlog "^4.1.2" + yargs "^16.2.0" "@lerna/collect-uncommitted@4.0.0": - "integrity" "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==" - "resolved" "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz#855cd64612969371cfc2453b90593053ff1ba779" + integrity sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g== dependencies: "@lerna/child-process" "4.0.0" - "chalk" "^4.1.0" - "npmlog" "^4.1.2" + chalk "^4.1.0" + npmlog "^4.1.2" "@lerna/collect-updates@4.0.0": - "integrity" "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==" - "resolved" "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz#8e208b1bafd98a372ff1177f7a5e288f6bea8041" + integrity sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw== dependencies: "@lerna/child-process" "4.0.0" "@lerna/describe-ref" "4.0.0" - "minimatch" "^3.0.4" - "npmlog" "^4.1.2" - "slash" "^3.0.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + slash "^3.0.0" "@lerna/command@4.0.0": - "integrity" "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==" - "resolved" "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz#991c7971df8f5bf6ae6e42c808869a55361c1b98" + integrity sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A== dependencies: "@lerna/child-process" "4.0.0" "@lerna/package-graph" "4.0.0" "@lerna/project" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/write-log-file" "4.0.0" - "clone-deep" "^4.0.1" - "dedent" "^0.7.0" - "execa" "^5.0.0" - "is-ci" "^2.0.0" - "npmlog" "^4.1.2" + clone-deep "^4.0.1" + dedent "^0.7.0" + execa "^5.0.0" + is-ci "^2.0.0" + npmlog "^4.1.2" "@lerna/conventional-commits@4.0.0": - "integrity" "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==" - "resolved" "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz#660fb2c7b718cb942ead70110df61f18c6f99750" + integrity sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw== dependencies: "@lerna/validation-error" "4.0.0" - "conventional-changelog-angular" "^5.0.12" - "conventional-changelog-core" "^4.2.2" - "conventional-recommended-bump" "^6.1.0" - "fs-extra" "^9.1.0" - "get-stream" "^6.0.0" - "lodash.template" "^4.5.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "pify" "^5.0.0" - "semver" "^7.3.4" + conventional-changelog-angular "^5.0.12" + conventional-changelog-core "^4.2.2" + conventional-recommended-bump "^6.1.0" + fs-extra "^9.1.0" + get-stream "^6.0.0" + lodash.template "^4.5.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + pify "^5.0.0" + semver "^7.3.4" "@lerna/create-symlink@4.0.0": - "integrity" "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==" - "resolved" "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz#8c5317ce5ae89f67825443bd7651bf4121786228" + integrity sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig== dependencies: - "cmd-shim" "^4.1.0" - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" + cmd-shim "^4.1.0" + fs-extra "^9.1.0" + npmlog "^4.1.2" "@lerna/create@4.0.0": - "integrity" "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==" - "resolved" "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz#b6947e9b5dfb6530321952998948c3e63d64d730" + integrity sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag== dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/npm-conf" "4.0.0" "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "fs-extra" "^9.1.0" - "globby" "^11.0.2" - "init-package-json" "^2.0.2" - "npm-package-arg" "^8.1.0" - "p-reduce" "^2.1.0" - "pacote" "^11.2.6" - "pify" "^5.0.0" - "semver" "^7.3.4" - "slash" "^3.0.0" - "validate-npm-package-license" "^3.0.4" - "validate-npm-package-name" "^3.0.0" - "whatwg-url" "^8.4.0" - "yargs-parser" "20.2.4" + dedent "^0.7.0" + fs-extra "^9.1.0" + globby "^11.0.2" + init-package-json "^2.0.2" + npm-package-arg "^8.1.0" + p-reduce "^2.1.0" + pacote "^11.2.6" + pify "^5.0.0" + semver "^7.3.4" + slash "^3.0.0" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^3.0.0" + whatwg-url "^8.4.0" + yargs-parser "20.2.4" "@lerna/describe-ref@4.0.0": - "integrity" "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==" - "resolved" "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz#53c53b4ea65fdceffa072a62bfebe6772c45d9ec" + integrity sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ== dependencies: "@lerna/child-process" "4.0.0" - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/diff@4.0.0": - "integrity" "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==" - "resolved" "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz#6d3071817aaa4205a07bf77cfc6e932796d48b92" + integrity sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag== dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/validation-error" "4.0.0" - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/exec@4.0.0": - "integrity" "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==" - "resolved" "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz#eb6cb95cb92d42590e9e2d628fcaf4719d4a8be6" + integrity sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw== dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" @@ -2052,125 +2246,125 @@ "@lerna/profiler" "4.0.0" "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" - "p-map" "^4.0.0" + p-map "^4.0.0" "@lerna/filter-options@4.0.0": - "integrity" "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==" - "resolved" "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz#ac94cc515d7fa3b47e2f7d74deddeabb1de5e9e6" + integrity sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw== dependencies: "@lerna/collect-updates" "4.0.0" "@lerna/filter-packages" "4.0.0" - "dedent" "^0.7.0" - "npmlog" "^4.1.2" + dedent "^0.7.0" + npmlog "^4.1.2" "@lerna/filter-packages@4.0.0": - "integrity" "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==" - "resolved" "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz#b1f70d70e1de9cdd36a4e50caa0ac501f8d012f2" + integrity sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA== dependencies: "@lerna/validation-error" "4.0.0" - "multimatch" "^5.0.0" - "npmlog" "^4.1.2" + multimatch "^5.0.0" + npmlog "^4.1.2" "@lerna/get-npm-exec-opts@4.0.0": - "integrity" "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==" - "resolved" "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz#dc955be94a4ae75c374ef9bce91320887d34608f" + integrity sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ== dependencies: - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/get-packed@4.0.0": - "integrity" "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==" - "resolved" "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz#0989d61624ac1f97e393bdad2137c49cd7a37823" + integrity sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w== dependencies: - "fs-extra" "^9.1.0" - "ssri" "^8.0.1" - "tar" "^6.1.0" + fs-extra "^9.1.0" + ssri "^8.0.1" + tar "^6.1.0" "@lerna/github-client@4.0.0": - "integrity" "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==" - "resolved" "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz#2ced67721363ef70f8e12ffafce4410918f4a8a4" + integrity sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw== dependencies: "@lerna/child-process" "4.0.0" "@octokit/plugin-enterprise-rest" "^6.0.1" "@octokit/rest" "^18.1.0" - "git-url-parse" "^11.4.4" - "npmlog" "^4.1.2" + git-url-parse "^11.4.4" + npmlog "^4.1.2" "@lerna/gitlab-client@4.0.0": - "integrity" "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==" - "resolved" "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz#00dad73379c7b38951d4b4ded043504c14e2b67d" + integrity sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA== dependencies: - "node-fetch" "^2.6.1" - "npmlog" "^4.1.2" - "whatwg-url" "^8.4.0" + node-fetch "^2.6.1" + npmlog "^4.1.2" + whatwg-url "^8.4.0" "@lerna/global-options@4.0.0": - "integrity" "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==" - "resolved" "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz#c7d8b0de6a01d8a845e2621ea89e7f60f18c6a5f" + integrity sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ== "@lerna/has-npm-version@4.0.0": - "integrity" "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==" - "resolved" "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz#d3fc3292c545eb28bd493b36e6237cf0279f631c" + integrity sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg== dependencies: "@lerna/child-process" "4.0.0" - "semver" "^7.3.4" + semver "^7.3.4" "@lerna/import@4.0.0": - "integrity" "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==" - "resolved" "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz#bde656c4a451fa87ae41733ff8a8da60547c5465" + integrity sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg== dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" "@lerna/prompt" "4.0.0" "@lerna/pulse-till-done" "4.0.0" "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "fs-extra" "^9.1.0" - "p-map-series" "^2.1.0" + dedent "^0.7.0" + fs-extra "^9.1.0" + p-map-series "^2.1.0" "@lerna/info@4.0.0": - "integrity" "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==" - "resolved" "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz#b9fb0e479d60efe1623603958a831a88b1d7f1fc" + integrity sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q== dependencies: "@lerna/command" "4.0.0" "@lerna/output" "4.0.0" - "envinfo" "^7.7.4" + envinfo "^7.7.4" "@lerna/init@4.0.0": - "integrity" "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==" - "resolved" "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz#dadff67e6dfb981e8ccbe0e6a310e837962f6c7a" + integrity sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ== dependencies: "@lerna/child-process" "4.0.0" "@lerna/command" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" - "write-json-file" "^4.3.0" + fs-extra "^9.1.0" + p-map "^4.0.0" + write-json-file "^4.3.0" "@lerna/link@4.0.0": - "integrity" "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==" - "resolved" "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz#c3a38aabd44279d714e90f2451e31b63f0fb65ba" + integrity sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w== dependencies: "@lerna/command" "4.0.0" "@lerna/package-graph" "4.0.0" "@lerna/symlink-dependencies" "4.0.0" - "p-map" "^4.0.0" - "slash" "^3.0.0" + p-map "^4.0.0" + slash "^3.0.0" "@lerna/list@4.0.0": - "integrity" "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==" - "resolved" "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz#24b4e6995bd73f81c556793fe502b847efd9d1d7" + integrity sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg== dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -2178,171 +2372,171 @@ "@lerna/output" "4.0.0" "@lerna/listable@4.0.0": - "integrity" "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==" - "resolved" "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz#d00d6cb4809b403f2b0374fc521a78e318b01214" + integrity sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ== dependencies: "@lerna/query-graph" "4.0.0" - "chalk" "^4.1.0" - "columnify" "^1.5.4" + chalk "^4.1.0" + columnify "^1.5.4" "@lerna/log-packed@4.0.0": - "integrity" "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==" - "resolved" "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz#95168fe2e26ac6a71e42f4be857519b77e57a09f" + integrity sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ== dependencies: - "byte-size" "^7.0.0" - "columnify" "^1.5.4" - "has-unicode" "^2.0.1" - "npmlog" "^4.1.2" + byte-size "^7.0.0" + columnify "^1.5.4" + has-unicode "^2.0.1" + npmlog "^4.1.2" "@lerna/npm-conf@4.0.0": - "integrity" "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==" - "resolved" "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz#b259fd1e1cee2bf5402b236e770140ff9ade7fd2" + integrity sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw== dependencies: - "config-chain" "^1.1.12" - "pify" "^5.0.0" + config-chain "^1.1.12" + pify "^5.0.0" "@lerna/npm-dist-tag@4.0.0": - "integrity" "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==" - "resolved" "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz#d1e99b4eccd3414142f0548ad331bf2d53f3257a" + integrity sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw== dependencies: "@lerna/otplease" "4.0.0" - "npm-package-arg" "^8.1.0" - "npm-registry-fetch" "^9.0.0" - "npmlog" "^4.1.2" + npm-package-arg "^8.1.0" + npm-registry-fetch "^9.0.0" + npmlog "^4.1.2" "@lerna/npm-install@4.0.0": - "integrity" "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==" - "resolved" "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz#31180be3ab3b7d1818a1a0c206aec156b7094c78" + integrity sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg== dependencies: "@lerna/child-process" "4.0.0" "@lerna/get-npm-exec-opts" "4.0.0" - "fs-extra" "^9.1.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "signal-exit" "^3.0.3" - "write-pkg" "^4.0.0" + fs-extra "^9.1.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + signal-exit "^3.0.3" + write-pkg "^4.0.0" "@lerna/npm-publish@4.0.0": - "integrity" "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==" - "resolved" "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz#84eb62e876fe949ae1fd62c60804423dbc2c4472" + integrity sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w== dependencies: "@lerna/otplease" "4.0.0" "@lerna/run-lifecycle" "4.0.0" - "fs-extra" "^9.1.0" - "libnpmpublish" "^4.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "pify" "^5.0.0" - "read-package-json" "^3.0.0" + fs-extra "^9.1.0" + libnpmpublish "^4.0.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + pify "^5.0.0" + read-package-json "^3.0.0" "@lerna/npm-run-script@4.0.0": - "integrity" "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==" - "resolved" "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz#dfebf4f4601442e7c0b5214f9fb0d96c9350743b" + integrity sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA== dependencies: "@lerna/child-process" "4.0.0" "@lerna/get-npm-exec-opts" "4.0.0" - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/otplease@4.0.0": - "integrity" "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==" - "resolved" "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz#84972eb43448f8a1077435ba1c5e59233b725850" + integrity sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw== dependencies: "@lerna/prompt" "4.0.0" "@lerna/output@4.0.0": - "integrity" "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==" - "resolved" "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz#b1d72215c0e35483e4f3e9994debc82c621851f2" + integrity sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w== dependencies: - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/pack-directory@4.0.0": - "integrity" "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==" - "resolved" "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz#8b617db95d20792f043aaaa13a9ccc0e04cb4c74" + integrity sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ== dependencies: "@lerna/get-packed" "4.0.0" "@lerna/package" "4.0.0" "@lerna/run-lifecycle" "4.0.0" - "npm-packlist" "^2.1.4" - "npmlog" "^4.1.2" - "tar" "^6.1.0" - "temp-write" "^4.0.0" + npm-packlist "^2.1.4" + npmlog "^4.1.2" + tar "^6.1.0" + temp-write "^4.0.0" "@lerna/package-graph@4.0.0": - "integrity" "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==" - "resolved" "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz#16a00253a8ac810f72041481cb46bcee8d8123dd" + integrity sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw== dependencies: "@lerna/prerelease-id-from-version" "4.0.0" "@lerna/validation-error" "4.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "semver" "^7.3.4" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + semver "^7.3.4" "@lerna/package@4.0.0": - "integrity" "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==" - "resolved" "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" + integrity sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q== dependencies: - "load-json-file" "^6.2.0" - "npm-package-arg" "^8.1.0" - "write-pkg" "^4.0.0" + load-json-file "^6.2.0" + npm-package-arg "^8.1.0" + write-pkg "^4.0.0" "@lerna/prerelease-id-from-version@4.0.0": - "integrity" "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==" - "resolved" "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz#c7e0676fcee1950d85630e108eddecdd5b48c916" + integrity sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg== dependencies: - "semver" "^7.3.4" + semver "^7.3.4" "@lerna/profiler@4.0.0": - "integrity" "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==" - "resolved" "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz#8a53ab874522eae15d178402bff90a14071908e9" + integrity sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q== dependencies: - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" - "upath" "^2.0.1" + fs-extra "^9.1.0" + npmlog "^4.1.2" + upath "^2.0.1" "@lerna/project@4.0.0": - "integrity" "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==" - "resolved" "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" + integrity sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg== dependencies: "@lerna/package" "4.0.0" "@lerna/validation-error" "4.0.0" - "cosmiconfig" "^7.0.0" - "dedent" "^0.7.0" - "dot-prop" "^6.0.1" - "glob-parent" "^5.1.1" - "globby" "^11.0.2" - "load-json-file" "^6.2.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "resolve-from" "^5.0.0" - "write-json-file" "^4.3.0" + cosmiconfig "^7.0.0" + dedent "^0.7.0" + dot-prop "^6.0.1" + glob-parent "^5.1.1" + globby "^11.0.2" + load-json-file "^6.2.0" + npmlog "^4.1.2" + p-map "^4.0.0" + resolve-from "^5.0.0" + write-json-file "^4.3.0" "@lerna/prompt@4.0.0": - "integrity" "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==" - "resolved" "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz#5ec69a803f3f0db0ad9f221dad64664d3daca41b" + integrity sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ== dependencies: - "inquirer" "^7.3.3" - "npmlog" "^4.1.2" + inquirer "^7.3.3" + npmlog "^4.1.2" "@lerna/publish@4.0.0": - "integrity" "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==" - "resolved" "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz#f67011305adeba120066a3b6d984a5bb5fceef65" + integrity sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg== dependencies: "@lerna/check-working-tree" "4.0.0" "@lerna/child-process" "4.0.0" @@ -2363,70 +2557,70 @@ "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" "@lerna/version" "4.0.0" - "fs-extra" "^9.1.0" - "libnpmaccess" "^4.0.1" - "npm-package-arg" "^8.1.0" - "npm-registry-fetch" "^9.0.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-pipe" "^3.1.0" - "pacote" "^11.2.6" - "semver" "^7.3.4" + fs-extra "^9.1.0" + libnpmaccess "^4.0.1" + npm-package-arg "^8.1.0" + npm-registry-fetch "^9.0.0" + npmlog "^4.1.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + pacote "^11.2.6" + semver "^7.3.4" "@lerna/pulse-till-done@4.0.0": - "integrity" "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==" - "resolved" "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz#04bace7d483a8205c187b806bcd8be23d7bb80a3" + integrity sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg== dependencies: - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/query-graph@4.0.0": - "integrity" "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==" - "resolved" "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz#09dd1c819ac5ee3f38db23931143701f8a6eef63" + integrity sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg== dependencies: "@lerna/package-graph" "4.0.0" "@lerna/resolve-symlink@4.0.0": - "integrity" "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==" - "resolved" "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz#6d006628a210c9b821964657a9e20a8c9a115e14" + integrity sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA== dependencies: - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" - "read-cmd-shim" "^2.0.0" + fs-extra "^9.1.0" + npmlog "^4.1.2" + read-cmd-shim "^2.0.0" "@lerna/rimraf-dir@4.0.0": - "integrity" "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==" - "resolved" "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz#2edf3b62d4eb0ef4e44e430f5844667d551ec25a" + integrity sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg== dependencies: "@lerna/child-process" "4.0.0" - "npmlog" "^4.1.2" - "path-exists" "^4.0.0" - "rimraf" "^3.0.2" + npmlog "^4.1.2" + path-exists "^4.0.0" + rimraf "^3.0.2" "@lerna/run-lifecycle@4.0.0": - "integrity" "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==" - "resolved" "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz#e648a46f9210a9bcd7c391df6844498cb5079334" + integrity sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ== dependencies: "@lerna/npm-conf" "4.0.0" - "npm-lifecycle" "^3.1.5" - "npmlog" "^4.1.2" + npm-lifecycle "^3.1.5" + npmlog "^4.1.2" "@lerna/run-topologically@4.0.0": - "integrity" "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==" - "resolved" "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz#af846eeee1a09b0c2be0d1bfb5ef0f7b04bb1827" + integrity sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA== dependencies: "@lerna/query-graph" "4.0.0" - "p-queue" "^6.6.2" + p-queue "^6.6.2" "@lerna/run@4.0.0": - "integrity" "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==" - "resolved" "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz#4bc7fda055a729487897c23579694f6183c91262" + integrity sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ== dependencies: "@lerna/command" "4.0.0" "@lerna/filter-options" "4.0.0" @@ -2436,46 +2630,46 @@ "@lerna/run-topologically" "4.0.0" "@lerna/timer" "4.0.0" "@lerna/validation-error" "4.0.0" - "p-map" "^4.0.0" + p-map "^4.0.0" "@lerna/symlink-binary@4.0.0": - "integrity" "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==" - "resolved" "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz#21009f62d53a425f136cb4c1a32c6b2a0cc02d47" + integrity sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA== dependencies: "@lerna/create-symlink" "4.0.0" "@lerna/package" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" + fs-extra "^9.1.0" + p-map "^4.0.0" "@lerna/symlink-dependencies@4.0.0": - "integrity" "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==" - "resolved" "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz#8910eca084ae062642d0490d8972cf2d98e9ebbd" + integrity sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw== dependencies: "@lerna/create-symlink" "4.0.0" "@lerna/resolve-symlink" "4.0.0" "@lerna/symlink-binary" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" + fs-extra "^9.1.0" + p-map "^4.0.0" + p-map-series "^2.1.0" "@lerna/timer@4.0.0": - "integrity" "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==" - "resolved" "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz#a52e51bfcd39bfd768988049ace7b15c1fd7a6da" + integrity sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg== "@lerna/validation-error@4.0.0": - "integrity" "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==" - "resolved" "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" + integrity sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw== dependencies: - "npmlog" "^4.1.2" + npmlog "^4.1.2" "@lerna/version@4.0.0": - "integrity" "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==" - "resolved" "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz#532659ec6154d8a8789c5ab53878663e244e3228" + integrity sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA== dependencies: "@lerna/check-working-tree" "4.0.0" "@lerna/child-process" "4.0.0" @@ -2490,249 +2684,234 @@ "@lerna/run-lifecycle" "4.0.0" "@lerna/run-topologically" "4.0.0" "@lerna/validation-error" "4.0.0" - "chalk" "^4.1.0" - "dedent" "^0.7.0" - "load-json-file" "^6.2.0" - "minimatch" "^3.0.4" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-pipe" "^3.1.0" - "p-reduce" "^2.1.0" - "p-waterfall" "^2.1.1" - "semver" "^7.3.4" - "slash" "^3.0.0" - "temp-write" "^4.0.0" - "write-json-file" "^4.3.0" + chalk "^4.1.0" + dedent "^0.7.0" + load-json-file "^6.2.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + p-reduce "^2.1.0" + p-waterfall "^2.1.1" + semver "^7.3.4" + slash "^3.0.0" + temp-write "^4.0.0" + write-json-file "^4.3.0" "@lerna/write-log-file@4.0.0": - "integrity" "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==" - "resolved" "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz#18221a38a6a307d6b0a5844dd592ad53fa27091e" + integrity sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg== dependencies: - "npmlog" "^4.1.2" - "write-file-atomic" "^3.0.3" + npmlog "^4.1.2" + write-file-atomic "^3.0.3" "@manypkg/find-root@^1.1.0": - "integrity" "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==" - "resolved" "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" + integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== dependencies: "@babel/runtime" "^7.5.5" "@types/node" "^12.7.1" - "find-up" "^4.1.0" - "fs-extra" "^8.1.0" + find-up "^4.1.0" + fs-extra "^8.1.0" "@manypkg/get-packages@^1.1.3": - "integrity" "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==" - "resolved" "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz" - "version" "1.1.3" + version "1.1.3" + resolved "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" + integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== dependencies: "@babel/runtime" "^7.5.5" "@changesets/types" "^4.0.1" "@manypkg/find-root" "^1.1.0" - "fs-extra" "^8.1.0" - "globby" "^11.0.0" - "read-yaml-file" "^1.1.0" - -"@mapbox/node-pre-gyp@^1.0.0": - "integrity" "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==" - "resolved" "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "detect-libc" "^2.0.0" - "https-proxy-agent" "^5.0.0" - "make-dir" "^3.1.0" - "node-fetch" "^2.6.7" - "nopt" "^5.0.0" - "npmlog" "^5.0.1" - "rimraf" "^3.0.2" - "semver" "^7.3.5" - "tar" "^6.1.11" + fs-extra "^8.1.0" + globby "^11.0.0" + read-yaml-file "^1.1.0" "@microsoft/tsdoc@0.12.24": - "integrity" "sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg==" - "resolved" "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz" - "version" "0.12.24" + version "0.12.24" + resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz#30728e34ebc90351dd3aff4e18d038eed2c3e098" + integrity sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg== "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@npmcli/ci-detect@^1.0.0": - "integrity" "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==" - "resolved" "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz" - "version" "1.3.0" + version "1.3.0" + resolved "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" + integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== "@npmcli/fs@^1.0.0": - "integrity" "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==" - "resolved" "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== dependencies: "@gar/promisify" "^1.0.1" - "semver" "^7.3.5" + semver "^7.3.5" "@npmcli/git@^2.1.0": - "integrity" "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==" - "resolved" "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" + integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== dependencies: "@npmcli/promise-spawn" "^1.3.2" - "lru-cache" "^6.0.0" - "mkdirp" "^1.0.4" - "npm-pick-manifest" "^6.1.1" - "promise-inflight" "^1.0.1" - "promise-retry" "^2.0.1" - "semver" "^7.3.5" - "which" "^2.0.2" + lru-cache "^6.0.0" + mkdirp "^1.0.4" + npm-pick-manifest "^6.1.1" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" "@npmcli/installed-package-contents@^1.0.6": - "integrity" "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==" - "resolved" "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" - "version" "1.0.7" + version "1.0.7" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== dependencies: - "npm-bundled" "^1.1.1" - "npm-normalize-package-bin" "^1.0.1" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" "@npmcli/move-file@^1.0.1": - "integrity" "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==" - "resolved" "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: - "mkdirp" "^1.0.4" - "rimraf" "^3.0.2" + mkdirp "^1.0.4" + rimraf "^3.0.2" "@npmcli/node-gyp@^1.0.2": - "integrity" "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==" - "resolved" "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" + integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": - "integrity" "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==" - "resolved" "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz" - "version" "1.3.2" + version "1.3.2" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: - "infer-owner" "^1.0.4" + infer-owner "^1.0.4" "@npmcli/run-script@^1.8.2": - "integrity" "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==" - "resolved" "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz" - "version" "1.8.6" + version "1.8.6" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" + integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g== dependencies: "@npmcli/node-gyp" "^1.0.2" "@npmcli/promise-spawn" "^1.3.2" - "node-gyp" "^7.1.0" - "read-package-json-fast" "^2.0.1" + node-gyp "^7.1.0" + read-package-json-fast "^2.0.1" "@octokit/auth-token@^2.4.4": - "integrity" "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==" - "resolved" "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" - "version" "2.5.0" + version "2.5.0" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: "@octokit/types" "^6.0.3" -"@octokit/core@^3.5.1", "@octokit/core@>=2", "@octokit/core@>=3": - "integrity" "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==" - "resolved" "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz" - "version" "3.5.1" +"@octokit/core@^3.5.1": + version "3.5.1" + resolved "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" + integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== dependencies: "@octokit/auth-token" "^2.4.4" "@octokit/graphql" "^4.5.8" "@octokit/request" "^5.6.0" "@octokit/request-error" "^2.0.5" "@octokit/types" "^6.0.3" - "before-after-hook" "^2.2.0" - "universal-user-agent" "^6.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" "@octokit/endpoint@^6.0.1": - "integrity" "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==" - "resolved" "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" - "version" "6.0.12" + version "6.0.12" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: "@octokit/types" "^6.0.3" - "is-plain-object" "^5.0.0" - "universal-user-agent" "^6.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" "@octokit/graphql@^4.5.8": - "integrity" "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==" - "resolved" "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" - "version" "4.8.0" + version "4.8.0" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== dependencies: "@octokit/request" "^5.6.0" "@octokit/types" "^6.0.3" - "universal-user-agent" "^6.0.0" + universal-user-agent "^6.0.0" "@octokit/openapi-types@^10.5.0": - "integrity" "sha512-/iQtZq+zuQJrwawFyjixh333xPu4/KJKk0bFM/Omm4kFlTGw0dWXfq6xCOe5DqONW0faW29Cc9r6p2mvl72aTQ==" - "resolved" "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.6.0.tgz" - "version" "10.6.0" + version "10.6.0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-10.6.0.tgz#13278af3cbe7bb141dc4ae02c24eaff209efadfb" + integrity sha512-/iQtZq+zuQJrwawFyjixh333xPu4/KJKk0bFM/Omm4kFlTGw0dWXfq6xCOe5DqONW0faW29Cc9r6p2mvl72aTQ== "@octokit/plugin-enterprise-rest@^6.0.1": - "integrity" "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz" - "version" "6.0.1" + version "6.0.1" + resolved "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== "@octokit/plugin-paginate-rest@^2.16.0": - "integrity" "sha512-2PfRGymdBypqRes4Xelu0BAZZRCV/Qg0xgo8UB10UKoghCM+zg640+T5WkRsRD0edwfLBPP3VsJgDyDTG4EIYg==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.5.tgz" - "version" "2.16.5" + version "2.16.5" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.5.tgz#4d8098410f4c4697d33979f06f38d2ed2574adf1" + integrity sha512-2PfRGymdBypqRes4Xelu0BAZZRCV/Qg0xgo8UB10UKoghCM+zg640+T5WkRsRD0edwfLBPP3VsJgDyDTG4EIYg== dependencies: "@octokit/types" "^6.31.0" "@octokit/plugin-request-log@^1.0.4": - "integrity" "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" - "version" "1.0.4" + version "1.0.4" + resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@5.11.1": - "integrity" "sha512-EE69SuO08wtnIy9q/HftGDr7/Im1txzDfeYr+I4T/JkMSNEiedUUE5RuCWkEQAwwbeEU4kVTwSEQZb9Af77/PA==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.11.1.tgz" - "version" "5.11.1" + version "5.11.1" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.11.1.tgz#308476ae5de133ab4d30a6fa6c8f2766ff2524a0" + integrity sha512-EE69SuO08wtnIy9q/HftGDr7/Im1txzDfeYr+I4T/JkMSNEiedUUE5RuCWkEQAwwbeEU4kVTwSEQZb9Af77/PA== dependencies: "@octokit/types" "^6.30.0" - "deprecation" "^2.3.1" + deprecation "^2.3.1" "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - "integrity" "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==" - "resolved" "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: "@octokit/types" "^6.0.3" - "deprecation" "^2.0.0" - "once" "^1.4.0" + deprecation "^2.0.0" + once "^1.4.0" "@octokit/request@^5.6.0": - "integrity" "sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ==" - "resolved" "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz" - "version" "5.6.1" + version "5.6.1" + resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz#f97aff075c37ab1d427c49082fefeef0dba2d8ce" + integrity sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" "@octokit/types" "^6.16.1" - "is-plain-object" "^5.0.0" - "node-fetch" "^2.6.1" - "universal-user-agent" "^6.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + universal-user-agent "^6.0.0" "@octokit/rest@^18.1.0": - "integrity" "sha512-e30+ERbA4nXkzkaCDgfxS9H1A43Z1GvV5nqLfkxS81rYKbFE6+sEsrXsTRzV1aWLsRIQ+B75Vgnyzjw/ioTyVA==" - "resolved" "https://registry.npmjs.org/@octokit/rest/-/rest-18.11.0.tgz" - "version" "18.11.0" + version "18.11.0" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.11.0.tgz#d7c5f1cef0a8bedaf8f7d8bc8feb80ee840c7b40" + integrity sha512-e30+ERbA4nXkzkaCDgfxS9H1A43Z1GvV5nqLfkxS81rYKbFE6+sEsrXsTRzV1aWLsRIQ+B75Vgnyzjw/ioTyVA== dependencies: "@octokit/core" "^3.5.1" "@octokit/plugin-paginate-rest" "^2.16.0" @@ -2740,334 +2919,329 @@ "@octokit/plugin-rest-endpoint-methods" "5.11.1" "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.30.0", "@octokit/types@^6.31.0": - "integrity" "sha512-xobpvYmMYoFSxZB6jL1TPTMMZkxZIBlY145ZKibBJDKCczP1FrLLougtuVOZywGVZdcYs8oq2Bxb3aMjqIFeiw==" - "resolved" "https://registry.npmjs.org/@octokit/types/-/types-6.31.0.tgz" - "version" "6.31.0" + version "6.31.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.31.0.tgz#b444852100090d1c5d0015614860c6131dc217e8" + integrity sha512-xobpvYmMYoFSxZB6jL1TPTMMZkxZIBlY145ZKibBJDKCczP1FrLLougtuVOZywGVZdcYs8oq2Bxb3aMjqIFeiw== dependencies: "@octokit/openapi-types" "^10.5.0" "@opentelemetry/api@^1.0.0": - "integrity" "sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==" - "resolved" "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz" - "version" "1.0.3" + version "1.0.3" + resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz#13a12ae9e05c2a782f7b5e84c3cbfda4225eaf80" + integrity sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ== "@opentelemetry/semantic-conventions@~1.3.0": - "integrity" "sha512-wU5J8rUoo32oSef/rFpOT1HIjLjAv3qIDHkw1QIhODV3OpAVHi5oVzlouozg9obUmZKtbZ0qUe/m7FP0y0yBzA==" - "resolved" "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.3.1.tgz" - "version" "1.3.1" + version "1.3.1" + resolved "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.3.1.tgz#ba07b864a3c955f061aa30ea3ef7f4ae4449794a" + integrity sha512-wU5J8rUoo32oSef/rFpOT1HIjLjAv3qIDHkw1QIhODV3OpAVHi5oVzlouozg9obUmZKtbZ0qUe/m7FP0y0yBzA== "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - "integrity" "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= "@protobufjs/base64@^1.1.2": - "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== "@protobufjs/codegen@^2.0.4": - "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== "@protobufjs/eventemitter@^1.1.0": - "integrity" "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= "@protobufjs/fetch@^1.1.0": - "integrity" "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=" - "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" "@protobufjs/float@^1.0.2": - "integrity" "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= "@protobufjs/inquire@^1.1.0": - "integrity" "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= "@protobufjs/path@^1.1.2": - "integrity" "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= "@protobufjs/pool@^1.1.0": - "integrity" "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= "@protobufjs/utf8@^1.1.0": - "integrity" "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= "@rollup/plugin-alias@3.1.9": - "integrity" "sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz" - "version" "3.1.9" + version "3.1.9" + resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf" + integrity sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw== dependencies: - "slash" "^3.0.0" + slash "^3.0.0" "@rollup/plugin-commonjs@21.1.0": - "integrity" "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz" - "version" "21.1.0" + version "21.1.0" + resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz#45576d7b47609af2db87f55a6d4b46e44fc3a553" + integrity sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA== dependencies: "@rollup/pluginutils" "^3.1.0" - "commondir" "^1.0.1" - "estree-walker" "^2.0.1" - "glob" "^7.1.6" - "is-reference" "^1.2.1" - "magic-string" "^0.25.7" - "resolve" "^1.17.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" "@rollup/plugin-json@4.1.0": - "integrity" "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz" - "version" "4.1.0" + version "4.1.0" + resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== dependencies: "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@13.3.0": - "integrity" "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz" - "version" "13.3.0" + version "13.3.0" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" + integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" - "deepmerge" "^4.2.2" - "is-builtin-module" "^3.1.0" - "is-module" "^1.0.0" - "resolve" "^1.19.0" + deepmerge "^4.2.2" + is-builtin-module "^3.1.0" + is-module "^1.0.0" + resolve "^1.19.0" "@rollup/plugin-strip@2.1.0": - "integrity" "sha512-OKlIlXMFlH4nVxq0beNSIKVw0LkpNUpVjjvfzH5OAOAR5dhLZgLZBzwYX4ifIAs18YDrreMcZH4xnKmW9fI2AQ==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.1.0.tgz#04c2d2ccfb2c6b192bb70447fbf26e336379a333" + integrity sha512-OKlIlXMFlH4nVxq0beNSIKVw0LkpNUpVjjvfzH5OAOAR5dhLZgLZBzwYX4ifIAs18YDrreMcZH4xnKmW9fI2AQ== dependencies: "@rollup/pluginutils" "^3.1.0" - "estree-walker" "^2.0.1" - "magic-string" "^0.25.7" + estree-walker "^2.0.1" + magic-string "^0.25.7" "@rollup/plugin-virtual@2.1.0": - "integrity" "sha512-CPPAtlKT53HFqC8jFHb/V5WErpU8Hrq2TyCR0A7kPQMlF2wNUf0o1xuAc+Qxj8NCZM0Z3Yvl+FbUXfJjVWqDwA==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.1.0.tgz#a77bfd0dff74f0203401c75287ff4d1a1cfbc816" + integrity sha512-CPPAtlKT53HFqC8jFHb/V5WErpU8Hrq2TyCR0A7kPQMlF2wNUf0o1xuAc+Qxj8NCZM0Z3Yvl+FbUXfJjVWqDwA== "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" - "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== dependencies: "@types/estree" "0.0.39" - "estree-walker" "^1.0.1" - "picomatch" "^2.2.2" + estree-walker "^1.0.1" + picomatch "^2.2.2" "@rollup/pluginutils@^4.1.2": - "integrity" "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==" - "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" - "version" "4.2.1" + version "4.2.1" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== dependencies: - "estree-walker" "^2.0.1" - "picomatch" "^2.2.2" + estree-walker "^2.0.1" + picomatch "^2.2.2" "@rushstack/node-core-library@3.36.0": - "integrity" "sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg==" - "resolved" "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.36.0.tgz" - "version" "3.36.0" + version "3.36.0" + resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.36.0.tgz#95dace39d763c8695d6607c421f95c6ac65b0ed4" + integrity sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg== dependencies: "@types/node" "10.17.13" - "colors" "~1.2.1" - "fs-extra" "~7.0.1" - "import-lazy" "~4.0.0" - "jju" "~1.4.0" - "resolve" "~1.17.0" - "semver" "~7.3.0" - "timsort" "~0.3.0" - "z-schema" "~3.18.3" + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.17.0" + semver "~7.3.0" + timsort "~0.3.0" + z-schema "~3.18.3" "@rushstack/node-core-library@3.45.5": - "integrity" "sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg==" - "resolved" "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz" - "version" "3.45.5" + version "3.45.5" + resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz#00f92143cc21c3ad94fcd81ba168a40ac8cb77f2" + integrity sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg== dependencies: "@types/node" "12.20.24" - "colors" "~1.2.1" - "fs-extra" "~7.0.1" - "import-lazy" "~4.0.0" - "jju" "~1.4.0" - "resolve" "~1.17.0" - "semver" "~7.3.0" - "timsort" "~0.3.0" - "z-schema" "~5.0.2" + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.17.0" + semver "~7.3.0" + timsort "~0.3.0" + z-schema "~5.0.2" "@rushstack/rig-package@0.2.9": - "integrity" "sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ==" - "resolved" "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz" - "version" "0.2.9" + version "0.2.9" + resolved "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz#57ef94e7f7703b18e275b603d3f59a1a16580716" + integrity sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ== dependencies: "@types/node" "10.17.13" - "resolve" "~1.17.0" - "strip-json-comments" "~3.1.1" + resolve "~1.17.0" + strip-json-comments "~3.1.1" "@rushstack/ts-command-line@4.13.0": - "integrity" "sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg==" - "resolved" "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz" - "version" "4.13.0" + version "4.13.0" + resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz#a56aa90e5742c25d330cdb0cda1da19225d7bfcf" + integrity sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg== dependencies: "@types/argparse" "1.0.38" - "argparse" "~1.0.9" - "colors" "~1.2.1" - "string-argv" "~0.3.1" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" "@rushstack/ts-command-line@4.7.8": - "integrity" "sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA==" - "resolved" "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz" - "version" "4.7.8" + version "4.7.8" + resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz#3aa77cf544c571be3206fc2bcba20c7a096ed254" + integrity sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA== dependencies: "@types/argparse" "1.0.38" - "argparse" "~1.0.9" - "colors" "~1.2.1" - "string-argv" "~0.3.1" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" "@samverschueren/stream-to-observable@^0.3.0": - "integrity" "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==" - "resolved" "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" - "version" "0.3.1" + version "0.3.1" + resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" + integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== dependencies: - "any-observable" "^0.3.0" + any-observable "^0.3.0" "@sindresorhus/is@^0.14.0": - "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" - "version" "0.14.0" + version "0.14.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@sindresorhus/is@^4.0.0": - "integrity" "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz" - "version" "4.2.0" + version "4.2.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca" + integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw== "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.1": - "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - "version" "1.8.3" + version "1.8.3" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: - "type-detect" "4.0.8" + type-detect "4.0.8" "@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": - "integrity" "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" - "version" "6.0.1" + version "6.0.1" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers@^7.1.0": - "integrity" "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" - "version" "7.1.2" + version "7.1.2" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/samsam@^5.3.1": - "integrity" "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==" - "resolved" "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz" - "version" "5.3.1" + version "5.3.1" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" + integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== dependencies: "@sinonjs/commons" "^1.6.0" - "lodash.get" "^4.4.2" - "type-detect" "^4.0.8" + lodash.get "^4.4.2" + type-detect "^4.0.8" "@sinonjs/text-encoding@^0.7.1": - "integrity" "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" - "version" "0.7.1" + version "0.7.1" + resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" + integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== "@socket.io/base64-arraybuffer@~1.0.2": - "integrity" "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==" - "resolved" "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" + integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== "@szmarczak/http-timer@^1.1.2": - "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: - "defer-to-connect" "^1.0.1" + defer-to-connect "^1.0.1" "@szmarczak/http-timer@^4.0.5": - "integrity" "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" - "version" "4.0.6" + version "4.0.6" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== dependencies: - "defer-to-connect" "^2.0.0" + defer-to-connect "^2.0.0" "@testim/chrome-version@^1.1.2": - "integrity" "sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==" - "resolved" "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.2.tgz#092005c5b77bd3bb6576a4677110a11485e11864" + integrity sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw== "@tootallnate/once@1": - "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@tsconfig/node10@^1.0.7": - "integrity" "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - "resolved" "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" - "version" "1.0.8" + version "1.0.8" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== "@tsconfig/node12@^1.0.7": - "integrity" "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - "resolved" "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" - "version" "1.0.9" + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== "@tsconfig/node14@^1.0.0": - "integrity" "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - "resolved" "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== "@tsconfig/node16@^1.0.2": - "integrity" "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - "resolved" "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== "@types/argparse@1.0.38": - "integrity" "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" - "resolved" "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz" - "version" "1.0.38" + version "1.0.38" + resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== "@types/babel__traverse@^7.0.4": - "integrity" "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==" - "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz" - "version" "7.14.2" + version "7.14.2" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" -"@types/blueimp-md5@^2.18.0": - "integrity" "sha512-f4A+++lGZGJvVSgeyMkqA7BEf2BVQli6F+qEykKb49c5ieWQBkfpn6CP5c1IZr2Yi2Ofl6Fj+v0e1fN18Z8Cnw==" - "resolved" "https://registry.npmjs.org/@types/blueimp-md5/-/blueimp-md5-2.18.0.tgz" - "version" "2.18.0" - "@types/body-parser@*": - "integrity" "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==" - "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz" - "version" "1.19.1" + version "1.19.2" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" "@types/node" "*" "@types/cacheable-request@^6.0.1": - "integrity" "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==" - "resolved" "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz" - "version" "6.0.2" + version "6.0.2" + resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== dependencies: "@types/http-cache-semantics" "*" "@types/keyv" "*" @@ -3075,107 +3249,112 @@ "@types/responselike" "*" "@types/caseless@*": - "integrity" "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" - "resolved" "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz" - "version" "0.12.2" + version "0.12.2" + resolved "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" + integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== "@types/chai-as-promised@7.1.5": - "integrity" "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==" - "resolved" "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz" - "version" "7.1.5" + version "7.1.5" + resolved "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255" + integrity sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ== dependencies: "@types/chai" "*" -"@types/chai@*", "@types/chai@4.3.3": - "integrity" "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" - "resolved" "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz" - "version" "4.3.3" +"@types/chai@*": + version "4.2.22" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz#47020d7e4cf19194d43b5202f35f75bd2ad35ce7" + integrity sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ== + +"@types/chai@4.3.3": + version "4.3.3" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" + integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g== "@types/child-process-promise@2.2.2": - "integrity" "sha512-4eGTIhKW0jb9DlS81Fgo/UyZ12DMhDhz3Ec8tdHW53l4ubteynNIuy7Z1HNnyHn1jTzXa/o9iX0WoAdiSoDs+Q==" - "resolved" "https://registry.npmjs.org/@types/child-process-promise/-/child-process-promise-2.2.2.tgz" - "version" "2.2.2" + version "2.2.2" + resolved "https://registry.npmjs.org/@types/child-process-promise/-/child-process-promise-2.2.2.tgz#ac7d640a6289f7caa6102d92d83a0123a07a4937" + integrity sha512-4eGTIhKW0jb9DlS81Fgo/UyZ12DMhDhz3Ec8tdHW53l4ubteynNIuy7Z1HNnyHn1jTzXa/o9iX0WoAdiSoDs+Q== dependencies: "@types/node" "*" "@types/clone@2.1.1": - "integrity" "sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg==" - "resolved" "https://registry.npmjs.org/@types/clone/-/clone-2.1.1.tgz" - "version" "2.1.1" + version "2.1.1" + resolved "https://registry.npmjs.org/@types/clone/-/clone-2.1.1.tgz#9b880d0ce9b1f209b5e0bd6d9caa38209db34024" + integrity sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg== "@types/component-emitter@^1.2.10": - "integrity" "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - "resolved" "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz" - "version" "1.2.10" + version "1.2.10" + resolved "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea" + integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== "@types/connect@*": - "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" - "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - "version" "3.4.35" + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/cookie@^0.4.1": - "integrity" "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz" - "version" "0.4.1" + version "0.4.1" + resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== "@types/cors@^2.8.12": - "integrity" "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - "resolved" "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz" - "version" "2.8.12" + version "2.8.12" + resolved "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== "@types/duplexify@^3.6.0": - "integrity" "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==" - "resolved" "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz" - "version" "3.6.0" + version "3.6.0" + resolved "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz#dfc82b64bd3a2168f5bd26444af165bf0237dcd8" + integrity sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.0": - "integrity" "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz" - "version" "3.7.1" + version "3.7.1" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" + integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*", "@types/eslint@7.29.0": - "integrity" "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz" - "version" "7.29.0" + version "7.29.0" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.50": - "integrity" "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" - "version" "0.0.50" + version "0.0.50" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/estree@0.0.39": - "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - "version" "0.0.39" + version "0.0.39" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/expect@^1.20.4": - "integrity" "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" - "resolved" "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz" - "version" "1.20.4" + version "1.20.4" + resolved "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5" + integrity sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== "@types/express-serve-static-core@^4.17.18": - "integrity" "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==" - "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz" - "version" "4.17.24" + version "4.17.31" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@4.17.14": - "integrity" "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==" - "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz" - "version" "4.17.14" + version "4.17.14" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -3183,535 +3362,532 @@ "@types/serve-static" "*" "@types/fs-extra@^8.0.1": - "integrity" "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==" - "resolved" "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz" - "version" "8.1.2" + version "8.1.2" + resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz#7125cc2e4bdd9bd2fc83005ffdb1d0ba00cca61f" + integrity sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== dependencies: "@types/node" "*" "@types/glob@^7.1.1": - "integrity" "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz" - "version" "7.1.4" + version "7.1.4" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/graceful-fs@^4.1.2": - "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - "version" "4.1.5" + version "4.1.5" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== dependencies: "@types/node" "*" "@types/http-cache-semantics@*": - "integrity" "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - "resolved" "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/inquirer@8.2.1": - "integrity" "sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==" - "resolved" "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz" - "version" "8.2.1" + version "8.2.1" + resolved "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz#28a139be3105a1175e205537e8ac10830e38dbf4" + integrity sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw== dependencies: "@types/through" "*" - "rxjs" "^7.2.0" + rxjs "^7.2.0" "@types/is-ci@^3.0.0": - "integrity" "sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==" - "resolved" "https://registry.npmjs.org/@types/is-ci/-/is-ci-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" + integrity sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ== dependencies: - "ci-info" "^3.1.0" + ci-info "^3.1.0" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" - "version" "2.0.3" + version "2.0.3" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - "version" "3.0.1" + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/js-yaml@4.0.5": - "integrity" "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" - "resolved" "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz" - "version" "4.0.5" + version "4.0.5" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8": - "integrity" "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" - "version" "7.0.9" + version "7.0.9" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/json-schema@^7.0.7": - "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - "version" "7.0.11" + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json-stable-stringify@1.0.34": - "integrity" "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==" - "resolved" "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz" - "version" "1.0.34" + version "1.0.34" + resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz#c0fb25e4d957e0ee2e497c1f553d7f8bb668fd75" + integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== "@types/json5@^0.0.29": - "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" - "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - "version" "0.0.29" + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/keyv@*": - "integrity" "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==" - "resolved" "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz" - "version" "3.1.3" + version "3.1.3" + resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" + integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== dependencies: "@types/node" "*" -"@types/linkify-it@*": - "integrity" "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==" - "resolved" "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz" - "version" "3.0.2" - "@types/listr@0.14.4": - "integrity" "sha512-+MWvidNujBUgJsi4yMVwEQQwaHe6oHedPSy+dwk3akGEeuIbvhWkK+TGsXSwbFup7Y0cCBb+wzzdD+yGKp7sOg==" - "resolved" "https://registry.npmjs.org/@types/listr/-/listr-0.14.4.tgz" - "version" "0.14.4" + version "0.14.4" + resolved "https://registry.npmjs.org/@types/listr/-/listr-0.14.4.tgz#6ba2a4206615cf80d79d10f9ba9701c303cd57b6" + integrity sha512-+MWvidNujBUgJsi4yMVwEQQwaHe6oHedPSy+dwk3akGEeuIbvhWkK+TGsXSwbFup7Y0cCBb+wzzdD+yGKp7sOg== dependencies: "@types/node" "*" - "rxjs" "^6.5.1" + rxjs "^6.5.1" -"@types/long@^4.0.0", "@types/long@^4.0.1", "@types/long@4.0.2": - "integrity" "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" - "version" "4.0.2" +"@types/long@4.0.2": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@types/markdown-it@*", "@types/markdown-it@^12.2.3": - "integrity" "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==" - "resolved" "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" - "version" "12.2.3" - dependencies: - "@types/linkify-it" "*" - "@types/mdurl" "*" +"@types/long@^4.0.0", "@types/long@^4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" + integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== -"@types/mdurl@*": - "integrity" "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" - "resolved" "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz" - "version" "1.0.2" - -"@types/mime@^1": - "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" - "version" "1.3.2" +"@types/mime@*": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/minimatch@*", "@types/minimatch@^3.0.3": - "integrity" "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" - "version" "3.0.5" + version "3.0.5" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/minimatch@3.0.3": - "integrity" "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" - "version" "3.0.3" + version "3.0.3" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/minimist@^1.2.0": - "integrity" "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" - "resolved" "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" - "version" "1.2.2" + version "1.2.2" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/mocha@9.1.1": - "integrity" "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" - "resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz" - "version" "9.1.1" + version "9.1.1" + resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" + integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== "@types/mz@2.7.4": - "integrity" "sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==" - "resolved" "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz" - "version" "2.7.4" + version "2.7.4" + resolved "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz#f9d1535cb5171199b28ae6abd6ec29e856551401" + integrity sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA== dependencies: "@types/node" "*" "@types/node-fetch@2.6.2": - "integrity" "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==" - "resolved" "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz" - "version" "2.6.2" + version "2.6.2" + resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" + integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== dependencies: "@types/node" "*" - "form-data" "^3.0.0" - -"@types/node@*", "@types/node@^12.7.1", "@types/node@>=10.0.0", "@types/node@12.20.50": - "integrity" "sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz" - "version" "12.20.50" + form-data "^3.0.0" -"@types/node@^14.14.41": - "integrity" "sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz" - "version" "14.17.18" - -"@types/node@>=12.12.47", "@types/node@>=13.7.0": - "integrity" "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz" - "version" "16.9.6" +"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=12.12.47", "@types/node@>=13.7.0": + version "16.9.6" + resolved "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" + integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== "@types/node@10.17.13": - "integrity" "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz" - "version" "10.17.13" + version "10.17.13" + resolved "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" + integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== "@types/node@12.20.24": - "integrity" "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz" - "version" "12.20.24" + version "12.20.24" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" + integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== + +"@types/node@12.20.50": + version "12.20.50" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz#14ba5198f1754ffd0472a2f84ab433b45ee0b65e" + integrity sha512-+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA== + +"@types/node@^12.7.1": + version "12.20.26" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz#a6db0d0577e40844f0b28c2a9289c09e5b44b541" + integrity sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ== + +"@types/node@^14.14.41": + version "14.17.18" + resolved "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz#0198489a751005f71217744aa966cd1f29447c81" + integrity sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA== "@types/normalize-package-data@^2.4.0": - "integrity" "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - "version" "2.4.1" + version "2.4.1" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@2.7.1": + version "2.7.1" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" + integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== -"@types/prettier@^2.1.5", "@types/prettier@2.7.1": - "integrity" "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" - "version" "2.7.1" +"@types/prettier@^2.1.5": + version "2.3.2" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== "@types/q@^0.0.32": - "integrity" "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=" - "resolved" "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz" - "version" "0.0.32" + version "0.0.32" + resolved "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" + integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= "@types/qs@*": - "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - "version" "6.9.7" + version "6.9.7" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": - "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - "version" "1.2.4" + version "1.2.4" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/request@2.48.8": - "integrity" "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==" - "resolved" "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz" - "version" "2.48.8" + version "2.48.8" + resolved "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz#0b90fde3b655ab50976cb8c5ac00faca22f5a82c" + integrity sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ== dependencies: "@types/caseless" "*" "@types/node" "*" "@types/tough-cookie" "*" - "form-data" "^2.5.0" + form-data "^2.5.0" "@types/resolve@1.17.1": - "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" - "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" - "version" "1.17.1" + version "1.17.1" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== dependencies: "@types/node" "*" "@types/resolve@1.20.2": - "integrity" "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" - "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" - "version" "1.20.2" + version "1.20.2" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== "@types/responselike@*", "@types/responselike@^1.0.0": - "integrity" "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==" - "resolved" "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== dependencies: "@types/node" "*" "@types/selenium-webdriver@^3.0.0": - "integrity" "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==" - "resolved" "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz" - "version" "3.0.19" + version "3.0.19" + resolved "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz#28ecede76f15b13553b4e86074d4cf9a0bbe49c4" + integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== "@types/semver@^6.0.0": - "integrity" "sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==" - "resolved" "https://registry.npmjs.org/@types/semver/-/semver-6.2.3.tgz" - "version" "6.2.3" + version "6.2.3" + resolved "https://registry.npmjs.org/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" + integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== "@types/serve-static@*": - "integrity" "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==" - "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" - "version" "1.13.10" + version "1.15.0" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== dependencies: - "@types/mime" "^1" + "@types/mime" "*" "@types/node" "*" "@types/sinon-chai@3.2.8": - "integrity" "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==" - "resolved" "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz" - "version" "3.2.8" + version "3.2.8" + resolved "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz#5871d09ab50d671d8e6dd72e9073f8e738ac61dc" + integrity sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g== dependencies: "@types/chai" "*" "@types/sinon" "*" "@types/sinon@*": - "integrity" "sha512-XUaFuUOQ3A/r6gS1qCU/USMleascaqGeQpGR1AZ5JdRtBPlzijRzKsik1TuGzvdtPA0mdq42JqaJmJ+Afg1LJg==" - "resolved" "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.3.tgz" - "version" "10.0.3" + version "10.0.3" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.3.tgz#2d17cf53f42981e8ebd3e2339dade748b0da742a" + integrity sha512-XUaFuUOQ3A/r6gS1qCU/USMleascaqGeQpGR1AZ5JdRtBPlzijRzKsik1TuGzvdtPA0mdq42JqaJmJ+Afg1LJg== dependencies: "@sinonjs/fake-timers" "^7.1.0" "@types/sinon@9.0.11": - "integrity" "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==" - "resolved" "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz" - "version" "9.0.11" + version "9.0.11" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz#7af202dda5253a847b511c929d8b6dda170562eb" + integrity sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg== dependencies: "@types/sinonjs__fake-timers" "*" "@types/sinonjs__fake-timers@*": - "integrity" "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==" - "resolved" "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz" - "version" "6.0.4" + version "6.0.4" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz#0ecc1b9259b76598ef01942f547904ce61a6a77d" + integrity sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A== "@types/stack-utils@^2.0.0": - "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - "version" "2.0.1" + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/through@*": - "integrity" "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==" - "resolved" "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz" - "version" "0.0.30" + version "0.0.30" + resolved "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895" + integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg== dependencies: "@types/node" "*" "@types/tmp@0.2.3": - "integrity" "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==" - "resolved" "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz" - "version" "0.2.3" + version "0.2.3" + resolved "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz#908bfb113419fd6a42273674c00994d40902c165" + integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== "@types/tough-cookie@*": - "integrity" "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" - "resolved" "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40" + integrity sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== "@types/vinyl@^2.0.4": - "integrity" "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==" - "resolved" "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz" - "version" "2.0.6" + version "2.0.6" + resolved "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz#b2d134603557a7c3d2b5d3dc23863ea2b5eb29b0" + integrity sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g== dependencies: "@types/expect" "^1.20.4" "@types/node" "*" "@types/webpack@5.28.0": - "integrity" "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==" - "resolved" "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz" - "version" "5.28.0" + version "5.28.0" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" + integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== dependencies: "@types/node" "*" - "tapable" "^2.2.0" - "webpack" "^5" + tapable "^2.2.0" + webpack "^5" "@types/yargs-parser@*": - "integrity" "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz" - "version" "20.2.1" + version "20.2.1" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== -"@types/yargs@^16.0.0": - "integrity" "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - "version" "16.0.4" +"@types/yargs@17.0.13": + version "17.0.13" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" -"@types/yargs@17.0.13": - "integrity" "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" - "version" "17.0.13" +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - "integrity" "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==" - "resolved" "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz" - "version" "2.9.2" + version "2.9.2" + resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== dependencies: "@types/node" "*" "@typescript-eslint/eslint-plugin-tslint@4.33.0": - "integrity" "sha512-o3ujMErtZJPgiNRETRJefo1bFNrloocOa5dMU49OW/G+Rq92IbXTY6FSF5MOwrdQK1X+VBEcA8y6PhUPWGlYqA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.33.0.tgz#c0f2a5a8a53a915d6c24983888013b7e78e75b44" + integrity sha512-o3ujMErtZJPgiNRETRJefo1bFNrloocOa5dMU49OW/G+Rq92IbXTY6FSF5MOwrdQK1X+VBEcA8y6PhUPWGlYqA== dependencies: "@typescript-eslint/experimental-utils" "4.33.0" - "lodash" "^4.17.21" + lodash "^4.17.21" -"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@4.33.0": - "integrity" "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" - "version" "4.33.0" +"@typescript-eslint/eslint-plugin@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: "@typescript-eslint/experimental-utils" "4.33.0" "@typescript-eslint/scope-manager" "4.33.0" - "debug" "^4.3.1" - "functional-red-black-tree" "^1.0.1" - "ignore" "^5.1.8" - "regexpp" "^3.1.0" - "semver" "^7.3.5" - "tsutils" "^3.21.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" "@typescript-eslint/experimental-utils@4.33.0": - "integrity" "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: "@types/json-schema" "^7.0.7" "@typescript-eslint/scope-manager" "4.33.0" "@typescript-eslint/types" "4.33.0" "@typescript-eslint/typescript-estree" "4.33.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^3.0.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@4.33.0": - "integrity" "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" - "version" "4.33.0" +"@typescript-eslint/parser@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: "@typescript-eslint/scope-manager" "4.33.0" "@typescript-eslint/types" "4.33.0" "@typescript-eslint/typescript-estree" "4.33.0" - "debug" "^4.3.1" + debug "^4.3.1" "@typescript-eslint/scope-manager@4.33.0": - "integrity" "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" "@typescript-eslint/types@4.33.0": - "integrity" "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/typescript-estree@4.33.0": - "integrity" "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" - "debug" "^4.3.1" - "globby" "^11.0.3" - "is-glob" "^4.0.1" - "semver" "^7.3.5" - "tsutils" "^3.21.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" "@typescript-eslint/visitor-keys@4.33.0": - "integrity" "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" - "version" "4.33.0" + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: "@typescript-eslint/types" "4.33.0" - "eslint-visitor-keys" "^2.0.0" + eslint-visitor-keys "^2.0.0" "@ungap/promise-all-settled@1.1.2": - "integrity" "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - "resolved" "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== "@webassemblyjs/ast@1.11.1": - "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/ast@1.9.0": - "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.11.1": - "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== "@webassemblyjs/floating-point-hex-parser@1.9.0": - "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== "@webassemblyjs/helper-api-error@1.11.1": - "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== "@webassemblyjs/helper-api-error@1.9.0": - "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== "@webassemblyjs/helper-buffer@1.11.1": - "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== "@webassemblyjs/helper-buffer@1.9.0": - "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== "@webassemblyjs/helper-code-frame@1.9.0": - "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": - "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== "@webassemblyjs/helper-module-context@1.9.0": - "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-numbers@1.11.1": - "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== "@webassemblyjs/helper-wasm-bytecode@1.9.0": - "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== "@webassemblyjs/helper-wasm-section@1.11.1": - "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -3719,9 +3895,9 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/helper-wasm-section@1.9.0": - "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -3729,47 +3905,47 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.11.1": - "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/ieee754@1.9.0": - "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/leb128@1.9.0": - "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== "@webassemblyjs/utf8@1.9.0": - "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== "@webassemblyjs/wasm-edit@1.11.1": - "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -3781,9 +3957,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-edit@1.9.0": - "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -3795,9 +3971,9 @@ "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.11.1": - "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -3806,9 +3982,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-gen@1.9.0": - "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" @@ -3817,9 +3993,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.11.1": - "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -3827,9 +4003,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-opt@1.9.0": - "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -3837,9 +4013,9 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.11.1": - "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -3849,9 +4025,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-parser@1.9.0": - "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" @@ -3861,9 +4037,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": - "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" @@ -3873,881 +4049,851 @@ "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.11.1": - "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": - "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== "@yarn-tool/resolve-package@^1.0.40": - "integrity" "sha512-Zaw58gQxjQceJqhqybJi1oUDaORT8i2GTgwICPs8v/X/Pkx35FXQba69ldHVg5pQZ6YLKpROXgyHvBaCJOFXiA==" - "resolved" "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.47.tgz" - "version" "1.0.47" - dependencies: - "pkg-dir" "< 6 >= 5" - "tslib" "^2" - "upath2" "^3.1.13" - -"abab@^2.0.5": - "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" - "version" "2.0.5" - -"abbrev@1": - "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - "version" "1.1.1" - -"abort-controller@^3.0.0": - "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" - "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "event-target-shim" "^5.0.0" - -"accepts@~1.3.4", "accepts@~1.3.5": - "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" - "version" "1.3.7" - dependencies: - "mime-types" "~2.1.24" - "negotiator" "0.6.2" - -"accepts@~1.3.8": - "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - "version" "1.3.8" - dependencies: - "mime-types" "~2.1.34" - "negotiator" "0.6.3" - -"acorn-import-assertions@^1.7.6": - "integrity" "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==" - "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz" - "version" "1.7.6" - -"acorn-jsx@^5.3.1": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-jsx@^5.3.2": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-walk@^8.0.2", "acorn-walk@^8.1.1": - "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - "version" "8.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.4.0": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"acorn@^6.4.1": - "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - "version" "6.4.2" - -"acorn@^8", "acorn@^8.1.0", "acorn@^8.4.1", "acorn@^8.5.0", "acorn@^8.8.0": - "integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" - "version" "8.8.1" - -"add-stream@^1.0.0": - "integrity" "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=" - "resolved" "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" - "version" "1.0.0" - -"adm-zip@^0.4.9", "adm-zip@~0.4.3": - "integrity" "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz" - "version" "0.4.16" - -"adm-zip@0.5.5": - "integrity" "sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w==" - "resolved" "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.5.tgz" - "version" "0.5.5" - -"agent-base@^4.3.0": - "integrity" "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "es6-promisify" "^5.0.0" - -"agent-base@^6.0.0", "agent-base@^6.0.2", "agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"agentkeepalive@^4.1.3": - "integrity" "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==" - "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz" - "version" "4.1.4" - dependencies: - "debug" "^4.1.0" - "depd" "^1.1.2" - "humanize-ms" "^1.2.1" - -"aggregate-error@^3.0.0": - "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" - "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "clean-stack" "^2.0.0" - "indent-string" "^4.0.0" - -"ajv-errors@^1.0.0": - "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" - "version" "1.0.1" - -"ajv-formats@^2.1.0": - "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" - "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ajv" "^8.0.0" - -"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^5.0.0": - "integrity" "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz" - "version" "5.5.2" - dependencies: - "co" "^4.6.0" - "fast-deep-equal" "^1.0.0" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.3.0" - -"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.12.6", "ajv@^6.9.1", "ajv@>=5.0.0": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ajv@^8.0.0", "ajv@^8.3.0": - "integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" - "version" "8.11.0" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"ajv@^8.0.1": - "integrity" "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" - "version" "8.6.3" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"ansi-align@^3.0.0": - "integrity" "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==" - "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "string-width" "^3.0.0" - -"ansi-colors@^1.0.1": - "integrity" "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "ansi-wrap" "^0.1.0" - -"ansi-colors@^3.0.0": - "integrity" "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" - "version" "3.2.4" - -"ansi-colors@^4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-colors@^4.1.3": - "integrity" "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - "version" "4.1.3" - -"ansi-colors@4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-escapes@^3.0.0": - "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - "version" "3.2.0" - -"ansi-escapes@^4.2.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-escapes@^5.0.0": - "integrity" "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "type-fest" "^1.0.2" - -"ansi-gray@^0.1.1": - "integrity" "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=" - "resolved" "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "ansi-wrap" "0.1.0" - -"ansi-regex@^2.0.0": - "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - "version" "2.1.1" - -"ansi-regex@^3.0.0": - "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - "version" "3.0.0" - -"ansi-regex@^4.1.0": - "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - "version" "4.1.0" - -"ansi-regex@^5.0.0": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^2.2.1": - "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - "version" "2.2.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^5.0.0": - "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - "version" "5.2.0" - -"ansi-wrap@^0.1.0", "ansi-wrap@0.1.0": - "integrity" "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" - "resolved" "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" - "version" "0.1.0" - -"ansicolors@~0.3.2": - "integrity" "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" - "resolved" "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" - "version" "0.3.2" - -"any-observable@^0.3.0": - "integrity" "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - "resolved" "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" - "version" "0.3.0" - -"any-promise@^1.0.0": - "integrity" "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - "resolved" "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - "version" "1.3.0" - -"anymatch@^2.0.0": - "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "micromatch" "^3.1.4" - "normalize-path" "^2.1.1" - -"anymatch@^3.0.3", "anymatch@~3.1.2": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"api-documenter-me@0.1.1": - "integrity" "sha512-h6CjdRZUcv6lK3VfnX8CDF+2CfA5DBqg3EfR+HOEZp4AggQfKZ4D5vegvdt5P2n+b95GRounfU5u3TJ2PAIlLQ==" - "resolved" "https://registry.npmjs.org/api-documenter-me/-/api-documenter-me-0.1.1.tgz" - "version" "0.1.1" + version "1.0.47" + resolved "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.47.tgz#8ec25f291a316280a281632331e88926a66fdf19" + integrity sha512-Zaw58gQxjQceJqhqybJi1oUDaORT8i2GTgwICPs8v/X/Pkx35FXQba69ldHVg5pQZ6YLKpROXgyHvBaCJOFXiA== + dependencies: + pkg-dir "< 6 >= 5" + tslib "^2" + upath2 "^3.1.13" + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.7.6" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz#580e3ffcae6770eebeec76c3b9723201e9d01f78" + integrity sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA== + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.1.0, acorn@^8.4.1: + version "8.5.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +acorn@^8.5.0: + version "8.7.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= + +adm-zip@0.5.5: + version "0.5.5" + resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.5.tgz#b6549dbea741e4050309f1bb4d47c47397ce2c4f" + integrity sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w== + +adm-zip@^0.4.9, adm-zip@~0.4.3: + version "0.4.16" + resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" + integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== + +agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +agentkeepalive@^4.1.3: + version "4.1.4" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-formats@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^5.0.0: + version "5.5.2" + resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.3.0: + version "8.11.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.6.3" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + dependencies: + string-width "^3.0.0" + +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-escapes@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" + integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== + dependencies: + type-fest "^1.0.2" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +api-documenter-me@0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/api-documenter-me/-/api-documenter-me-0.1.1.tgz#961abb299c3737b01f2dd7aa10b0caf1c9110538" + integrity sha512-h6CjdRZUcv6lK3VfnX8CDF+2CfA5DBqg3EfR+HOEZp4AggQfKZ4D5vegvdt5P2n+b95GRounfU5u3TJ2PAIlLQ== dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" "@rushstack/ts-command-line" "4.7.8" - "api-extractor-model-me" "0.1.1" - "colors" "~1.2.1" - "js-yaml" "~3.13.1" - "resolve" "~1.17.0" + api-extractor-model-me "0.1.1" + colors "~1.2.1" + js-yaml "~3.13.1" + resolve "~1.17.0" -"api-extractor-me@0.1.2": - "integrity" "sha512-wgZeRMhIG1HRsvfjDRSHoamMPa2OHw+smMJOyU1WMXhsq4MvhVpM4sVFfWwzFmyKoh6tzxi26A6GGL/idGXsnw==" - "resolved" "https://registry.npmjs.org/api-extractor-me/-/api-extractor-me-0.1.2.tgz" - "version" "0.1.2" +api-extractor-me@0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/api-extractor-me/-/api-extractor-me-0.1.2.tgz#ca0771a459c5982676565bae58fc955fbada8bbb" + integrity sha512-wgZeRMhIG1HRsvfjDRSHoamMPa2OHw+smMJOyU1WMXhsq4MvhVpM4sVFfWwzFmyKoh6tzxi26A6GGL/idGXsnw== dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" "@rushstack/rig-package" "0.2.9" "@rushstack/ts-command-line" "4.7.8" - "api-extractor-model-me" "0.1.1" - "colors" "~1.2.1" - "lodash" "~4.17.15" - "resolve" "~1.17.0" - "semver" "~7.3.0" - "source-map" "~0.6.1" - "typescript" "~4.1.3" - -"api-extractor-model-me@0.1.1": - "integrity" "sha512-Ez801ZMADfkseOWNRFquvyQYDm3D9McpxfkKMWL6JFCGcpub0miJ+TFNphIR1nSZbrsxz3kIeOovNMY4VlL6Bw==" - "resolved" "https://registry.npmjs.org/api-extractor-model-me/-/api-extractor-model-me-0.1.1.tgz" - "version" "0.1.1" + api-extractor-model-me "0.1.1" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.17.0" + semver "~7.3.0" + source-map "~0.6.1" + typescript "~4.1.3" + +api-extractor-model-me@0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/api-extractor-model-me/-/api-extractor-model-me-0.1.1.tgz#e656e9d31e50976dd2a8d1d6e351bac4a6149932" + integrity sha512-Ez801ZMADfkseOWNRFquvyQYDm3D9McpxfkKMWL6JFCGcpub0miJ+TFNphIR1nSZbrsxz3kIeOovNMY4VlL6Bw== dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.36.0" -"append-buffer@^1.0.2": - "integrity" "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=" - "resolved" "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "buffer-equal" "^1.0.0" - -"append-transform@^2.0.0": - "integrity" "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==" - "resolved" "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "default-require-extensions" "^3.0.0" - -"aproba@^1.0.3", "aproba@^1.0.3 || ^2.0.0", "aproba@^1.1.1": - "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" - "version" "1.2.0" - -"aproba@^2.0.0": - "integrity" "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" - "version" "2.0.0" - -"archiver-utils@^2.1.0": - "integrity" "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==" - "resolved" "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "glob" "^7.1.4" - "graceful-fs" "^4.2.0" - "lazystream" "^1.0.0" - "lodash.defaults" "^4.2.0" - "lodash.difference" "^4.5.0" - "lodash.flatten" "^4.4.0" - "lodash.isplainobject" "^4.0.6" - "lodash.union" "^4.6.0" - "normalize-path" "^3.0.0" - "readable-stream" "^2.0.0" - -"archiver@^5.0.0": - "integrity" "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==" - "resolved" "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "archiver-utils" "^2.1.0" - "async" "^3.2.0" - "buffer-crc32" "^0.2.1" - "readable-stream" "^3.6.0" - "readdir-glob" "^1.0.0" - "tar-stream" "^2.2.0" - "zip-stream" "^4.1.0" - -"archy@^1.0.0": - "integrity" "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - "version" "1.0.0" - -"are-we-there-yet@^2.0.0": - "integrity" "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^3.6.0" - -"are-we-there-yet@^3.0.0": - "integrity" "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^3.6.0" - -"are-we-there-yet@~1.1.2": - "integrity" "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^2.0.6" - -"arg@^4.1.0": - "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - "version" "4.1.3" - -"argparse@^1.0.7", "argparse@~1.0.9": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"argsarray@^0.0.1": - "integrity" "sha1-bnIHtOzbObCviDA/pa4ivajfYcs=" - "resolved" "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz" - "version" "0.0.1" - -"arr-diff@^4.0.0": - "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - "version" "4.0.0" - -"arr-filter@^1.1.1": - "integrity" "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=" - "resolved" "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "make-iterator" "^1.0.0" - -"arr-flatten@^1.0.1", "arr-flatten@^1.1.0": - "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - "version" "1.1.0" - -"arr-map@^2.0.0", "arr-map@^2.0.2": - "integrity" "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=" - "resolved" "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "make-iterator" "^1.0.0" - -"arr-union@^3.1.0": - "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"array-differ@^3.0.0": - "integrity" "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" - "resolved" "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" - "version" "3.0.0" - -"array-each@^1.0.0", "array-each@^1.0.1": - "integrity" "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" - "resolved" "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz" - "version" "1.0.1" - -"array-find-index@^1.0.2": - "integrity" "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==" - "resolved" "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" - "version" "1.0.2" - -"array-flatten@1.1.1": - "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - "version" "1.1.1" - -"array-flatten@3.0.0": - "integrity" "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz" - "version" "3.0.0" - -"array-ify@^1.0.0": - "integrity" "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" - "resolved" "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" - "version" "1.0.0" - -"array-includes@^3.1.4": - "integrity" "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==" - "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.19.5" - "get-intrinsic" "^1.1.1" - "is-string" "^1.0.7" - -"array-initial@^1.0.0": - "integrity" "sha1-L6dLJnOTccOUe9enrcc74zSz15U=" - "resolved" "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "array-slice" "^1.0.0" - "is-number" "^4.0.0" - -"array-last@^1.1.1": - "integrity" "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==" - "resolved" "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "is-number" "^4.0.0" - -"array-slice@^1.0.0": - "integrity" "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" - "resolved" "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz" - "version" "1.1.0" - -"array-sort@^1.0.0": - "integrity" "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==" - "resolved" "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "default-compare" "^1.0.0" - "get-value" "^2.0.6" - "kind-of" "^5.0.2" - -"array-union@^1.0.1": - "integrity" "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "array-uniq" "^1.0.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array-uniq@^1.0.1": - "integrity" "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - "version" "1.0.3" - -"array-unique@^0.3.2": - "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - "version" "0.3.2" - -"array.prototype.flat@^1.2.3", "array.prototype.flat@^1.2.5": - "integrity" "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==" - "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.2" - "es-shim-unscopables" "^1.0.0" - -"arrify@^1.0.0": - "integrity" "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - "version" "1.0.1" - -"arrify@^1.0.1": - "integrity" "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - "version" "1.0.1" - -"arrify@^2.0.0", "arrify@^2.0.1": - "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" - "version" "2.0.1" - -"as-array@^2.0.0": - "integrity" "sha1-TwSAXYf4/OjlEbwhCPjl46KH1Uc=" - "resolved" "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz" - "version" "2.0.0" - -"asap@^2.0.0": - "integrity" "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - "version" "2.0.6" - -"asn1.js@^5.2.0": - "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" - "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bn.js" "^4.0.0" - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - "safer-buffer" "^2.1.0" - -"asn1@~0.2.3": - "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" - "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" - "version" "0.2.4" - dependencies: - "safer-buffer" "~2.1.0" - -"assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - "version" "1.0.0" - -"assert@^1.1.1": - "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" - "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "object-assign" "^4.1.1" - "util" "0.10.3" - -"assert@^2.0.0": - "integrity" "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==" - "resolved" "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "es6-object-assign" "^1.1.0" - "is-nan" "^1.2.1" - "object-is" "^1.0.1" - "util" "^0.12.0" - -"assertion-error@^1.1.0": - "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - "version" "1.1.0" - -"assign-symbols@^1.0.0": - "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - "version" "1.0.0" - -"ast-types@^0.13.2": - "integrity" "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==" - "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz" - "version" "0.13.4" - dependencies: - "tslib" "^2.0.1" - -"astral-regex@^2.0.0": - "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - "version" "2.0.0" - -"async-done@^1.2.0", "async-done@^1.2.2": - "integrity" "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==" - "resolved" "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.2" - "process-nextick-args" "^2.0.0" - "stream-exhaust" "^1.0.1" - -"async-each@^1.0.1": - "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" - "version" "1.0.3" - -"async-settle@^1.0.0": - "integrity" "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=" - "resolved" "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "async-done" "^1.2.2" - -"async@^2.1.2": - "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" - "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "lodash" "^4.17.14" - -"async@^2.6.2": - "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" - "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "lodash" "^4.17.14" - -"async@^3.0.1", "async@^3.1.0", "async@^3.2.0": - "integrity" "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==" - "resolved" "https://registry.npmjs.org/async/-/async-3.2.1.tgz" - "version" "3.2.1" - -"asynckit@^0.4.0": - "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"available-typed-arrays@^1.0.5": - "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - "version" "1.0.5" - -"aws-sign2@~0.7.0": - "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - "version" "0.7.0" - -"aws4@^1.8.0": - "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" - "version" "1.11.0" - -"axios@^0.24.0": - "integrity" "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz" - "version" "0.24.0" - dependencies: - "follow-redirects" "^1.14.4" - -"babel-code-frame@^6.26.0": - "integrity" "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=" - "resolved" "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz" - "version" "6.26.0" - dependencies: - "chalk" "^1.1.3" - "esutils" "^2.0.2" - "js-tokens" "^3.0.2" - -"babel-generator@^6.18.0": - "integrity" "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==" - "resolved" "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz" - "version" "6.26.1" - dependencies: - "babel-messages" "^6.23.0" - "babel-runtime" "^6.26.0" - "babel-types" "^6.26.0" - "detect-indent" "^4.0.0" - "jsesc" "^1.3.0" - "lodash" "^4.17.4" - "source-map" "^0.5.7" - "trim-right" "^1.0.1" - -"babel-loader@8.2.5": - "integrity" "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz" - "version" "8.2.5" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^2.0.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-messages@^6.23.0": - "integrity" "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=" - "resolved" "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" - "version" "6.23.0" - dependencies: - "babel-runtime" "^6.22.0" - -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "object.assign" "^4.1.0" - -"babel-plugin-istanbul@^6.0.0": - "integrity" "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" - "version" "6.0.0" +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= + dependencies: + buffer-equal "^1.0.0" + +append-transform@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" + integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== + dependencies: + default-require-extensions "^3.0.0" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archiver-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" + integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== + dependencies: + glob "^7.1.4" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash.defaults "^4.2.0" + lodash.difference "^4.5.0" + lodash.flatten "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.union "^4.6.0" + normalize-path "^3.0.0" + readable-stream "^2.0.0" + +archiver@^5.0.0: + version "5.3.0" + resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz#dd3e097624481741df626267564f7dd8640a45ba" + integrity sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg== + dependencies: + archiver-utils "^2.1.0" + async "^3.2.0" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.0.0" + tar-stream "^2.2.0" + zip-stream "^4.1.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +are-we-there-yet@~1.1.2: + version "1.1.7" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7, argparse@~1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +argsarray@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" + integrity sha1-bnIHtOzbObCviDA/pa4ivajfYcs= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-find-index@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" + integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= + +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.5: + version "1.3.0" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.0, arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +as-array@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz#4f04805d87f8fce8e511bc2108f8e5e3a287d547" + integrity sha1-TwSAXYf4/OjlEbwhCPjl46KH1Uc= + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assert@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + dependencies: + es6-object-assign "^1.1.0" + is-nan "^1.2.1" + object-is "^1.0.1" + util "^0.12.0" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + +async@^2.1.2, async@^2.6.2: + version "2.6.3" + resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +async@^3.0.1, async@^3.1.0, async@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" + integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-generator@^6.18.0: + version "6.26.1" + resolved "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-loader@8.2.5: + version "8.2.5" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" + integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-instrument" "^4.0.0" - "test-exclude" "^6.0.0" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" -"babel-plugin-polyfill-corejs2@^0.3.3": - "integrity" "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" - "version" "0.3.3" +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" "@babel/helper-define-polyfill-provider" "^0.3.3" - "semver" "^6.1.1" + semver "^6.1.1" -"babel-plugin-polyfill-corejs3@^0.6.0": - "integrity" "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" - "version" "0.6.0" +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" - "core-js-compat" "^3.25.1" + core-js-compat "^3.25.1" -"babel-plugin-polyfill-regenerator@^0.4.1": - "integrity" "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" - "version" "0.4.1" +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" -"babel-preset-current-node-syntax@^1.0.0": - "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - "version" "1.0.1" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -4762,6159 +4908,5861 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -"babel-runtime@^6.22.0", "babel-runtime@^6.26.0": - "integrity" "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=" - "resolved" "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" - "version" "6.26.0" - dependencies: - "core-js" "^2.4.0" - "regenerator-runtime" "^0.11.0" - -"babel-template@^6.16.0": - "integrity" "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=" - "resolved" "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz" - "version" "6.26.0" - dependencies: - "babel-runtime" "^6.26.0" - "babel-traverse" "^6.26.0" - "babel-types" "^6.26.0" - "babylon" "^6.18.0" - "lodash" "^4.17.4" - -"babel-traverse@^6.18.0", "babel-traverse@^6.26.0": - "integrity" "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=" - "resolved" "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz" - "version" "6.26.0" - dependencies: - "babel-code-frame" "^6.26.0" - "babel-messages" "^6.23.0" - "babel-runtime" "^6.26.0" - "babel-types" "^6.26.0" - "babylon" "^6.18.0" - "debug" "^2.6.8" - "globals" "^9.18.0" - "invariant" "^2.2.2" - "lodash" "^4.17.4" - -"babel-types@^6.18.0", "babel-types@^6.26.0": - "integrity" "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=" - "resolved" "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz" - "version" "6.26.0" - dependencies: - "babel-runtime" "^6.26.0" - "esutils" "^2.0.2" - "lodash" "^4.17.4" - "to-fast-properties" "^1.0.3" - -"babylon@^6.18.0": - "integrity" "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - "resolved" "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz" - "version" "6.18.0" - -"bach@^1.0.0": - "integrity" "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=" - "resolved" "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "arr-filter" "^1.1.1" - "arr-flatten" "^1.0.1" - "arr-map" "^2.0.0" - "array-each" "^1.0.0" - "array-initial" "^1.0.0" - "array-last" "^1.1.1" - "async-done" "^1.2.2" - "async-settle" "^1.0.0" - "now-and-later" "^2.0.0" - -"backbone@^1.4.0": - "integrity" "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==" - "resolved" "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "underscore" ">=1.8.3" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base@^0.11.1": - "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "cache-base" "^1.0.1" - "class-utils" "^0.3.5" - "component-emitter" "^1.2.1" - "define-property" "^1.0.0" - "isobject" "^3.0.1" - "mixin-deep" "^1.2.0" - "pascalcase" "^0.1.1" - -"base64-arraybuffer-es6@^0.7.0": - "integrity" "sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==" - "resolved" "https://registry.npmjs.org/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz" - "version" "0.7.0" - -"base64-js@^1.0.2", "base64-js@^1.3.0", "base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"base64id@~2.0.0", "base64id@2.0.0": - "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz" - "version" "2.0.0" - -"basic-auth-connect@^1.0.0": - "integrity" "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" - "resolved" "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz" - "version" "1.0.0" - -"basic-auth@^2.0.1", "basic-auth@~2.0.1": - "integrity" "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==" - "resolved" "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "safe-buffer" "5.1.2" - -"bcrypt-pbkdf@^1.0.0": - "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" - "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "tweetnacl" "^0.14.3" - -"before-after-hook@^2.2.0": - "integrity" "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" - "resolved" "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" - "version" "2.2.2" - -"better-path-resolve@1.0.0": - "integrity" "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==" - "resolved" "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-windows" "^1.0.0" - -"big-integer@^1.6.17": - "integrity" "sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw==" - "resolved" "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz" - "version" "1.6.49" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"bignumber.js@^9.0.0": - "integrity" "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" - "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz" - "version" "9.0.1" - -"binary-extensions@^1.0.0": - "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" - "version" "1.13.1" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"binary@~0.3.0": - "integrity" "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=" - "resolved" "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "buffers" "~0.1.1" - "chainsaw" "~0.1.0" - -"binaryextensions@^2.2.0": - "integrity" "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==" - "resolved" "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz" - "version" "2.3.0" - -"bindings@^1.5.0": - "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" - "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "file-uri-to-path" "1.0.0" - -"bl@^4.0.3", "bl@^4.1.0": - "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "buffer" "^5.5.0" - "inherits" "^2.0.4" - "readable-stream" "^3.4.0" - -"blocking-proxy@^1.0.0": - "integrity" "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==" - "resolved" "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"bluebird@^3.5.5", "bluebird@^3.7.2", "bluebird@3.7.2": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"bluebird@~3.4.1": - "integrity" "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz" - "version" "3.4.7" - -"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.0.0": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" - -"bn.js@^5.1.1": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" - -"body-parser@^1.18.3", "body-parser@^1.19.0": - "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" - "version" "1.19.0" - dependencies: - "bytes" "3.1.0" - "content-type" "~1.0.4" - "debug" "2.6.9" - "depd" "~1.1.2" - "http-errors" "1.7.2" - "iconv-lite" "0.4.24" - "on-finished" "~2.3.0" - "qs" "6.7.0" - "raw-body" "2.4.0" - "type-is" "~1.6.17" - -"body-parser@1.20.0": - "integrity" "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "bytes" "3.1.2" - "content-type" "~1.0.4" - "debug" "2.6.9" - "depd" "2.0.0" - "destroy" "1.2.0" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "on-finished" "2.4.1" - "qs" "6.10.3" - "raw-body" "2.5.1" - "type-is" "~1.6.18" - "unpipe" "1.0.0" - -"boxen@^4.2.0": - "integrity" "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==" - "resolved" "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "ansi-align" "^3.0.0" - "camelcase" "^5.3.1" - "chalk" "^3.0.0" - "cli-boxes" "^2.2.0" - "string-width" "^4.1.0" - "term-size" "^2.1.0" - "type-fest" "^0.8.1" - "widest-line" "^3.1.0" - -"boxen@^5.0.0": - "integrity" "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==" - "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "ansi-align" "^3.0.0" - "camelcase" "^6.2.0" - "chalk" "^4.1.0" - "cli-boxes" "^2.2.1" - "string-width" "^4.2.2" - "type-fest" "^0.20.2" - "widest-line" "^3.1.0" - "wrap-ansi" "^7.0.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"braces@^2.3.1", "braces@^2.3.2": - "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" - "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "arr-flatten" "^1.1.0" - "array-unique" "^0.3.2" - "extend-shallow" "^2.0.1" - "fill-range" "^4.0.0" - "isobject" "^3.0.1" - "repeat-element" "^1.1.2" - "snapdragon" "^0.8.1" - "snapdragon-node" "^2.0.1" - "split-string" "^3.0.2" - "to-regex" "^3.0.1" - -"braces@^3.0.1", "braces@^3.0.2", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"breakword@^1.0.5": - "integrity" "sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==" - "resolved" "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "wcwidth" "^1.0.1" - -"brorand@^1.0.1", "brorand@^1.1.0": - "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browser-resolve@^2.0.0": - "integrity" "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==" - "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "resolve" "^1.17.0" - -"browser-stdout@1.3.1": - "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - "version" "1.3.1" - -"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": - "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" - "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-xor" "^1.0.3" - "cipher-base" "^1.0.0" - "create-hash" "^1.1.0" - "evp_bytestokey" "^1.0.3" - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"browserify-cipher@^1.0.0": - "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" - "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "browserify-aes" "^1.0.4" - "browserify-des" "^1.0.0" - "evp_bytestokey" "^1.0.0" - -"browserify-des@^1.0.0": - "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" - "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "cipher-base" "^1.0.1" - "des.js" "^1.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": - "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" - "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "bn.js" "^5.0.0" - "randombytes" "^2.0.1" - -"browserify-sign@^4.0.0": - "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" - "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "bn.js" "^5.1.1" - "browserify-rsa" "^4.0.1" - "create-hash" "^1.2.0" - "create-hmac" "^1.1.7" - "elliptic" "^6.5.3" - "inherits" "^2.0.4" - "parse-asn1" "^5.1.5" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"browserify-zlib@^0.2.0": - "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" - "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "pako" "~1.0.5" - -"browserslist@^4.14.5", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4.21.0": - "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - "version" "4.21.4" - dependencies: - "caniuse-lite" "^1.0.30001400" - "electron-to-chromium" "^1.4.251" - "node-releases" "^2.0.6" - "update-browserslist-db" "^1.0.9" - -"browserstack@^1.5.1": - "integrity" "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==" - "resolved" "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz" - "version" "1.6.1" - dependencies: - "https-proxy-agent" "^2.2.1" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-crc32@^0.2.1", "buffer-crc32@^0.2.13", "buffer-crc32@~0.2.3": - "integrity" "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - "version" "0.2.13" - -"buffer-equal-constant-time@1.0.1": - "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - "version" "1.0.1" - -"buffer-equal@^1.0.0": - "integrity" "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" - "resolved" "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" - "version" "1.0.0" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"buffer-indexof-polyfill@~1.0.0": - "integrity" "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" - "resolved" "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz" - "version" "1.0.2" - -"buffer-xor@^1.0.3": - "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - "version" "1.0.3" - -"buffer@^4.3.0": - "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - "version" "4.9.2" - dependencies: - "base64-js" "^1.0.2" - "ieee754" "^1.1.4" - "isarray" "^1.0.0" - -"buffer@^5.4.3", "buffer@^5.5.0": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"buffers@~0.1.1": - "integrity" "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" - "resolved" "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" - "version" "0.1.1" - -"builtin-modules@^1.1.1": - "integrity" "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" - "version" "1.1.1" - -"builtin-modules@^3.0.0": - "integrity" "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" - "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" - "version" "3.2.0" - -"builtin-status-codes@^3.0.0": - "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - "version" "3.0.0" - -"builtins@^1.0.3": - "integrity" "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - "resolved" "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" - "version" "1.0.3" - -"byline@^5.0.0": - "integrity" "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" - "resolved" "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" - "version" "5.0.0" - -"byte-size@^7.0.0": - "integrity" "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==" - "resolved" "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz" - "version" "7.0.1" - -"bytes@3.0.0": - "integrity" "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.1.0": - "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" - "version" "3.1.0" - -"bytes@3.1.2": - "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - "version" "3.1.2" - -"cacache@^12.0.2": - "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" - "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" - "version" "12.0.4" - dependencies: - "bluebird" "^3.5.5" - "chownr" "^1.1.1" - "figgy-pudding" "^3.5.1" - "glob" "^7.1.4" - "graceful-fs" "^4.1.15" - "infer-owner" "^1.0.3" - "lru-cache" "^5.1.1" - "mississippi" "^3.0.0" - "mkdirp" "^0.5.1" - "move-concurrently" "^1.0.1" - "promise-inflight" "^1.0.1" - "rimraf" "^2.6.3" - "ssri" "^6.0.1" - "unique-filename" "^1.1.1" - "y18n" "^4.0.0" - -"cacache@^15.0.5", "cacache@^15.2.0": - "integrity" "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==" - "resolved" "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" - "version" "15.3.0" +babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.18.0, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.18.0, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + +backbone@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz#54db4de9df7c3811c3f032f34749a4cd27f3bd12" + integrity sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ== + dependencies: + underscore ">=1.8.3" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-arraybuffer-es6@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz#dbe1e6c87b1bf1ca2875904461a7de40f21abc86" + integrity sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw== + +base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64id@2.0.0, base64id@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +basic-auth-connect@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" + integrity sha1-/bC0OWLKe0BFanwrtI/hc9otISI= + +basic-auth@^2.0.1, basic-auth@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +before-after-hook@^2.2.0: + version "2.2.2" + resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== + +better-path-resolve@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" + integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== + dependencies: + is-windows "^1.0.0" + +big-integer@^1.6.17: + version "1.6.49" + resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz#f6817d3ea5d4f3fb19e24df9f4b1b4471a8328ce" + integrity sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bignumber.js@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" + integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + +binaryextensions@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.0.3, bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +block-stream@*: + version "0.0.9" + resolved "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +blocking-proxy@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" + integrity sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA== + dependencies: + minimist "^1.2.0" + +bluebird@3.7.2, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.19.0, body-parser@^1.18.3, body-parser@^1.19.0: + version "1.19.0" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" + +boxen@^5.0.0: + version "5.1.2" + resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +breakword@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz#fd420a417f55016736b5b615161cae1c8f819810" + integrity sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg== + dependencies: + wcwidth "^1.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-resolve@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" + integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== + dependencies: + resolve "^1.17.0" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.14.5, browserslist@^4.16.6: + version "4.17.1" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" + integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== + dependencies: + caniuse-lite "^1.0.30001259" + electron-to-chromium "^1.3.846" + escalade "^3.1.1" + nanocolors "^0.1.5" + node-releases "^1.1.76" + +browserslist@^4.20.2: + version "4.20.3" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + +browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +browserstack@^1.5.1: + version "1.6.1" + resolved "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" + integrity sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw== + dependencies: + https-proxy-agent "^2.2.1" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.4.3, buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +builtin-modules@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + +byline@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + +byte-size@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" + integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^15.0.5, cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "glob" "^7.1.4" - "infer-owner" "^1.0.4" - "lru-cache" "^6.0.0" - "minipass" "^3.1.1" - "minipass-collect" "^1.0.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.2" - "mkdirp" "^1.0.3" - "p-map" "^4.0.0" - "promise-inflight" "^1.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.0.2" - "unique-filename" "^1.1.1" - -"cache-base@^1.0.1": - "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "collection-visit" "^1.0.0" - "component-emitter" "^1.2.1" - "get-value" "^2.0.6" - "has-value" "^1.0.0" - "isobject" "^3.0.1" - "set-value" "^2.0.0" - "to-object-path" "^0.3.0" - "union-value" "^1.0.0" - "unset-value" "^1.0.0" - -"cacheable-lookup@^5.0.3": - "integrity" "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - "resolved" "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" - "version" "5.0.4" - -"cacheable-request@^6.0.0": - "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^3.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^4.1.0" - "responselike" "^1.0.2" - -"cacheable-request@^7.0.1": - "integrity" "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz" - "version" "7.0.2" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^4.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^6.0.1" - "responselike" "^2.0.0" - -"caching-transform@^4.0.0": - "integrity" "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==" - "resolved" "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "hasha" "^5.0.0" - "make-dir" "^3.0.0" - "package-hash" "^4.0.0" - "write-file-atomic" "^3.0.0" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"call-me-maybe@^1.0.1": - "integrity" "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - "resolved" "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" - "version" "1.0.1" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase-keys@^6.2.2": - "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" - "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - "version" "6.2.2" - dependencies: - "camelcase" "^5.3.1" - "map-obj" "^4.0.0" - "quick-lru" "^4.0.1" - -"camelcase@^3.0.0": - "integrity" "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" - "version" "3.0.0" - -"camelcase@^5.0.0", "camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0": - "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - "version" "6.2.0" - -"camelcase@^6.2.0": - "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - "version" "6.2.0" - -"caniuse-lite@^1.0.30001400": - "integrity" "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz" - "version" "1.0.30001431" - -"cardinal@^2.1.1": - "integrity" "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=" - "resolved" "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansicolors" "~0.3.2" - "redeyed" "~2.1.0" - -"caseless@~0.12.0": - "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - "version" "0.12.0" - -"catharsis@^0.9.0": - "integrity" "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==" - "resolved" "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz" - "version" "0.9.0" - dependencies: - "lodash" "^4.17.15" - -"chai-as-promised@7.1.1": - "integrity" "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==" - "resolved" "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "check-error" "^1.0.2" - -"chai-exclude@2.1.0": - "integrity" "sha512-IBnm50Mvl3O1YhPpTgbU8MK0Gw7NHcb18WT2TxGdPKOMtdtZVKLHmQwdvOF7mTlHVQStbXuZKFwkevFtbHjpVg==" - "resolved" "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "fclone" "^1.0.11" - -"chai@^4.0.0", "chai@^4.3.4", "chai@>= 2.1.2 < 5", "chai@>= 4.0.0 < 5", "chai@4.3.6": - "integrity" "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==" - "resolved" "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz" - "version" "4.3.6" - dependencies: - "assertion-error" "^1.1.0" - "check-error" "^1.0.2" - "deep-eql" "^3.0.1" - "get-func-name" "^2.0.0" - "loupe" "^2.3.1" - "pathval" "^1.1.1" - "type-detect" "^4.0.5" - -"chainsaw@~0.1.0": - "integrity" "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=" - "resolved" "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "traverse" ">=0.3.0 <0.4" - -"chalk@^1.0.0", "chalk@^1.1.3": - "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "ansi-styles" "^2.2.1" - "escape-string-regexp" "^1.0.2" - "has-ansi" "^2.0.0" - "strip-ansi" "^3.0.0" - "supports-color" "^2.0.0" - -"chalk@^1.1.1": - "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "ansi-styles" "^2.2.1" - "escape-string-regexp" "^1.0.2" - "has-ansi" "^2.0.0" - "strip-ansi" "^3.0.0" - "supports-color" "^2.0.0" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.0.1", "chalk@^2.1.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.3.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.1": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^3.0.0": - "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.0.0", "chalk@^4.1.0", "chalk@^4.1.1", "chalk@^4.1.2", "chalk@4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^5.0.0": - "integrity" "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" - "version" "5.0.1" - -"chalk@2.x": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chardet@^0.7.0": - "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - "version" "0.7.0" - -"check-error@^1.0.2": - "integrity" "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" - "resolved" "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - "version" "1.0.2" - -"child-process-promise@2.2.1": - "integrity" "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=" - "resolved" "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "cross-spawn" "^4.0.2" - "node-version" "^1.0.0" - "promise-polyfill" "^6.0.1" - -"chokidar@^2.0.0": - "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - "version" "2.1.8" - dependencies: - "anymatch" "^2.0.0" - "async-each" "^1.0.1" - "braces" "^2.3.2" - "glob-parent" "^3.1.0" - "inherits" "^2.0.3" - "is-binary-path" "^1.0.0" - "is-glob" "^4.0.0" - "normalize-path" "^3.0.0" - "path-is-absolute" "^1.0.0" - "readdirp" "^2.2.1" - "upath" "^1.1.1" - optionalDependencies: - "fsevents" "^1.2.7" - -"chokidar@^2.1.8": - "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - "version" "2.1.8" - dependencies: - "anymatch" "^2.0.0" - "async-each" "^1.0.1" - "braces" "^2.3.2" - "glob-parent" "^3.1.0" - "inherits" "^2.0.3" - "is-binary-path" "^1.0.0" - "is-glob" "^4.0.0" - "normalize-path" "^3.0.0" - "path-is-absolute" "^1.0.0" - "readdirp" "^2.2.1" - "upath" "^1.1.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +cacheable-request@^7.0.1: + version "7.0.2" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +caching-transform@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" + integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== + dependencies: + hasha "^5.0.0" + make-dir "^3.0.0" + package-hash "^4.0.0" + write-file-atomic "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001259, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001400: + version "1.0.30001429" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz" + integrity sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chai-as-promised@7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" + integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== + dependencies: + check-error "^1.0.2" + +chai-exclude@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/chai-exclude/-/chai-exclude-2.1.0.tgz#653d1218144eafb49b563684ad90b76d12bbc3f9" + integrity sha512-IBnm50Mvl3O1YhPpTgbU8MK0Gw7NHcb18WT2TxGdPKOMtdtZVKLHmQwdvOF7mTlHVQStbXuZKFwkevFtbHjpVg== + dependencies: + fclone "^1.0.11" + +chai@4.3.6: + version "4.3.6" + resolved "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" + integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + dependencies: + traverse ">=0.3.0 <0.4" + +chalk@2.x, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" + integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +child-process-promise@2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz#4730a11ef610fad450b8f223c79d31d7bdad8074" + integrity sha1-RzChHvYQ+tRQuPIjx50x172tgHQ= + dependencies: + cross-spawn "^4.0.2" + node-version "^1.0.0" + promise-polyfill "^6.0.1" + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - "fsevents" "^1.2.7" - -"chokidar@^3.0.2", "chokidar@^3.4.1", "chokidar@^3.5.1": - "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" - "version" "3.5.2" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" + fsevents "~2.3.2" + +chokidar@^2.0.0, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" optionalDependencies: - "fsevents" "~2.3.2" - -"chokidar@3.5.3": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" + fsevents "^1.2.7" + +chokidar@^3.0.2, chokidar@^3.4.1, chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - "fsevents" "~2.3.2" - -"chownr@^1.1.1": - "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - "version" "1.1.4" + fsevents "~2.3.2" -"chownr@^1.1.4": - "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - "version" "1.1.4" +chownr@^1.1.1, chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== -"chownr@^2.0.0": - "integrity" "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - "version" "2.0.0" +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -"chromedriver@98.0.1": - "integrity" "sha512-/04KkHHE/K/lfwdPTQr5fxi1dWvM83p8T/IkYbyGK2PBlH7K49Dd71A9jrS+aWgXlZYkuHhbwiy2PA2QqZ5qQw==" - "resolved" "https://registry.npmjs.org/chromedriver/-/chromedriver-98.0.1.tgz" - "version" "98.0.1" +chromedriver@98.0.1: + version "98.0.1" + resolved "https://registry.npmjs.org/chromedriver/-/chromedriver-98.0.1.tgz#ccb1e36a003b4c6af0b184caa00fca8370d88f2a" + integrity sha512-/04KkHHE/K/lfwdPTQr5fxi1dWvM83p8T/IkYbyGK2PBlH7K49Dd71A9jrS+aWgXlZYkuHhbwiy2PA2QqZ5qQw== dependencies: "@testim/chrome-version" "^1.1.2" - "axios" "^0.24.0" - "del" "^6.0.0" - "extract-zip" "^2.0.1" - "https-proxy-agent" "^5.0.0" - "proxy-from-env" "^1.1.0" - "tcp-port-used" "^1.0.1" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-info@^3.1.0", "ci-info@^3.1.1", "ci-info@^3.2.0": - "integrity" "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz" - "version" "3.3.0" - -"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": - "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" - "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"cjson@^0.3.1": - "integrity" "sha1-qS2ceG5b+bkwgGMp7gXV0yYbSvo=" - "resolved" "https://registry.npmjs.org/cjson/-/cjson-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "json-parse-helpfulerror" "^1.0.3" - -"class-utils@^0.3.5": - "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "arr-union" "^3.1.0" - "define-property" "^0.2.5" - "isobject" "^3.0.0" - "static-extend" "^0.1.1" - -"clean-stack@^2.0.0": - "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - "version" "2.2.0" - -"cli-boxes@^2.2.0", "cli-boxes@^2.2.1": - "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" - "version" "2.2.1" - -"cli-color@^2.0.2": - "integrity" "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==" - "resolved" "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "d" "^1.0.1" - "es5-ext" "^0.10.61" - "es6-iterator" "^2.0.3" - "memoizee" "^0.4.15" - "timers-ext" "^0.1.7" - -"cli-cursor@^2.0.0": - "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "restore-cursor" "^2.0.0" - -"cli-cursor@^2.1.0": - "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "restore-cursor" "^2.0.0" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-spinners@^2.5.0": - "integrity" "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" - "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" - "version" "2.6.0" - -"cli-table@0.3.11": - "integrity" "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==" - "resolved" "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz" - "version" "0.3.11" - dependencies: - "colors" "1.0.3" - -"cli-table3@^0.6.1": - "integrity" "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==" - "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "string-width" "^4.2.0" + axios "^0.24.0" + del "^6.0.0" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + proxy-from-env "^1.1.0" + tcp-port-used "^1.0.1" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.1.0, ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +ci-info@^3.1.1: + version "3.2.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cjson@^0.3.1: + version "0.3.3" + resolved "https://registry.npmjs.org/cjson/-/cjson-0.3.3.tgz#a92d9c786e5bf9b930806329ee05d5d3261b4afa" + integrity sha1-qS2ceG5b+bkwgGMp7gXV0yYbSvo= + dependencies: + json-parse-helpfulerror "^1.0.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.0, cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-color@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" + integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.61" + es6-iterator "^2.0.3" + memoizee "^0.4.15" + timers-ext "^0.1.7" + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.6.0" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" + integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== + +cli-table3@^0.6.1: + version "0.6.2" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" + integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + dependencies: + string-width "^4.2.0" optionalDependencies: "@colors/colors" "1.5.0" -"cli-truncate@^0.2.1": - "integrity" "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=" - "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "slice-ansi" "0.0.4" - "string-width" "^1.0.1" - -"cli-width@^3.0.0": - "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - "version" "3.0.0" - -"cliui@^3.2.0": - "integrity" "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wrap-ansi" "^2.0.0" - -"cliui@^6.0.0": - "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^6.2.0" - -"cliui@^7.0.2", "cliui@^8.0.1": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"clone-buffer@^1.0.0": - "integrity" "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" - "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" - "version" "1.0.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone-response@^1.0.2": - "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=" - "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "mimic-response" "^1.0.0" - -"clone-stats@^1.0.0": - "integrity" "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" - "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" - "version" "1.0.0" - -"clone@^1.0.2": - "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - "version" "1.0.4" - -"clone@^2.1.1", "clone@2.1.2": - "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - "version" "2.1.2" - -"cloneable-readable@^1.0.0": - "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" - "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "inherits" "^2.0.1" - "process-nextick-args" "^2.0.0" - "readable-stream" "^2.3.5" - -"cmd-shim@^4.1.0": - "integrity" "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==" - "resolved" "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "mkdirp-infer-owner" "^2.0.0" - -"co@^4.6.0": - "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"code-point-at@^1.0.0": - "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - "version" "1.1.0" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"collection-map@^1.0.0": - "integrity" "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=" - "resolved" "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "arr-map" "^2.0.2" - "for-own" "^1.0.0" - "make-iterator" "^1.0.0" - -"collection-visit@^1.0.0": - "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" - "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "map-visit" "^1.0.0" - "object-visit" "^1.0.0" - -"color-convert@^1.9.0", "color-convert@^1.9.1": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@^1.0.0", "color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"color-string@^1.5.2": - "integrity" "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==" - "resolved" "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz" - "version" "1.6.0" - dependencies: - "color-name" "^1.0.0" - "simple-swizzle" "^0.2.2" - -"color-support@^1.1.2", "color-support@^1.1.3": - "integrity" "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - "resolved" "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" - "version" "1.1.3" - -"color@3.0.x": - "integrity" "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==" - "resolved" "https://registry.npmjs.org/color/-/color-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "color-convert" "^1.9.1" - "color-string" "^1.5.2" - -"colorette@^1.1.0": - "integrity" "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" - "version" "1.4.0" - -"colors@^1.2.1": - "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - "version" "1.4.0" - -"colors@~1.2.1": - "integrity" "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz" - "version" "1.2.5" - -"colors@~1.4.0": - "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - "version" "1.4.0" - -"colors@1.0.3": - "integrity" "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - "version" "1.0.3" - -"colors@1.4.0": - "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - "version" "1.4.0" - -"colorspace@1.1.x": - "integrity" "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==" - "resolved" "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "color" "3.0.x" - "text-hex" "1.0.x" - -"columnify@^1.5.4": - "integrity" "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=" - "resolved" "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" - "version" "1.5.4" - dependencies: - "strip-ansi" "^3.0.0" - "wcwidth" "^1.0.0" - -"combine-source-map@^0.8.0": - "integrity" "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=" - "resolved" "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz" - "version" "0.8.0" - dependencies: - "convert-source-map" "~1.1.0" - "inline-source-map" "~0.6.0" - "lodash.memoize" "~3.0.3" - "source-map" "~0.5.3" - -"combined-stream@^1.0.6", "combined-stream@^1.0.8", "combined-stream@~1.0.6": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"commander@^2.12.1", "commander@^2.20.0", "commander@^2.20.3", "commander@^2.7.1": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^4.0.1": - "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - "version" "4.1.1" - -"commander@^9.2.0": - "integrity" "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz" - "version" "9.4.0" - -"commenting@~1.1.0": - "integrity" "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==" - "resolved" "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz" - "version" "1.1.0" - -"commondir@^1.0.1": - "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"compare-func@^2.0.0": - "integrity" "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==" - "resolved" "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "array-ify" "^1.0.0" - "dot-prop" "^5.1.0" - -"compare-semver@^1.0.0": - "integrity" "sha1-fAp5onu4C2xplERfgpWCWdPQIVM=" - "resolved" "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "semver" "^5.0.1" - -"component-emitter@^1.2.1", "component-emitter@~1.3.0": - "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - "version" "1.3.0" - -"compress-commons@^4.1.0": - "integrity" "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==" - "resolved" "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "buffer-crc32" "^0.2.13" - "crc32-stream" "^4.0.2" - "normalize-path" "^3.0.0" - "readable-stream" "^3.6.0" - -"compressible@~2.0.16": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"compression@^1.7.0": - "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" - "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - "version" "1.7.4" - dependencies: - "accepts" "~1.3.5" - "bytes" "3.0.0" - "compressible" "~2.0.16" - "debug" "2.6.9" - "on-headers" "~1.0.2" - "safe-buffer" "5.1.2" - "vary" "~1.1.2" - -"concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"concat-stream@^1.5.0", "concat-stream@^1.6.0": - "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^2.2.2" - "typedarray" "^0.0.6" - -"concat-stream@^2.0.0": - "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^3.0.2" - "typedarray" "^0.0.6" - -"config-chain@^1.1.12": - "integrity" "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==" - "resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" - "version" "1.1.13" - dependencies: - "ini" "^1.3.4" - "proto-list" "~1.2.1" - -"configstore@^5.0.1": - "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" - "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "dot-prop" "^5.2.0" - "graceful-fs" "^4.1.2" - "make-dir" "^3.0.0" - "unique-string" "^2.0.0" - "write-file-atomic" "^3.0.0" - "xdg-basedir" "^4.0.0" - -"connect@^3.6.2", "connect@^3.7.0": - "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==" - "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" - "version" "3.7.0" - dependencies: - "debug" "2.6.9" - "finalhandler" "1.1.2" - "parseurl" "~1.3.3" - "utils-merge" "1.0.1" - -"console-browserify@^1.1.0", "console-browserify@^1.2.0": - "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" - "version" "1.2.0" - -"console-control-strings@^1.0.0", "console-control-strings@^1.1.0", "console-control-strings@~1.1.0": - "integrity" "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - "version" "1.1.0" - -"constants-browserify@^1.0.0": - "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" - "version" "1.0.0" - -"content-disposition@0.5.4": - "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - "version" "0.5.4" - dependencies: - "safe-buffer" "5.2.1" - -"content-type@^1.0.4", "content-type@~1.0.4": - "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - "version" "1.0.4" - -"conventional-changelog-angular@^5.0.12": - "integrity" "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==" - "resolved" "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" - "version" "5.0.13" - dependencies: - "compare-func" "^2.0.0" - "q" "^1.5.1" - -"conventional-changelog-core@^4.2.2": - "integrity" "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==" - "resolved" "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" - "version" "4.2.4" - dependencies: - "add-stream" "^1.0.0" - "conventional-changelog-writer" "^5.0.0" - "conventional-commits-parser" "^3.2.0" - "dateformat" "^3.0.0" - "get-pkg-repo" "^4.0.0" - "git-raw-commits" "^2.0.8" - "git-remote-origin-url" "^2.0.0" - "git-semver-tags" "^4.1.1" - "lodash" "^4.17.15" - "normalize-package-data" "^3.0.0" - "q" "^1.5.1" - "read-pkg" "^3.0.0" - "read-pkg-up" "^3.0.0" - "through2" "^4.0.0" - -"conventional-changelog-preset-loader@^2.3.4": - "integrity" "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==" - "resolved" "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" - "version" "2.3.4" - -"conventional-changelog-writer@^5.0.0": - "integrity" "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==" - "resolved" "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "conventional-commits-filter" "^2.0.7" - "dateformat" "^3.0.0" - "handlebars" "^4.7.6" - "json-stringify-safe" "^5.0.1" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "semver" "^6.0.0" - "split" "^1.0.0" - "through2" "^4.0.0" - -"conventional-commits-filter@^2.0.7": - "integrity" "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==" - "resolved" "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "lodash.ismatch" "^4.4.0" - "modify-values" "^1.0.0" - -"conventional-commits-parser@^3.2.0": - "integrity" "sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g==" - "resolved" "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-text-path" "^1.0.1" - "JSONStream" "^1.0.4" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "split2" "^3.0.0" - "through2" "^4.0.0" - -"conventional-recommended-bump@^6.1.0": - "integrity" "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==" - "resolved" "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "concat-stream" "^2.0.0" - "conventional-changelog-preset-loader" "^2.3.4" - "conventional-commits-filter" "^2.0.7" - "conventional-commits-parser" "^3.2.0" - "git-raw-commits" "^2.0.8" - "git-semver-tags" "^4.1.1" - "meow" "^8.0.0" - "q" "^1.5.1" - -"convert-source-map@^1.0.0", "convert-source-map@^1.4.0", "convert-source-map@^1.5.0", "convert-source-map@^1.7.0": - "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "safe-buffer" "~5.1.1" - -"convert-source-map@~1.1.0": - "integrity" "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz" - "version" "1.1.3" - -"cookie-signature@1.0.6": - "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - "version" "1.0.6" - -"cookie@~0.4.1": - "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" - "version" "0.4.1" - -"cookie@0.5.0": - "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - "version" "0.5.0" - -"copy-concurrently@^1.0.0": - "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" - "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "aproba" "^1.1.1" - "fs-write-stream-atomic" "^1.0.8" - "iferr" "^0.1.5" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.0" - -"copy-descriptor@^0.1.0": - "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - "version" "0.1.1" - -"copy-props@^2.0.1": - "integrity" "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==" - "resolved" "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "each-props" "^1.3.2" - "is-plain-object" "^5.0.0" - -"core-js-compat@^3.25.1": - "integrity" "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz" - "version" "3.26.0" - dependencies: - "browserslist" "^4.21.4" - -"core-js@^2.4.0": - "integrity" "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - "resolved" "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" - "version" "2.6.12" - -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"core-util-is@1.0.2": - "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cors@^2.8.5", "cors@~2.8.5": - "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==" - "resolved" "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" - "version" "2.8.5" - dependencies: - "object-assign" "^4" - "vary" "^1" - -"corser@^2.0.1": - "integrity" "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=" - "resolved" "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" - "version" "2.0.1" - -"cosmiconfig@^7.0.0": - "integrity" "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" - "version" "7.0.1" +cli-table@0.3.11: + version "0.3.11" + resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz#ac69cdecbe81dccdba4889b9a18b7da312a9d3ee" + integrity sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ== + dependencies: + colors "1.0.3" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@2.1.2, clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +cmd-shim@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" + integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw== + dependencies: + mkdirp-infer-owner "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.6.0" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +color@3.0.x: + version "3.0.0" + resolved "https://registry.npmjs.org/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colorette@^1.1.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +colors@1.4.0, colors@^1.2.1, colors@~1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + +colorspace@1.1.x: + version "1.1.2" + resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" + integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== + dependencies: + color "3.0.x" + text-hex "1.0.x" + +columnify@^1.5.4: + version "1.5.4" + resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + +combine-source-map@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b" + integrity sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos= + dependencies: + convert-source-map "~1.1.0" + inline-source-map "~0.6.0" + lodash.memoize "~3.0.3" + source-map "~0.5.3" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.12.1, commander@^2.20.0, commander@^2.20.3, commander@^2.7.1: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^9.2.0: + version "9.4.0" + resolved "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" + integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== + +commenting@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz#fae14345c6437b8554f30bc6aa6c1e1633033590" + integrity sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +compare-semver@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz#7c0a79a27bb80b6c6994445f82958259d3d02153" + integrity sha1-fAp5onu4C2xplERfgpWCWdPQIVM= + dependencies: + semver "^5.0.1" + +component-emitter@^1.2.1, component-emitter@~1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compress-commons@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" + integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== + dependencies: + buffer-crc32 "^0.2.13" + crc32-stream "^4.0.2" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.0: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0, concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +config-chain@^1.1.12: + version "1.1.13" + resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect@^3.6.2, connect@^3.7.0: + version "3.7.0" + resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +console-browserify@^1.1.0, console-browserify@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@^1.0.4, content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-core@^4.2.2: + version "4.2.4" + resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" + dateformat "^3.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" + git-remote-origin-url "^2.0.0" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^4.0.0" + +conventional-changelog-preset-loader@^2.3.4: + version "2.3.4" + resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== + +conventional-changelog-writer@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz#c4042f3f1542f2f41d7d2e0d6cad23aba8df8eec" + integrity sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g== + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.6" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz#190fb9900c6e02be0c0bca9b03d57e24982639fd" + integrity sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g== + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +conventional-recommended-bump@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" + q "^1.5.1" + +convert-source-map@^1.0.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@~1.1.0: + version "1.1.3" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" + integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA= + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookie@~0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-props@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== + dependencies: + each-props "^1.3.2" + is-plain-object "^5.0.0" + +core-js-compat@^3.25.1: + version "3.26.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz#94e2cf8ba3e63800c4956ea298a6473bc9d62b44" + integrity sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A== + dependencies: + browserslist "^4.21.4" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.5, cors@~2.8.5: + version "2.8.5" + resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c= + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" - "import-fresh" "^3.2.1" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.10.0" - -"coveralls@3.1.1": - "integrity" "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==" - "resolved" "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "js-yaml" "^3.13.1" - "lcov-parse" "^1.0.0" - "log-driver" "^1.2.7" - "minimist" "^1.2.5" - "request" "^2.88.2" - -"crc-32@^1.2.0": - "integrity" "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==" - "resolved" "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "exit-on-epipe" "~1.0.1" - "printj" "~1.1.0" - -"crc32-stream@^4.0.2": - "integrity" "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==" - "resolved" "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "crc-32" "^1.2.0" - "readable-stream" "^3.4.0" - -"create-ecdh@^4.0.0": - "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" - "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "bn.js" "^4.1.0" - "elliptic" "^6.5.3" - -"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": - "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" - "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cipher-base" "^1.0.1" - "inherits" "^2.0.1" - "md5.js" "^1.3.4" - "ripemd160" "^2.0.1" - "sha.js" "^2.4.0" - -"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": - "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" - "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "cipher-base" "^1.0.3" - "create-hash" "^1.1.0" - "inherits" "^2.0.1" - "ripemd160" "^2.0.0" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"create-require@^1.1.0": - "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - "version" "1.1.1" - -"cross-env@^5.1.3": - "integrity" "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==" - "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "cross-spawn" "^6.0.5" - -"cross-spawn@^4.0.2": - "integrity" "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "lru-cache" "^4.0.1" - "which" "^1.2.9" - -"cross-spawn@^5.1.0": - "integrity" "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "lru-cache" "^4.0.1" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^6.0.5": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^7.0.0", "cross-spawn@^7.0.1", "cross-spawn@^7.0.2", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-browserify@^3.11.0", "crypto-browserify@^3.12.0": - "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" - "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - "version" "3.12.0" - dependencies: - "browserify-cipher" "^1.0.0" - "browserify-sign" "^4.0.0" - "create-ecdh" "^4.0.0" - "create-hash" "^1.1.0" - "create-hmac" "^1.1.0" - "diffie-hellman" "^5.0.0" - "inherits" "^2.0.1" - "pbkdf2" "^3.0.3" - "public-encrypt" "^4.0.0" - "randombytes" "^2.0.0" - "randomfill" "^1.0.3" - -"crypto-random-string@^2.0.0": - "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - "version" "2.0.0" - -"css@^3.0.0": - "integrity" "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==" - "resolved" "https://registry.npmjs.org/css/-/css-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "inherits" "^2.0.4" - "source-map" "^0.6.1" - "source-map-resolve" "^0.6.0" - -"csv-generate@^3.4.3": - "integrity" "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" - "resolved" "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz" - "version" "3.4.3" - -"csv-parse@^4.16.3": - "integrity" "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" - "resolved" "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz" - "version" "4.16.3" - -"csv-parse@^5.0.4": - "integrity" "sha512-UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ==" - "resolved" "https://registry.npmjs.org/csv-parse/-/csv-parse-5.3.0.tgz" - "version" "5.3.0" - -"csv-stringify@^5.6.5": - "integrity" "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" - "resolved" "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz" - "version" "5.6.5" - -"csv@^5.5.0": - "integrity" "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==" - "resolved" "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz" - "version" "5.5.3" - dependencies: - "csv-generate" "^3.4.3" - "csv-parse" "^4.16.3" - "csv-stringify" "^5.6.5" - "stream-transform" "^2.1.3" - -"custom-event@~1.0.0": - "integrity" "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=" - "resolved" "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz" - "version" "1.0.1" - -"cyclist@^1.0.1": - "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" - "version" "1.0.1" - -"d@^1.0.1", "d@1": - "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==" - "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "es5-ext" "^0.10.50" - "type" "^1.0.1" - -"dargs@^7.0.0": - "integrity" "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" - "resolved" "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" - "version" "7.0.0" - -"dashdash@^1.12.0": - "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" - "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "assert-plus" "^1.0.0" - -"data-uri-to-buffer@3": - "integrity" "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" - "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz" - "version" "3.0.1" - -"dataloader@^1.4.0": - "integrity" "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==" - "resolved" "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz" - "version" "1.4.0" - -"date-fns@^1.27.2": - "integrity" "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" - "version" "1.30.1" - -"date-format@^4.0.4", "date-format@^4.0.5": - "integrity" "sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw==" - "resolved" "https://registry.npmjs.org/date-format/-/date-format-4.0.5.tgz" - "version" "4.0.5" - -"dateformat@^3.0.0": - "integrity" "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" - "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" - "version" "3.0.3" - -"debug-fabulous@^1.0.0": - "integrity" "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==" - "resolved" "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "debug" "3.X" - "memoizee" "0.4.X" - "object-assign" "4.X" - -"debug@^2.2.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.3.3": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.8": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^3.1.0": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^3.1.1": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.3", "debug@~4.3.1", "debug@~4.3.2", "debug@4", "debug@4.3.3": - "integrity" "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" - "version" "4.3.3" - dependencies: - "ms" "2.1.2" - -"debug@2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +coveralls@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz#f5d4431d8b5ae69c5079c8f8ca00d64ac77cf081" + integrity sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww== + dependencies: + js-yaml "^3.13.1" + lcov-parse "^1.0.0" + log-driver "^1.2.7" + minimist "^1.2.5" + request "^2.88.2" + +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +crc32-stream@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" + integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== + dependencies: + crc-32 "^1.2.0" + readable-stream "^3.4.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-env@^5.1.3: + version "5.2.1" + resolved "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz#b2c76c1ca7add66dc874d11798466094f551b34d" + integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== + dependencies: + cross-spawn "^6.0.5" + +cross-spawn@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: + version "3.12.0" + resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + +csv-generate@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz#bc42d943b45aea52afa896874291da4b9108ffff" + integrity sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== + +csv-parse@^4.16.3: + version "4.16.3" + resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" + integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== + +csv-parse@^5.0.4: + version "5.3.0" + resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-5.3.0.tgz#85cc02fc9d1c89bd1b02e69069c960f8b8064322" + integrity sha512-UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ== + +csv-stringify@^5.6.5: + version "5.6.5" + resolved "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" + integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== + +csv@^5.5.0: + version "5.5.3" + resolved "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz#cd26c1e45eae00ce6a9b7b27dcb94955ec95207d" + integrity sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== + dependencies: + csv-generate "^3.4.3" + csv-parse "^4.16.3" + csv-stringify "^5.6.5" + stream-transform "^2.1.3" + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" + integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + +dataloader@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" + integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +date-format@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873" + integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ== + +date-format@^4.0.4, date-format@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.5.tgz#ba385f89782c6cb114cf45dfa4704c6bb29fca51" + integrity sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw== + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +debug-fabulous@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e" + integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg== + dependencies: + debug "3.X" + memoizee "0.4.X" + object-assign "4.X" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@3.X, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: + version "4.3.3" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= -"debug@3.X": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== dependencies: - "ms" "^2.1.1" - -"debug@4.3.1": - "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "ms" "2.1.2" - -"debuglog@^1.0.1": - "integrity" "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" - "resolved" "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" - "version" "1.0.1" - -"decamelize-keys@^1.1.0": - "integrity" "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=" - "resolved" "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "decamelize" "^1.1.0" - "map-obj" "^1.0.0" - -"decamelize@^1.1.0", "decamelize@^1.1.1", "decamelize@^1.2.0": - "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"decamelize@^4.0.0": - "integrity" "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - "version" "4.0.0" - -"decode-uri-component@^0.2.0": - "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - "version" "0.2.0" - -"decompress-response@^3.3.0": - "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"decompress-response@^6.0.0": - "integrity" "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "mimic-response" "^3.1.0" - -"dedent@^0.7.0": - "integrity" "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" - "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - "version" "0.7.0" - -"deep-eql@^3.0.1": - "integrity" "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==" - "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "type-detect" "^4.0.0" - -"deep-extend@^0.6.0": - "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - "version" "0.6.0" - -"deep-freeze@0.0.1": - "integrity" "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=" - "resolved" "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz" - "version" "0.0.1" - -"deep-is@^0.1.3", "deep-is@~0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" - -"default-compare@^1.0.0": - "integrity" "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==" - "resolved" "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^5.0.2" - -"default-require-extensions@^3.0.0": - "integrity" "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==" - "resolved" "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "strip-bom" "^4.0.0" - -"default-resolution@^2.0.0": - "integrity" "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=" - "resolved" "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz" - "version" "2.0.0" - -"defaults@^1.0.3": - "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" - "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "clone" "^1.0.2" - -"defer-to-connect@^1.0.1": - "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - "version" "1.1.3" - -"defer-to-connect@^2.0.0": - "integrity" "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" - "version" "2.0.1" - -"define-properties@^1.1.3": - "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "object-keys" "^1.0.12" - -"define-properties@^1.1.4": - "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"define-property@^0.2.5": - "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" - dependencies: - "is-descriptor" "^0.1.0" - -"define-property@^1.0.0": - "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-descriptor" "^1.0.0" - -"define-property@^2.0.2": - "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "is-descriptor" "^1.0.2" - "isobject" "^3.0.1" - -"degenerator@^3.0.1": - "integrity" "sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==" - "resolved" "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ast-types" "^0.13.2" - "escodegen" "^1.8.1" - "esprima" "^4.0.0" - "vm2" "^3.9.3" - -"del@^2.2.0": - "integrity" "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=" - "resolved" "https://registry.npmjs.org/del/-/del-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "globby" "^5.0.0" - "is-path-cwd" "^1.0.0" - "is-path-in-cwd" "^1.0.0" - "object-assign" "^4.0.1" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - "rimraf" "^2.2.8" - -"del@^6.0.0", "del@6.1.1": - "integrity" "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==" - "resolved" "https://registry.npmjs.org/del/-/del-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "globby" "^11.0.1" - "graceful-fs" "^4.2.4" - "is-glob" "^4.0.1" - "is-path-cwd" "^2.2.0" - "is-path-inside" "^3.0.2" - "p-map" "^4.0.0" - "rimraf" "^3.0.2" - "slash" "^3.0.0" - -"delayed-stream@~1.0.0": - "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"delegates@^1.0.0": - "integrity" "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - "resolved" "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - "version" "1.0.0" - -"depd@^1.1.2": - "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"depd@~1.1.2": - "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"depd@~2.0.0", "depd@2.0.0": - "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - "version" "2.0.0" - -"dependency-graph@0.11.0": - "integrity" "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" - "resolved" "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz" - "version" "0.11.0" - -"deprecation@^2.0.0", "deprecation@^2.3.1": - "integrity" "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - "resolved" "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" - "version" "2.3.1" - -"des.js@^1.0.0": - "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" - "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - -"destroy@^1.0.4": - "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - "version" "1.0.4" - -"destroy@1.2.0": - "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - "version" "1.2.0" - -"detect-file@^1.0.0": - "integrity" "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" - "resolved" "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" - "version" "1.0.0" - -"detect-indent@^4.0.0": - "integrity" "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=" - "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "repeating" "^2.0.0" - -"detect-indent@^5.0.0": - "integrity" "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" - "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" - "version" "5.0.0" - -"detect-indent@^6.0.0": - "integrity" "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" - "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - "version" "6.1.0" - -"detect-libc@^2.0.0": - "integrity" "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" - "resolved" "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" - "version" "2.0.1" - -"detect-newline@^2.0.0": - "integrity" "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" - "version" "2.1.0" - -"dezalgo@^1.0.0": - "integrity" "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=" - "resolved" "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "asap" "^2.0.0" - "wrappy" "1" - -"di@^0.0.1": - "integrity" "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=" - "resolved" "https://registry.npmjs.org/di/-/di-0.0.1.tgz" - "version" "0.0.1" - -"diff-sequences@^27.0.6": - "integrity" "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz" - "version" "27.0.6" - -"diff@^4.0.1", "diff@^4.0.2": - "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - "version" "4.0.2" - -"diff@5.0.0": - "integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - "resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - "version" "5.0.0" - -"diffie-hellman@^5.0.0": - "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" - "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "bn.js" "^4.1.0" - "miller-rabin" "^4.0.0" - "randombytes" "^2.0.0" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"dmg@^0.1.0": - "integrity" "sha1-s46iEH9vCwcEQrv3mb/E8q7apfg=" - "resolved" "https://registry.npmjs.org/dmg/-/dmg-0.1.0.tgz" - "version" "0.1.0" - -"doctrine@^2.1.0": - "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "esutils" "^2.0.2" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"dom-serialize@^2.2.1": - "integrity" "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=" - "resolved" "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "custom-event" "~1.0.0" - "ent" "~2.2.0" - "extend" "^3.0.0" - "void-elements" "^2.0.0" - -"domain-browser@^1.1.1": - "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" - "version" "1.2.0" - -"domain-browser@^4.16.0": - "integrity" "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==" - "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz" - "version" "4.22.0" - -"dot-prop@^5.1.0", "dot-prop@^5.2.0": - "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "is-obj" "^2.0.0" - -"dot-prop@^6.0.1": - "integrity" "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "is-obj" "^2.0.0" - -"dotenv@^8.1.0": - "integrity" "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" - "version" "8.6.0" - -"duplexer@^0.1.1", "duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"duplexer2@~0.1.4": - "integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=" - "resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" - "version" "0.1.4" - dependencies: - "readable-stream" "^2.0.2" - -"duplexer3@^0.1.4": - "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - "version" "0.1.4" - -"duplexify@^3.4.2", "duplexify@^3.6.0": - "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" - "version" "3.7.1" - dependencies: - "end-of-stream" "^1.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - "stream-shift" "^1.0.0" - -"duplexify@^4.0.0": - "integrity" "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "end-of-stream" "^1.4.1" - "inherits" "^2.0.3" - "readable-stream" "^3.1.1" - "stream-shift" "^1.0.0" - -"each-props@^1.3.2": - "integrity" "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==" - "resolved" "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-plain-object" "^2.0.1" - "object.defaults" "^1.1.0" - -"ecc-jsbn@~0.1.1": - "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" - "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "jsbn" "~0.1.0" - "safer-buffer" "^2.1.0" - -"ecdsa-sig-formatter@^1.0.11", "ecdsa-sig-formatter@1.0.11": - "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" - "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "safe-buffer" "^5.0.1" - -"ee-first@1.1.1": - "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - "version" "1.1.1" - -"electron-to-chromium@^1.4.251": - "integrity" "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" - "version" "1.4.284" - -"elegant-spinner@^1.0.1": - "integrity" "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" - "resolved" "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" - "version" "1.0.1" - -"elliptic@^6.5.3": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emoji-regex@^7.0.1": - "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - "version" "7.0.3" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"enabled@2.0.x": - "integrity" "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - "resolved" "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" - "version" "2.0.0" - -"encodeurl@~1.0.2": - "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"encoding@^0.1.0", "encoding@^0.1.12": - "integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==" - "resolved" "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" - "version" "0.1.13" - dependencies: - "iconv-lite" "^0.6.2" - -"end-of-stream@^1.0.0", "end-of-stream@^1.1.0", "end-of-stream@^1.4.1": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"engine.io-parser@~5.0.3": - "integrity" "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==" - "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz" - "version" "5.0.3" + type-detect "^4.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-freeze@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84" + integrity sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + +default-require-extensions@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" + integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== + dependencies: + strip-bom "^4.0.0" + +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +degenerator@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz#7ef78ec0c8577a544477308ddf1d2d6e88d51f5b" + integrity sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ== + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + vm2 "^3.9.3" + +del@6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +del@^2.2.0: + version "2.2.2" + resolved "https://registry.npmjs.org/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +del@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@^1.1.2, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +dependency-graph@0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +destroy@^1.0.4, destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + dependencies: + repeating "^2.0.0" + +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-newline@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +dezalgo@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + dependencies: + asap "^2.0.0" + wrappy "1" + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= + +diff-sequences@^27.0.6: + version "27.0.6" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1, diff@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dmg@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/dmg/-/dmg-0.1.0.tgz#b38ea2107f6f0b070442bbf799bfc4f2aedaa5f8" + integrity sha1-s46iEH9vCwcEQrv3mb/E8q7apfg= + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-serialize@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domain-browser@^4.16.0: + version "4.22.0" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" + integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== + +dot-prop@^5.1.0, dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +dotenv@^8.1.0: + version "8.6.0" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexer@^0.1.1, duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +duplexify@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.0" + +each-props@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.846: + version "1.3.849" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz#45a65a392565abc5b864624b9753393336426f4b" + integrity sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w== + +electron-to-chromium@^1.4.118: + version "1.4.137" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" + integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +enabled@2.0.x: + version "2.0.0" + resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" + integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +engine.io-parser@~5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" + integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== dependencies: "@socket.io/base64-arraybuffer" "~1.0.2" -"engine.io@~6.2.0": - "integrity" "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==" - "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz" - "version" "6.2.0" +engine.io@~6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" + integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" "@types/node" ">=10.0.0" - "accepts" "~1.3.4" - "base64id" "2.0.0" - "cookie" "~0.4.1" - "cors" "~2.8.5" - "debug" "~4.3.1" - "engine.io-parser" "~5.0.3" - "ws" "~8.2.3" - -"enhanced-resolve@^4.0.0", "enhanced-resolve@^4.5.0": - "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "graceful-fs" "^4.1.2" - "memory-fs" "^0.5.0" - "tapable" "^1.0.0" - -"enhanced-resolve@^5.8.0": - "integrity" "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz" - "version" "5.8.3" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"enquirer@^2.3.0", "enquirer@^2.3.5": - "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "ansi-colors" "^4.1.1" - -"ent@~2.2.0": - "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" - "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz" - "version" "2.2.0" - -"entities@~2.1.0": - "integrity" "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz" - "version" "2.1.0" - -"env-paths@^2.2.0": - "integrity" "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - "resolved" "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - "version" "2.2.1" - -"envinfo@^7.7.4": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"err-code@^2.0.2": - "integrity" "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - "resolved" "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" - "version" "2.0.3" - -"errno@^0.1.3", "errno@~0.1.7": - "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" - "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" - "version" "0.1.8" - dependencies: - "prr" "~1.0.1" - -"error-ex@^1.2.0", "error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-abstract@^1.18.0-next.2", "es-abstract@^1.18.5": - "integrity" "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz" - "version" "1.18.6" - dependencies: - "call-bind" "^1.0.2" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "get-intrinsic" "^1.1.1" - "get-symbol-description" "^1.0.0" - "has" "^1.0.3" - "has-symbols" "^1.0.2" - "internal-slot" "^1.0.3" - "is-callable" "^1.2.4" - "is-negative-zero" "^2.0.1" - "is-regex" "^1.1.4" - "is-string" "^1.0.7" - "object-inspect" "^1.11.0" - "object-keys" "^1.1.1" - "object.assign" "^4.1.2" - "string.prototype.trimend" "^1.0.4" - "string.prototype.trimstart" "^1.0.4" - "unbox-primitive" "^1.0.1" - -"es-abstract@^1.19.0", "es-abstract@^1.19.1", "es-abstract@^1.19.2", "es-abstract@^1.19.5": - "integrity" "sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "call-bind" "^1.0.2" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "function.prototype.name" "^1.1.5" - "get-intrinsic" "^1.1.1" - "get-symbol-description" "^1.0.0" - "has" "^1.0.3" - "has-property-descriptors" "^1.0.0" - "has-symbols" "^1.0.3" - "internal-slot" "^1.0.3" - "is-callable" "^1.2.4" - "is-negative-zero" "^2.0.2" - "is-regex" "^1.1.4" - "is-shared-array-buffer" "^1.0.2" - "is-string" "^1.0.7" - "is-weakref" "^1.0.2" - "object-inspect" "^1.12.0" - "object-keys" "^1.1.1" - "object.assign" "^4.1.2" - "regexp.prototype.flags" "^1.4.1" - "string.prototype.trimend" "^1.0.5" - "string.prototype.trimstart" "^1.0.5" - "unbox-primitive" "^1.0.2" - -"es-module-lexer@^0.7.1": - "integrity" "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz" - "version" "0.7.1" - -"es-shim-unscopables@^1.0.0": - "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" - "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has" "^1.0.3" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"es5-ext@^0.10.35", "es5-ext@^0.10.46", "es5-ext@^0.10.50", "es5-ext@^0.10.53", "es5-ext@~0.10.14", "es5-ext@~0.10.2", "es5-ext@~0.10.46": - "integrity" "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==" - "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" - "version" "0.10.53" - dependencies: - "es6-iterator" "~2.0.3" - "es6-symbol" "~3.1.3" - "next-tick" "~1.0.0" - -"es5-ext@^0.10.61": - "integrity" "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==" - "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz" - "version" "0.10.61" - dependencies: - "es6-iterator" "^2.0.3" - "es6-symbol" "^3.1.3" - "next-tick" "^1.1.0" - -"es6-error@^4.0.1": - "integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - "resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" - "version" "4.1.1" - -"es6-iterator@^2.0.1", "es6-iterator@^2.0.3", "es6-iterator@~2.0.3": - "integrity" "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=" - "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "d" "1" - "es5-ext" "^0.10.35" - "es6-symbol" "^3.1.1" - -"es6-object-assign@^1.1.0": - "integrity" "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" - "resolved" "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz" - "version" "1.1.0" - -"es6-promise@^4.0.3": - "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - "version" "4.2.8" - -"es6-promisify@^5.0.0": - "integrity" "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=" - "resolved" "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "es6-promise" "^4.0.3" - -"es6-symbol@^3.1.1", "es6-symbol@^3.1.3", "es6-symbol@~3.1.3": - "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==" - "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "d" "^1.0.1" - "ext" "^1.1.2" - -"es6-weak-map@^2.0.1", "es6-weak-map@^2.0.3": - "integrity" "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==" - "resolved" "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "d" "1" - "es5-ext" "^0.10.46" - "es6-iterator" "^2.0.3" - "es6-symbol" "^3.1.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-goat@^2.0.0": - "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" - "version" "2.1.1" - -"escape-html@~1.0.3": - "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.3", "escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escape-string-regexp@4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escodegen@^1.13.0", "escodegen@^1.8.1": - "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" - "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" - "version" "1.14.3" - dependencies: - "esprima" "^4.0.1" - "estraverse" "^4.2.0" - "esutils" "^2.0.2" - "optionator" "^0.8.1" + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.4.1" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.0.3" + ws "~8.2.3" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@^5.8.0: + version "5.8.3" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" + integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.0, enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +ent@~2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@^7.7.4: + version "7.8.1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.18.0-next.2, es-abstract@^1.18.5: + version "1.18.6" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" + integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-string "^1.0.7" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.0" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" + integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.1" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-module-lexer@^0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" + integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.53" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es5-ext@^0.10.61: + version "0.10.61" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-object-assign@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.1, es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" optionalDependencies: - "source-map" "~0.6.1" - -"eslint-import-resolver-node@^0.3.6": - "integrity" "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==" - "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "debug" "^3.2.7" - "resolve" "^1.20.0" - -"eslint-module-utils@^2.7.3": - "integrity" "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==" - "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz" - "version" "2.7.3" - dependencies: - "debug" "^3.2.7" - "find-up" "^2.1.0" - -"eslint-plugin-import@2.26.0": - "integrity" "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==" - "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" - "version" "2.26.0" - dependencies: - "array-includes" "^3.1.4" - "array.prototype.flat" "^1.2.5" - "debug" "^2.6.9" - "doctrine" "^2.1.0" - "eslint-import-resolver-node" "^0.3.6" - "eslint-module-utils" "^2.7.3" - "has" "^1.0.3" - "is-core-module" "^2.8.1" - "is-glob" "^4.0.3" - "minimatch" "^3.1.2" - "object.values" "^1.1.5" - "resolve" "^1.22.0" - "tsconfig-paths" "^3.14.1" - -"eslint-plugin-unused-imports@2.0.0": - "integrity" "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==" - "resolved" "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "eslint-rule-composer" "^0.3.0" - -"eslint-rule-composer@^0.3.0": - "integrity" "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==" - "resolved" "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz" - "version" "0.3.0" - -"eslint-scope@^4.0.3": - "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "esrecurse" "^4.1.0" - "estraverse" "^4.1.1" - -"eslint-scope@^5.1.1", "eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"eslint-utils@^2.1.0": - "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-utils@^3.0.0": - "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "eslint-visitor-keys" "^2.0.0" - -"eslint-visitor-keys@^1.1.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^1.3.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^2.0.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint-visitor-keys@^3.3.0": - "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - "version" "3.3.0" - -"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^8.0.0", "eslint@>=5", "eslint@7.32.0": - "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - "version" "7.32.0" + source-map "~0.6.1" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.3: + version "2.7.3" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + +eslint-plugin-import@2.26.0: + version "2.26.0" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-unused-imports@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" + integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== + dependencies: + eslint-rule-composer "^0.3.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@7.32.0: + version "7.32.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.3" "@humanwhocodes/config-array" "^0.5.0" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "enquirer" "^2.3.5" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^2.1.0" - "eslint-visitor-keys" "^2.0.0" - "espree" "^7.3.1" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.1.2" - "globals" "^13.6.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.0.4" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "progress" "^2.0.0" - "regexpp" "^3.1.0" - "semver" "^7.2.1" - "strip-ansi" "^6.0.0" - "strip-json-comments" "^3.1.0" - "table" "^6.0.9" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"espree@^7.3.0", "espree@^7.3.1": - "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==" - "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - "version" "7.3.1" - dependencies: - "acorn" "^7.4.0" - "acorn-jsx" "^5.3.1" - "eslint-visitor-keys" "^1.3.0" - -"espree@^9.0.0": - "integrity" "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==" - "resolved" "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" - "version" "9.4.0" - dependencies: - "acorn" "^8.8.0" - "acorn-jsx" "^5.3.2" - "eslint-visitor-keys" "^3.3.0" - -"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.4.0": - "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.1.0", "esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1", "estraverse@^4.2.0": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.1.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"estraverse@^5.2.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"estree-walker@^0.6.1": - "integrity" "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" - "version" "0.6.1" - -"estree-walker@^1.0.1": - "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - "version" "1.0.1" - -"estree-walker@^2.0.1": - "integrity" "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" - "version" "2.0.2" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"etag@~1.8.1": - "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - "version" "1.8.1" - -"event-emitter@^0.3.5": - "integrity" "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=" - "resolved" "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" - "version" "0.3.5" - dependencies: - "d" "1" - "es5-ext" "~0.10.14" - -"event-target-shim@^5.0.0": - "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - "version" "5.0.1" - -"eventemitter3@^4.0.0", "eventemitter3@^4.0.4": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events-listener@^1.1.0": - "integrity" "sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g==" - "resolved" "https://registry.npmjs.org/events-listener/-/events-listener-1.1.0.tgz" - "version" "1.1.0" - -"events@^3.0.0", "events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"eventtargeter@0.8.0": - "integrity" "sha512-ldFAonAo7vyXeBDcTTOoxTtdibw1JvADllLkldxxdqb4+8LPoibU+e9XGQkD98l5wavImIab1jNwuzMtnR2MAg==" - "resolved" "https://registry.npmjs.org/eventtargeter/-/eventtargeter-0.8.0.tgz" - "version" "0.8.0" - -"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": - "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" - "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "md5.js" "^1.3.4" - "safe-buffer" "^5.1.1" - -"exec-sh@^0.2.0": - "integrity" "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==" - "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz" - "version" "0.2.2" - dependencies: - "merge" "^1.2.0" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"exegesis-express@^4.0.0": - "integrity" "sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw==" - "resolved" "https://registry.npmjs.org/exegesis-express/-/exegesis-express-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "exegesis" "^4.1.0" - -"exegesis@^4.1.0": - "integrity" "sha512-iqc55n+hmv8d1KYNMjq7bCcp4u74oRY6MBcj6Vsux7Wd4mRvlgahKqrBTyLIWwscNjEF3qvPmeJ0RPTj8ORMNg==" - "resolved" "https://registry.npmjs.org/exegesis/-/exegesis-4.1.0.tgz" - "version" "4.1.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@^4.0.0, eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/events-listener/-/events-listener-1.1.0.tgz#dd49b4628480eba58fde31b870ee346b3990b349" + integrity sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g== + +events@^3.0.0, events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventtargeter@0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/eventtargeter/-/eventtargeter-0.8.0.tgz#ca23a8c465bca44f7e5aa00efe365a699bb44915" + integrity sha512-ldFAonAo7vyXeBDcTTOoxTtdibw1JvADllLkldxxdqb4+8LPoibU+e9XGQkD98l5wavImIab1jNwuzMtnR2MAg== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== + dependencies: + merge "^1.2.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exegesis-express@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/exegesis-express/-/exegesis-express-4.0.0.tgz#f5f8486f6f0d81739e8e27ce75ce0f61ba3f3578" + integrity sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw== + dependencies: + exegesis "^4.1.0" + +exegesis@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/exegesis/-/exegesis-4.1.0.tgz#e32c55fe42e6e4efacaebd084b3c7a8714d04442" + integrity sha512-iqc55n+hmv8d1KYNMjq7bCcp4u74oRY6MBcj6Vsux7Wd4mRvlgahKqrBTyLIWwscNjEF3qvPmeJ0RPTj8ORMNg== dependencies: "@apidevtools/json-schema-ref-parser" "^9.0.3" - "ajv" "^8.3.0" - "ajv-formats" "^2.1.0" - "body-parser" "^1.18.3" - "content-type" "^1.0.4" - "deep-freeze" "0.0.1" - "events-listener" "^1.1.0" - "glob" "^7.1.3" - "json-ptr" "^3.0.1" - "json-schema-traverse" "^1.0.0" - "lodash" "^4.17.11" - "openapi3-ts" "^2.0.1" - "promise-breaker" "^5.0.0" - "pump" "^3.0.0" - "qs" "^6.6.0" - "raw-body" "^2.3.3" - "semver" "^7.0.0" - -"exit-on-epipe@~1.0.1": - "integrity" "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - "resolved" "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz" - "version" "1.0.1" - -"exit@^0.1.2": - "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expand-brackets@^2.1.4": - "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" - "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "debug" "^2.3.3" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "posix-character-classes" "^0.1.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"expand-tilde@^2.0.0", "expand-tilde@^2.0.2": - "integrity" "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=" - "resolved" "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "homedir-polyfill" "^1.0.1" - -"expect@^27.2.1": - "integrity" "sha512-ekOA2mBtT2phxcoPVHCXIzbJxCvRXhx2fr7m28IgGdZxUOh8UvxvoRz1FcPlfgZMpE92biHB6woIcAKXqR28hA==" - "resolved" "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz" - "version" "27.2.1" + ajv "^8.3.0" + ajv-formats "^2.1.0" + body-parser "^1.18.3" + content-type "^1.0.4" + deep-freeze "0.0.1" + events-listener "^1.1.0" + glob "^7.1.3" + json-ptr "^3.0.1" + json-schema-traverse "^1.0.0" + lodash "^4.17.11" + openapi3-ts "^2.0.1" + promise-breaker "^5.0.0" + pump "^3.0.0" + qs "^6.6.0" + raw-body "^2.3.3" + semver "^7.0.0" + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect@^27.2.1: + version "27.2.1" + resolved "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz#5f882b308716618613f0106a488b46c303908157" + integrity sha512-ekOA2mBtT2phxcoPVHCXIzbJxCvRXhx2fr7m28IgGdZxUOh8UvxvoRz1FcPlfgZMpE92biHB6woIcAKXqR28hA== dependencies: "@jest/types" "^27.1.1" - "ansi-styles" "^5.0.0" - "jest-get-type" "^27.0.6" - "jest-matcher-utils" "^27.2.0" - "jest-message-util" "^27.2.0" - "jest-regex-util" "^27.0.6" - -"express@^4.16.4", "express@4.18.1": - "integrity" "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==" - "resolved" "https://registry.npmjs.org/express/-/express-4.18.1.tgz" - "version" "4.18.1" - dependencies: - "accepts" "~1.3.8" - "array-flatten" "1.1.1" - "body-parser" "1.20.0" - "content-disposition" "0.5.4" - "content-type" "~1.0.4" - "cookie" "0.5.0" - "cookie-signature" "1.0.6" - "debug" "2.6.9" - "depd" "2.0.0" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "finalhandler" "1.2.0" - "fresh" "0.5.2" - "http-errors" "2.0.0" - "merge-descriptors" "1.0.1" - "methods" "~1.1.2" - "on-finished" "2.4.1" - "parseurl" "~1.3.3" - "path-to-regexp" "0.1.7" - "proxy-addr" "~2.0.7" - "qs" "6.10.3" - "range-parser" "~1.2.1" - "safe-buffer" "5.2.1" - "send" "0.18.0" - "serve-static" "1.15.0" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "type-is" "~1.6.18" - "utils-merge" "1.0.1" - "vary" "~1.1.2" - -"ext@^1.1.2": - "integrity" "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==" - "resolved" "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz" - "version" "1.6.0" - dependencies: - "type" "^2.5.0" - -"extend-shallow@^2.0.1": - "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend-shallow@^3.0.0": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend-shallow@^3.0.2": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend@^3.0.0", "extend@^3.0.2", "extend@~3.0.2": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"extendable-error@^0.1.5": - "integrity" "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==" - "resolved" "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz" - "version" "0.1.7" - -"external-editor@^3.0.3", "external-editor@^3.1.0": - "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" - "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "chardet" "^0.7.0" - "iconv-lite" "^0.4.24" - "tmp" "^0.0.33" - -"extglob@^2.0.4": - "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "array-unique" "^0.3.2" - "define-property" "^1.0.0" - "expand-brackets" "^2.1.4" - "extend-shallow" "^2.0.1" - "fragment-cache" "^0.2.1" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"extract-zip@^2.0.1": - "integrity" "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==" - "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "debug" "^4.1.1" - "get-stream" "^5.1.0" - "yauzl" "^2.10.0" + ansi-styles "^5.0.0" + jest-get-type "^27.0.6" + jest-matcher-utils "^27.2.0" + jest-message-util "^27.2.0" + jest-regex-util "^27.0.6" + +express@4.18.1: + version "4.18.1" + resolved "https://registry.npmjs.org/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.10.3" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +express@^4.16.4: + version "4.17.1" + resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extendable-error@^0.1.5: + version "0.1.7" + resolved "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" + integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== + +external-editor@^3.0.3, external-editor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" optionalDependencies: "@types/yauzl" "^2.9.1" -"extsprintf@^1.2.0": - "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" - "version" "1.4.0" - -"extsprintf@1.3.0": - "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - "version" "1.3.0" - -"fancy-log@^1.3.2", "fancy-log@^1.3.3": - "integrity" "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==" - "resolved" "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz" - "version" "1.3.3" - dependencies: - "ansi-gray" "^0.1.1" - "color-support" "^1.1.3" - "parse-node-version" "^1.0.0" - "time-stamp" "^1.0.0" - -"fast-deep-equal@^1.0.0": - "integrity" "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz" - "version" "1.1.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.0.3", "fast-glob@^3.1.1": - "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" - "version" "3.2.7" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fancy-log@^1.3.2, fancy-log@^1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3, fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" -"fast-glob@^3.2.9": - "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - "version" "3.2.12" +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -"fast-levenshtein@^1.0.0": - "integrity" "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" - "version" "1.1.4" +fast-levenshtein@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" + integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= -"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": - "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -"fast-text-encoding@^1.0.0", "fast-text-encoding@^1.0.3": - "integrity" "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" - "resolved" "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz" - "version" "1.0.3" - -"fast-url-parser@^1.1.3": - "integrity" "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=" - "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "punycode" "^1.3.2" - -"fastq@^1.6.0": - "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - "version" "1.13.0" - dependencies: - "reusify" "^1.0.4" - -"faye-websocket@0.11.4": - "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" - "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - "version" "0.11.4" - dependencies: - "websocket-driver" ">=0.5.1" - -"fb-watchman@^2.0.0": - "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "bser" "2.1.1" - -"fclone@^1.0.11": - "integrity" "sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==" - "resolved" "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz" - "version" "1.0.11" - -"fd-slicer@~1.1.0": - "integrity" "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=" - "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "pend" "~1.2.0" - -"fecha@^4.2.0": - "integrity" "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" - "resolved" "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz" - "version" "4.2.1" - -"figgy-pudding@^3.5.1": - "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" - "version" "3.5.2" - -"figures@^1.7.0": - "integrity" "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" - "resolved" "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "escape-string-regexp" "^1.0.5" - "object-assign" "^4.1.0" - -"figures@^2.0.0": - "integrity" "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=" - "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"figures@^3.0.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" - -"file-uri-to-path@1.0.0": - "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - "version" "1.0.0" - -"file-uri-to-path@2": - "integrity" "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==" - "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz" - "version" "2.0.0" - -"filesize@^6.1.0": - "integrity" "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==" - "resolved" "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz" - "version" "6.4.0" - -"fill-range@^4.0.0": - "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "extend-shallow" "^2.0.1" - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - "to-regex-range" "^2.1.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"filter-obj@^1.1.0": - "integrity" "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" - "resolved" "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" - "version" "1.1.0" - -"finalhandler@1.1.2": - "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "~2.3.0" - "parseurl" "~1.3.3" - "statuses" "~1.5.0" - "unpipe" "~1.0.0" - -"finalhandler@1.2.0": - "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "2.4.1" - "parseurl" "~1.3.3" - "statuses" "2.0.1" - "unpipe" "~1.0.0" - -"find-cache-dir@^2.0.0": - "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^2.0.0" - "pkg-dir" "^3.0.0" - -"find-cache-dir@^2.1.0": - "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^2.0.0" - "pkg-dir" "^3.0.0" - -"find-cache-dir@^3.2.0", "find-cache-dir@^3.3.1", "find-cache-dir@^3.3.2": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-free-port@2.0.0": - "integrity" "sha1-SyLl9leesaOMQaxryz7+0bbamxs=" - "resolved" "https://registry.npmjs.org/find-free-port/-/find-free-port-2.0.0.tgz" - "version" "2.0.0" - -"find-package-json@^1.2.0": - "integrity" "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==" - "resolved" "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz" - "version" "1.2.0" - -"find-up@^1.0.0": - "integrity" "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "path-exists" "^2.0.0" - "pinkie-promise" "^2.0.0" - -"find-up@^2.0.0": - "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "locate-path" "^2.0.0" - -"find-up@^2.1.0": - "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "locate-path" "^2.0.0" - -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"find-up@^4.0.0", "find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"find-up@5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"find-yarn-workspace-root2@1.2.16": - "integrity" "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==" - "resolved" "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz" - "version" "1.2.16" - dependencies: - "micromatch" "^4.0.2" - "pkg-dir" "^4.2.0" - -"findup-sync@^2.0.0": - "integrity" "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=" - "resolved" "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "detect-file" "^1.0.0" - "is-glob" "^3.1.0" - "micromatch" "^3.0.4" - "resolve-dir" "^1.0.1" - -"findup-sync@^3.0.0": - "integrity" "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==" - "resolved" "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "detect-file" "^1.0.0" - "is-glob" "^4.0.0" - "micromatch" "^3.0.4" - "resolve-dir" "^1.0.1" - -"fined@^1.0.1": - "integrity" "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==" - "resolved" "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "expand-tilde" "^2.0.2" - "is-plain-object" "^2.0.3" - "object.defaults" "^1.1.0" - "object.pick" "^1.2.0" - "parse-filepath" "^1.0.1" - -"firebase-compat-interop-test@file:/Users/milamamat/firebase-js-sdk/integration/compat-interop": - "resolved" "file:integration/compat-interop" - "version" "0.1.0" - dependencies: - "@firebase/analytics" "0.8.4" - "@firebase/analytics-compat" "0.1.17" - "@firebase/app" "0.8.4" - "@firebase/app-compat" "0.1.39" - "@firebase/auth" "0.20.11" - "@firebase/auth-compat" "0.2.24" - "@firebase/functions" "0.8.8" - "@firebase/functions-compat" "0.2.8" - "@firebase/messaging" "0.11.0" - "@firebase/messaging-compat" "0.1.21" - "@firebase/performance" "0.5.17" - "@firebase/performance-compat" "0.1.17" - "@firebase/remote-config" "0.3.15" - "@firebase/remote-config-compat" "0.1.16" - -"firebase-compat-typings-test@file:/Users/milamamat/firebase-js-sdk/integration/compat-typings": - "resolved" "file:integration/compat-typings" - "version" "0.1.0" - dependencies: - "firebase" "*" - -"firebase-firestore-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/firestore": - "resolved" "file:integration/firestore" - "version" "1.0.1" - dependencies: - "@firebase/app" "0.8.4" - "@firebase/firestore" "3.7.3" - -"firebase-frameworks@^0.4.2": - "integrity" "sha512-a3xNE3wPh8JWq2WOgWlSypVS9O/y/3/3Im9EV7bNBF44wFV2oOAyFdVgDk6it81+lBRv7ci8PttgQZohtsFeVA==" - "resolved" "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.4.2.tgz" - "version" "0.4.2" - dependencies: - "fs-extra" "^10.1.0" - "jsonc-parser" "^3.0.0" - "semver" "^7.3.7" - "tslib" "^2.3.1" - -"firebase-messaging-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/messaging": - "resolved" "file:integration/messaging" - "version" "0.2.1" - -"firebase-namespace-integration-test@file:/Users/milamamat/firebase-js-sdk/integration/firebase": - "resolved" "file:integration/firebase" - "version" "0.2.1" - -"firebase-repo-scripts-prune-dts@file:/Users/milamamat/firebase-js-sdk/repo-scripts/prune-dts": - "resolved" "file:repo-scripts/prune-dts" - "version" "0.1.0" - dependencies: - "eslint" "7.32.0" - "eslint-plugin-unused-imports" "2.0.0" - "prettier" "2.7.1" - -"firebase-size-analysis@file:/Users/milamamat/firebase-js-sdk/repo-scripts/size-analysis": - "resolved" "file:repo-scripts/size-analysis" - "version" "0.1.0" - dependencies: - "@firebase/util" "1.7.3" - "@rollup/plugin-commonjs" "21.1.0" - "@rollup/plugin-json" "4.1.0" - "@rollup/plugin-node-resolve" "13.3.0" - "@rollup/plugin-virtual" "2.1.0" - "@types/webpack" "5.28.0" - "child-process-promise" "2.2.1" - "glob" "7.2.3" - "gzip-size" "6.0.0" - "memfs" "3.4.7" - "rollup" "2.79.1" - "rollup-plugin-replace" "2.2.0" - "rollup-plugin-typescript2" "0.31.2" - "terser" "5.15.1" - "tmp" "0.2.1" - "typescript" "4.2.2" - "webpack" "4.46.0" - "webpack-virtual-modules" "0.4.5" - "yargs" "17.6.0" - -"firebase-tools@11.2.2": - "integrity" "sha512-s2jot8WDmw4BpReFUx5IUYtdNCykjkK/GtFGWhYoeV6Hc9Xtas53L4ixHfZRPhM68y/492oAsN3jNIDpXAjfTw==" - "resolved" "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.2.2.tgz" - "version" "11.2.2" +fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" + integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== + +fast-url-parser@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +faye-websocket@0.11.4: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fclone@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" + integrity sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw== + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +fecha@^4.2.0: + version "4.2.1" + resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" + integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q== + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + +filesize@^6.1.0: + version "6.4.0" + resolved "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz#914f50471dd66fdca3cefe628bd0cde4ef769bcd" + integrity sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= + +finalhandler@1.1.2, finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.2.0, find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-free-port@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/find-free-port/-/find-free-port-2.0.0.tgz#4b22e5f6579eb1a38c41ac6bcb3efed1b6da9b1b" + integrity sha1-SyLl9leesaOMQaxryz7+0bbamxs= + +find-package-json@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz#4057d1b943f82d8445fe52dc9cf456f6b8b58083" + integrity sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw== + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root2@1.2.16: + version "1.2.16" + resolved "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" + integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== + dependencies: + micromatch "^4.0.2" + pkg-dir "^4.2.0" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +firebase-frameworks@^0.4.2: + version "0.4.2" + resolved "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.4.2.tgz#f112f8afeec35b5532d8b9bbb2886f9cff68f61b" + integrity sha512-a3xNE3wPh8JWq2WOgWlSypVS9O/y/3/3Im9EV7bNBF44wFV2oOAyFdVgDk6it81+lBRv7ci8PttgQZohtsFeVA== + dependencies: + fs-extra "^10.1.0" + jsonc-parser "^3.0.0" + semver "^7.3.7" + tslib "^2.3.1" + +firebase-tools@11.2.2: + version "11.2.2" + resolved "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.2.2.tgz#21984429cb255d80fa8035e8b0c14701763579ee" + integrity sha512-s2jot8WDmw4BpReFUx5IUYtdNCykjkK/GtFGWhYoeV6Hc9Xtas53L4ixHfZRPhM68y/492oAsN3jNIDpXAjfTw== dependencies: "@google-cloud/pubsub" "^3.0.1" - "abort-controller" "^3.0.0" - "ajv" "^6.12.6" - "archiver" "^5.0.0" - "body-parser" "^1.19.0" - "chokidar" "^3.0.2" - "cjson" "^0.3.1" - "cli-color" "^2.0.2" - "cli-table" "0.3.11" - "commander" "^4.0.1" - "configstore" "^5.0.1" - "cors" "^2.8.5" - "cross-env" "^5.1.3" - "cross-spawn" "^7.0.1" - "csv-parse" "^5.0.4" - "exegesis" "^4.1.0" - "exegesis-express" "^4.0.0" - "express" "^4.16.4" - "filesize" "^6.1.0" - "firebase-frameworks" "^0.4.2" - "form-data" "^4.0.0" - "fs-extra" "^10.1.0" - "glob" "^7.1.2" - "google-auth-library" "^7.11.0" - "inquirer" "^8.2.0" - "js-yaml" "^3.13.1" - "jsonwebtoken" "^8.5.1" - "leven" "^3.1.0" - "libsodium-wrappers" "^0.7.10" - "lodash" "^4.17.21" - "marked" "^4.0.14" - "marked-terminal" "^5.1.1" - "mime" "^2.5.2" - "minimatch" "^3.0.4" - "morgan" "^1.10.0" - "node-fetch" "^2.6.7" - "open" "^6.3.0" - "ora" "^5.4.1" - "portfinder" "^1.0.23" - "progress" "^2.0.3" - "proxy-agent" "^5.0.0" - "request" "^2.87.0" - "retry" "^0.13.1" - "rimraf" "^3.0.0" - "semver" "^5.7.1" - "stream-chain" "^2.2.4" - "stream-json" "^1.7.3" - "superstatic" "^8.0.0" - "tar" "^6.1.11" - "tcp-port-used" "^1.0.2" - "tmp" "^0.2.1" - "triple-beam" "^1.3.0" - "universal-analytics" "^0.5.3" - "unzipper" "^0.10.10" - "update-notifier" "^5.1.0" - "uuid" "^8.3.2" - "winston" "^3.0.0" - "winston-transport" "^4.4.0" - "ws" "^7.2.3" - -"firebase@*", "firebase@^9.0.0", "firebase@9.14.0", "firebase@file:/Users/milamamat/firebase-js-sdk/packages/firebase": - "resolved" "file:packages/firebase" - "version" "9.14.0" - dependencies: - "@firebase/analytics" "0.8.4" - "@firebase/analytics-compat" "0.1.17" - "@firebase/app" "0.8.4" - "@firebase/app-check" "0.5.17" - "@firebase/app-check-compat" "0.2.17" - "@firebase/app-compat" "0.1.39" - "@firebase/app-types" "0.8.1" - "@firebase/auth" "0.20.11" - "@firebase/auth-compat" "0.2.24" - "@firebase/database" "0.13.10" - "@firebase/database-compat" "0.2.10" - "@firebase/firestore" "3.7.3" - "@firebase/firestore-compat" "0.2.3" - "@firebase/functions" "0.8.8" - "@firebase/functions-compat" "0.2.8" - "@firebase/installations" "0.5.16" - "@firebase/installations-compat" "0.1.16" - "@firebase/messaging" "0.11.0" - "@firebase/messaging-compat" "0.1.21" - "@firebase/performance" "0.5.17" - "@firebase/performance-compat" "0.1.17" - "@firebase/remote-config" "0.3.15" - "@firebase/remote-config-compat" "0.1.16" - "@firebase/storage" "0.9.14" - "@firebase/storage-compat" "0.1.22" - "@firebase/util" "1.7.3" - -"flagged-respawn@^1.0.0": - "integrity" "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" - "resolved" "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz" - "version" "1.0.1" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flat@^5.0.2": - "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - "version" "5.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" - "version" "3.2.4" - -"flatted@^3.2.5": - "integrity" "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" - "version" "3.2.5" - -"flush-write-stream@^1.0.0", "flush-write-stream@^1.0.2": - "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" - "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "inherits" "^2.0.3" - "readable-stream" "^2.3.6" - -"fn.name@1.x.x": - "integrity" "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - "resolved" "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz" - "version" "1.1.0" - -"follow-redirects@^1.0.0": - "integrity" "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz" - "version" "1.14.4" - -"follow-redirects@^1.14.4": - "integrity" "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz" - "version" "1.14.8" - -"for-in@^1.0.1", "for-in@^1.0.2": - "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - "version" "1.0.2" - -"for-own@^1.0.0": - "integrity" "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=" - "resolved" "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "for-in" "^1.0.1" - -"foreach@^2.0.5": - "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" - "version" "2.0.5" - -"foreground-child@^2.0.0": - "integrity" "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==" - "resolved" "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "cross-spawn" "^7.0.0" - "signal-exit" "^3.0.2" - -"forever-agent@~0.6.1": - "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - "version" "0.6.1" - -"form-data@^2.5.0": - "integrity" "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz" - "version" "2.5.1" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.6" - "mime-types" "^2.1.12" - -"form-data@^3.0.0": - "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"form-data@^4.0.0": - "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"form-data@~2.3.2": - "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.6" - "mime-types" "^2.1.12" - -"forwarded@0.2.0": - "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - "version" "0.2.0" - -"fragment-cache@^0.2.1": - "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" - "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "map-cache" "^0.2.2" - -"fresh@0.5.2": - "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - "version" "0.5.2" - -"from2@^2.1.0": - "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=" - "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - -"fromentries@^1.2.0": - "integrity" "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" - "resolved" "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" - "version" "1.3.2" - -"fs-constants@^1.0.0": - "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - "version" "1.0.0" - -"fs-extra@^10.0.0": - "integrity" "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz" - "version" "10.0.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^10.0.1": - "integrity" "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz" - "version" "10.0.1" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^10.1.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^7.0.1": - "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "graceful-fs" "^4.1.2" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^8.1.0": - "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^9.1.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@~7.0.1": - "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "graceful-fs" "^4.1.2" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-minipass@^1.2.7": - "integrity" "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" - "version" "1.2.7" - dependencies: - "minipass" "^2.6.0" - -"fs-minipass@^2.0.0", "fs-minipass@^2.1.0": - "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "minipass" "^3.0.0" - -"fs-mkdirp-stream@^1.0.0": - "integrity" "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=" - "resolved" "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "graceful-fs" "^4.1.11" - "through2" "^2.0.3" - -"fs-monkey@^1.0.3": - "integrity" "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" - "version" "1.0.3" - -"fs-write-stream-atomic@^1.0.8": - "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=" - "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "graceful-fs" "^4.1.2" - "iferr" "^0.1.5" - "imurmurhash" "^0.1.4" - "readable-stream" "1 || 2" - -"fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@^1.2.7": - "integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "bindings" "^1.5.0" - "nan" "^2.12.1" - -"fsevents@^2.3.2", "fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"fstream@^1.0.12": - "integrity" "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==" - "resolved" "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" - "version" "1.0.12" - dependencies: - "graceful-fs" "^4.1.2" - "inherits" "~2.0.0" - "mkdirp" ">=0.5 0" - "rimraf" "2" - -"ftp@^0.3.10": - "integrity" "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=" - "resolved" "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" - "version" "0.3.10" - dependencies: - "readable-stream" "1.1.x" - "xregexp" "2.0.0" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"function.prototype.name@^1.1.5": - "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" - "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.0" - "functions-have-names" "^1.2.2" - -"functional-red-black-tree@^1.0.1": - "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - "version" "1.0.1" - -"functions-have-names@^1.2.2": - "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - "version" "1.2.3" - -"gauge@^3.0.0": - "integrity" "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "aproba" "^1.0.3 || ^2.0.0" - "color-support" "^1.1.2" - "console-control-strings" "^1.0.0" - "has-unicode" "^2.0.1" - "object-assign" "^4.1.1" - "signal-exit" "^3.0.0" - "string-width" "^4.2.3" - "strip-ansi" "^6.0.1" - "wide-align" "^1.1.2" - -"gauge@^4.0.3": - "integrity" "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "aproba" "^1.0.3 || ^2.0.0" - "color-support" "^1.1.3" - "console-control-strings" "^1.1.0" - "has-unicode" "^2.0.1" - "signal-exit" "^3.0.7" - "string-width" "^4.2.3" - "strip-ansi" "^6.0.1" - "wide-align" "^1.1.5" - -"gauge@~2.7.3": - "integrity" "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" - "version" "2.7.4" - dependencies: - "aproba" "^1.0.3" - "console-control-strings" "^1.0.0" - "has-unicode" "^2.0.0" - "object-assign" "^4.1.0" - "signal-exit" "^3.0.0" - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wide-align" "^1.1.0" - -"gaxios@^4.0.0": - "integrity" "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==" - "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "abort-controller" "^3.0.0" - "extend" "^3.0.2" - "https-proxy-agent" "^5.0.0" - "is-stream" "^2.0.0" - "node-fetch" "^2.6.1" - -"gaxios@^5.0.0": - "integrity" "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==" - "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "extend" "^3.0.2" - "https-proxy-agent" "^5.0.0" - "is-stream" "^2.0.0" - "node-fetch" "^2.6.7" - -"gcp-metadata@^4.2.0": - "integrity" "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==" - "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "gaxios" "^4.0.0" - "json-bigint" "^1.0.0" - -"gcp-metadata@^5.0.0": - "integrity" "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==" - "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "gaxios" "^5.0.0" - "json-bigint" "^1.0.0" - -"geckodriver@2.0.4": - "integrity" "sha512-3Fu75v6Ov8h5Vt25+djJU56MJA2gRctgjhvG5xGzLFTQjltPz7nojQdBHbmgWznUt3CHl8VaiDn8MaepY7B0dA==" - "resolved" "https://registry.npmjs.org/geckodriver/-/geckodriver-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "adm-zip" "0.5.5" - "bluebird" "3.7.2" - "got" "11.8.2" - "https-proxy-agent" "5.0.0" - "tar" "6.1.9" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^1.0.1": - "integrity" "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" - "version" "1.0.3" - -"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-func-name@^2.0.0": - "integrity" "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" - "resolved" "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - "version" "2.0.0" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1": - "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-pkg-repo@^4.0.0": - "integrity" "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==" - "resolved" "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" - "version" "4.2.1" + abort-controller "^3.0.0" + ajv "^6.12.6" + archiver "^5.0.0" + body-parser "^1.19.0" + chokidar "^3.0.2" + cjson "^0.3.1" + cli-color "^2.0.2" + cli-table "0.3.11" + commander "^4.0.1" + configstore "^5.0.1" + cors "^2.8.5" + cross-env "^5.1.3" + cross-spawn "^7.0.1" + csv-parse "^5.0.4" + exegesis "^4.1.0" + exegesis-express "^4.0.0" + express "^4.16.4" + filesize "^6.1.0" + firebase-frameworks "^0.4.2" + form-data "^4.0.0" + fs-extra "^10.1.0" + glob "^7.1.2" + google-auth-library "^7.11.0" + inquirer "^8.2.0" + js-yaml "^3.13.1" + jsonwebtoken "^8.5.1" + leven "^3.1.0" + libsodium-wrappers "^0.7.10" + lodash "^4.17.21" + marked "^4.0.14" + marked-terminal "^5.1.1" + mime "^2.5.2" + minimatch "^3.0.4" + morgan "^1.10.0" + node-fetch "^2.6.7" + open "^6.3.0" + ora "^5.4.1" + portfinder "^1.0.23" + progress "^2.0.3" + proxy-agent "^5.0.0" + request "^2.87.0" + retry "^0.13.1" + rimraf "^3.0.0" + semver "^5.7.1" + stream-chain "^2.2.4" + stream-json "^1.7.3" + superstatic "^8.0.0" + tar "^6.1.11" + tcp-port-used "^1.0.2" + tmp "^0.2.1" + triple-beam "^1.3.0" + universal-analytics "^0.5.3" + unzipper "^0.10.10" + update-notifier "^5.1.0" + uuid "^8.3.2" + winston "^3.0.0" + winston-transport "^4.4.0" + ws "^7.2.3" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0, flatted@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + +flatted@^3.2.5: + version "3.2.5" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: + version "1.1.1" + resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +fn.name@1.x.x: + version "1.1.0" + resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" + integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== + +follow-redirects@^1.0.0: + version "1.14.4" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" + integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== + +follow-redirects@^1.14.4: + version "1.14.8" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" + integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@^2.5.0: + version "2.5.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fromentries@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" + integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.1, fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs-monkey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +ftp@^0.3.10: + version "0.3.10" + resolved "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaxios@^4.0.0: + version "4.3.2" + resolved "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz#845827c2dc25a0213c8ab4155c7a28910f5be83f" + integrity sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q== + dependencies: + abort-controller "^3.0.0" + extend "^3.0.2" + https-proxy-agent "^5.0.0" + is-stream "^2.0.0" + node-fetch "^2.6.1" + +gaxios@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz#50fc76a2d04bc1700ed8c3ff1561e52255dfc6e0" + integrity sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw== + dependencies: + extend "^3.0.2" + https-proxy-agent "^5.0.0" + is-stream "^2.0.0" + node-fetch "^2.6.7" + +gcp-metadata@^4.2.0: + version "4.3.1" + resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz#fb205fe6a90fef2fd9c85e6ba06e5559ee1eefa9" + integrity sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A== + dependencies: + gaxios "^4.0.0" + json-bigint "^1.0.0" + +gcp-metadata@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz#a00f999f60a4461401e7c515f8a3267cfb401ee7" + integrity sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA== + dependencies: + gaxios "^5.0.0" + json-bigint "^1.0.0" + +geckodriver@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/geckodriver/-/geckodriver-2.0.4.tgz#2f644ede43ce7bea10336d57838179da0f7374d9" + integrity sha512-3Fu75v6Ov8h5Vt25+djJU56MJA2gRctgjhvG5xGzLFTQjltPz7nojQdBHbmgWznUt3CHl8VaiDn8MaepY7B0dA== + dependencies: + adm-zip "0.5.5" + bluebird "3.7.2" + got "11.8.2" + https-proxy-agent "5.0.0" + tar "6.1.9" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: "@hutson/parse-repository-url" "^3.0.0" - "hosted-git-info" "^4.0.0" - "through2" "^2.0.0" - "yargs" "^16.2.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" -"get-port@^5.1.1": - "integrity" "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" - "resolved" "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" - "version" "5.1.1" +get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== -"get-stream@^4.1.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: - "pump" "^3.0.0" + pump "^3.0.0" -"get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: - "pump" "^3.0.0" + pump "^3.0.0" -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" + call-bind "^1.0.2" + get-intrinsic "^1.1.1" -"get-uri@3": - "integrity" "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==" - "resolved" "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz" - "version" "3.0.2" +get-uri@3: + version "3.0.2" + resolved "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== dependencies: "@tootallnate/once" "1" - "data-uri-to-buffer" "3" - "debug" "4" - "file-uri-to-path" "2" - "fs-extra" "^8.1.0" - "ftp" "^0.3.10" - -"get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - "version" "2.0.6" - -"getpass@^0.1.1": - "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" - "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - "version" "0.1.7" - dependencies: - "assert-plus" "^1.0.0" - -"git-raw-commits@^2.0.8": - "integrity" "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==" - "resolved" "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz" - "version" "2.0.10" - dependencies: - "dargs" "^7.0.0" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "split2" "^3.0.0" - "through2" "^4.0.0" - -"git-remote-origin-url@^2.0.0": - "integrity" "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=" - "resolved" "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "gitconfiglocal" "^1.0.0" - "pify" "^2.3.0" - -"git-semver-tags@^4.1.1": - "integrity" "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==" - "resolved" "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "meow" "^8.0.0" - "semver" "^6.0.0" - -"git-up@^4.0.0": - "integrity" "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==" - "resolved" "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "is-ssh" "^1.3.0" - "parse-url" "^6.0.0" - -"git-url-parse@^11.4.4": - "integrity" "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==" - "resolved" "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz" - "version" "11.6.0" - dependencies: - "git-up" "^4.0.0" - -"gitconfiglocal@^1.0.0": - "integrity" "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=" - "resolved" "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "ini" "^1.3.2" - -"glob-parent@^3.1.0": - "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-glob" "^3.1.0" - "path-dirname" "^1.0.0" - -"glob-parent@^5.1.1", "glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-slash@^1.0.0": - "integrity" "sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U=" - "resolved" "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz" - "version" "1.0.0" - -"glob-slasher@^1.0.1": - "integrity" "sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44=" - "resolved" "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "glob-slash" "^1.0.0" - "lodash.isobject" "^2.4.1" - "toxic" "^1.0.0" - -"glob-stream@^6.1.0": - "integrity" "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=" - "resolved" "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "extend" "^3.0.0" - "glob" "^7.1.1" - "glob-parent" "^3.1.0" - "is-negated-glob" "^1.0.0" - "ordered-read-streams" "^1.0.0" - "pumpify" "^1.3.5" - "readable-stream" "^2.1.5" - "remove-trailing-separator" "^1.0.1" - "to-absolute-glob" "^2.0.0" - "unique-stream" "^2.0.2" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob-watcher@^5.0.3": - "integrity" "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==" - "resolved" "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz" - "version" "5.0.5" - dependencies: - "anymatch" "^2.0.0" - "async-done" "^1.2.0" - "chokidar" "^2.0.0" - "is-negated-glob" "^1.0.0" - "just-debounce" "^1.0.0" - "normalize-path" "^3.0.0" - "object.defaults" "^1.1.0" - -"glob@^7.0.0", "glob@^7.0.3", "glob@^7.0.6", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6", "glob@^7.1.7", "glob@~7.2.0", "glob@7.2.3": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@^8.0.0": - "integrity" "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz" - "version" "8.0.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^5.0.1" - "once" "^1.3.0" - -"glob@7.2.0": - "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-dirs@^2.0.1": - "integrity" "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "ini" "1.3.7" - -"global-dirs@^3.0.0": - "integrity" "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ini" "2.0.0" - -"global-modules@^1.0.0": - "integrity" "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==" - "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "global-prefix" "^1.0.1" - "is-windows" "^1.0.1" - "resolve-dir" "^1.0.0" - -"global-prefix@^1.0.1": - "integrity" "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=" - "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "expand-tilde" "^2.0.2" - "homedir-polyfill" "^1.0.1" - "ini" "^1.3.4" - "is-windows" "^1.0.1" - "which" "^1.2.14" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.6.0": - "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" - "version" "13.11.0" - dependencies: - "type-fest" "^0.20.2" - -"globals@^13.9.0": - "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" - "version" "13.11.0" - dependencies: - "type-fest" "^0.20.2" - -"globals@^9.18.0": - "integrity" "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - "resolved" "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz" - "version" "9.18.0" - -"globby@^11.0.0", "globby@^11.0.1", "globby@^11.0.2": - "integrity" "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" - "version" "11.0.4" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.1.1" - "ignore" "^5.1.4" - "merge2" "^1.3.0" - "slash" "^3.0.0" - -"globby@^11.0.3": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.2.9" - "ignore" "^5.2.0" - "merge2" "^1.4.1" - "slash" "^3.0.0" - -"globby@^5.0.0": - "integrity" "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=" - "resolved" "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "array-union" "^1.0.1" - "arrify" "^1.0.0" - "glob" "^7.0.3" - "object-assign" "^4.0.1" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - -"globby@10.0.1": - "integrity" "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==" - "resolved" "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz" - "version" "10.0.1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +git-raw-commits@^2.0.8: + version "2.0.10" + resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" + integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== + dependencies: + meow "^8.0.0" + semver "^6.0.0" + +git-up@^4.0.0: + version "4.0.5" + resolved "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" + integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== + dependencies: + is-ssh "^1.3.0" + parse-url "^6.0.0" + +git-url-parse@^11.4.4: + version "11.6.0" + resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== + dependencies: + git-up "^4.0.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= + dependencies: + ini "^1.3.2" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz#fe52efa433233f74a2fe64c7abb9bc848202ab95" + integrity sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U= + +glob-slasher@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz#747a0e5bb222642ee10d3e05443e109493cb0f8e" + integrity sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44= + dependencies: + glob-slash "^1.0.0" + lodash.isobject "^2.4.1" + toxic "^1.0.0" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob-watcher@^5.0.3: + version "5.0.5" + resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + normalize-path "^3.0.0" + object.defaults "^1.1.0" + +glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: + version "7.2.0" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.2.3, glob@~7.2.0: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== + dependencies: + ini "1.3.7" + +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + dependencies: + type-fest "^0.20.2" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +globby@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== dependencies: "@types/glob" "^7.1.1" - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.0.3" - "glob" "^7.1.3" - "ignore" "^5.1.1" - "merge2" "^1.2.3" - "slash" "^3.0.0" - -"glogg@^1.0.0": - "integrity" "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==" - "resolved" "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "sparkles" "^1.0.0" - -"google-auth-library@^7.11.0": - "integrity" "sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==" - "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz" - "version" "7.14.1" - dependencies: - "arrify" "^2.0.0" - "base64-js" "^1.3.0" - "ecdsa-sig-formatter" "^1.0.11" - "fast-text-encoding" "^1.0.0" - "gaxios" "^4.0.0" - "gcp-metadata" "^4.2.0" - "gtoken" "^5.0.4" - "jws" "^4.0.0" - "lru-cache" "^6.0.0" - -"google-auth-library@^8.0.2": - "integrity" "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==" - "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "arrify" "^2.0.0" - "base64-js" "^1.3.0" - "ecdsa-sig-formatter" "^1.0.11" - "fast-text-encoding" "^1.0.0" - "gaxios" "^5.0.0" - "gcp-metadata" "^5.0.0" - "gtoken" "^6.0.0" - "jws" "^4.0.0" - "lru-cache" "^6.0.0" - -"google-closure-compiler-java@^20220301.0.0": - "integrity" "sha512-kv5oaUI4xn3qWYWtRHRqbm314kesfeFlCxiFRcvBIx13mKfR0qvbOkgajLpSM6nb3voNM/E9MB9mfvHJ9XIXSg==" - "resolved" "https://registry.npmjs.org/google-closure-compiler-java/-/google-closure-compiler-java-20220301.0.0.tgz" - "version" "20220301.0.0" - -"google-closure-compiler-osx@^20220301.0.0": - "integrity" "sha512-Xqf0m5takwfv43ML4aODJxmAsAZQMTMo683gyRs0APAecncs+YKxaDPMH+pQAdI3HPY2QsvkarlunAp0HSwU5A==" - "resolved" "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20220301.0.0.tgz" - "version" "20220301.0.0" - -"google-closure-compiler@20220301.0.0": - "integrity" "sha512-+yAqhufKIWddg587tnvRll92eLJQIlzINmgr1h5gLXZVioY3svrSYKH4TZiUuNj0UnVFoK0o1YuW122x+iFl2g==" - "resolved" "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20220301.0.0.tgz" - "version" "20220301.0.0" - dependencies: - "chalk" "2.x" - "google-closure-compiler-java" "^20220301.0.0" - "minimist" "1.x" - "vinyl" "2.x" - "vinyl-sourcemaps-apply" "^0.2.0" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^11.0.0, globby@^11.0.1, globby@^11.0.2: + version "11.0.4" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^11.0.3: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + +google-auth-library@^7.11.0: + version "7.14.1" + resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c" + integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA== + dependencies: + arrify "^2.0.0" + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + fast-text-encoding "^1.0.0" + gaxios "^4.0.0" + gcp-metadata "^4.2.0" + gtoken "^5.0.4" + jws "^4.0.0" + lru-cache "^6.0.0" + +google-auth-library@^8.0.2: + version "8.1.1" + resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz#4068d2b1512b812d3d3dfbdc848452a0d5a550de" + integrity sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg== + dependencies: + arrify "^2.0.0" + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + fast-text-encoding "^1.0.0" + gaxios "^5.0.0" + gcp-metadata "^5.0.0" + gtoken "^6.0.0" + jws "^4.0.0" + lru-cache "^6.0.0" + +google-closure-compiler-java@^20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-compiler-java/-/google-closure-compiler-java-20220301.0.0.tgz#6283bad6991ae9cfb3a9fdf72bbd7bf0c8f21fb6" + integrity sha512-kv5oaUI4xn3qWYWtRHRqbm314kesfeFlCxiFRcvBIx13mKfR0qvbOkgajLpSM6nb3voNM/E9MB9mfvHJ9XIXSg== + +google-closure-compiler-linux@^20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-compiler-linux/-/google-closure-compiler-linux-20220301.0.0.tgz#3ac8cd1cb51d703a89bc49c239df4c10b57f37bb" + integrity sha512-N2D0SRnxZ7kqdoZ2WsmLIjmizR4Xr0HaUYDK2RCOtsV21RYV8OR2u0ATp7aXhYy8WfxvYH478Ehvmc9Uzy986A== + +google-closure-compiler-osx@^20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20220301.0.0.tgz#1a49eb1d78b6bfb90ebe51c24a7151cee4f319a3" + integrity sha512-Xqf0m5takwfv43ML4aODJxmAsAZQMTMo683gyRs0APAecncs+YKxaDPMH+pQAdI3HPY2QsvkarlunAp0HSwU5A== + +google-closure-compiler-windows@^20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-compiler-windows/-/google-closure-compiler-windows-20220301.0.0.tgz#b09df91a789e458eb9ebf054a9bb2d2b29622b6f" + integrity sha512-s+FU/vcpLTEgx8MCMgj0STCYkVk7syzF9KqiYPOTtbTD9ra99HPe/CEuQG7iJ3Fty9dhm9zEaetv4Dp4Wr6x+Q== + +google-closure-compiler@20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20220301.0.0.tgz#1c4f56076ae5b2c900a91d0a72515f7ee7f5d3cd" + integrity sha512-+yAqhufKIWddg587tnvRll92eLJQIlzINmgr1h5gLXZVioY3svrSYKH4TZiUuNj0UnVFoK0o1YuW122x+iFl2g== + dependencies: + chalk "2.x" + google-closure-compiler-java "^20220301.0.0" + minimist "1.x" + vinyl "2.x" + vinyl-sourcemaps-apply "^0.2.0" optionalDependencies: - "google-closure-compiler-linux" "^20220301.0.0" - "google-closure-compiler-osx" "^20220301.0.0" - "google-closure-compiler-windows" "^20220301.0.0" - -"google-closure-library@20220301.0.0": - "integrity" "sha512-GRRBfG80JPqkKkTxiRoVr/x4UmnPW2aeA72NH0zapPtrvSkAOCzfJFrdudLrAJJtXPdSE65+CkYrpZX8tP0mCQ==" - "resolved" "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20220301.0.0.tgz" - "version" "20220301.0.0" - -"google-gax@^3.0.1": - "integrity" "sha512-AyP53w0gHcWlzxm+jSgqCR3Xu4Ld7EpSjhtNBnNhzwwWaIUyphH9kBGNIEH+i4UGkTUXOY29K/Re8EiAvkBRGw==" - "resolved" "https://registry.npmjs.org/google-gax/-/google-gax-3.5.2.tgz" - "version" "3.5.2" - dependencies: - "@grpc/grpc-js" "~1.7.0" - "@grpc/proto-loader" "^0.7.0" + google-closure-compiler-linux "^20220301.0.0" + google-closure-compiler-osx "^20220301.0.0" + google-closure-compiler-windows "^20220301.0.0" + +google-closure-library@20220301.0.0: + version "20220301.0.0" + resolved "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20220301.0.0.tgz#c9aaa99218f949b1f914a86f2a4529dea20e2e47" + integrity sha512-GRRBfG80JPqkKkTxiRoVr/x4UmnPW2aeA72NH0zapPtrvSkAOCzfJFrdudLrAJJtXPdSE65+CkYrpZX8tP0mCQ== + +google-gax@^3.0.1: + version "3.1.3" + resolved "https://registry.npmjs.org/google-gax/-/google-gax-3.1.3.tgz#2380b5a39e55475cff2f5526909815479c50d712" + integrity sha512-hWF2WbfD3o1Fnfq3qf0Wnr3DuQczC/5ebGYGB5swUZXl8sT5y5mhDbxOKAg+xUzhiPgnQADNyFk0uIsA+NKRIw== + dependencies: + "@grpc/grpc-js" "~1.6.0" + "@grpc/proto-loader" "^0.6.12" "@types/long" "^4.0.0" - "abort-controller" "^3.0.0" - "duplexify" "^4.0.0" - "fast-text-encoding" "^1.0.3" - "google-auth-library" "^8.0.2" - "is-stream-ended" "^0.1.4" - "node-fetch" "^2.6.1" - "object-hash" "^3.0.0" - "proto3-json-serializer" "^1.0.0" - "protobufjs" "7.1.2" - "protobufjs-cli" "1.0.2" - "retry-request" "^5.0.0" - -"google-p12-pem@^3.0.3": - "integrity" "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==" - "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "node-forge" "^0.10.0" - -"google-p12-pem@^4.0.0": - "integrity" "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==" - "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "node-forge" "^1.3.1" - -"got@^9.6.0": - "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" - "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - "version" "9.6.0" - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - "cacheable-request" "^6.0.0" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^4.1.0" - "lowercase-keys" "^1.0.1" - "mimic-response" "^1.0.1" - "p-cancelable" "^1.0.0" - "to-readable-stream" "^1.0.0" - "url-parse-lax" "^3.0.0" - -"got@11.8.2": - "integrity" "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==" - "resolved" "https://registry.npmjs.org/got/-/got-11.8.2.tgz" - "version" "11.8.2" + abort-controller "^3.0.0" + duplexify "^4.0.0" + fast-text-encoding "^1.0.3" + google-auth-library "^8.0.2" + is-stream-ended "^0.1.4" + node-fetch "^2.6.1" + object-hash "^3.0.0" + proto3-json-serializer "^1.0.0" + protobufjs "6.11.3" + retry-request "^5.0.0" + +google-p12-pem@^3.0.3: + version "3.1.2" + resolved "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz#c3d61c2da8e10843ff830fdb0d2059046238c1d4" + integrity sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A== + dependencies: + node-forge "^0.10.0" + +google-p12-pem@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz#f46581add1dc6ea0b96160cda6ce37ee35ab8ca3" + integrity sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w== + dependencies: + node-forge "^1.3.1" + +got@11.8.2: + version "11.8.2" + resolved "https://registry.npmjs.org/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" + integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" "@types/cacheable-request" "^6.0.1" "@types/responselike" "^1.0.0" - "cacheable-lookup" "^5.0.3" - "cacheable-request" "^7.0.1" - "decompress-response" "^6.0.0" - "http2-wrapper" "^1.0.0-beta.5.2" - "lowercase-keys" "^2.0.0" - "p-cancelable" "^2.0.0" - "responselike" "^2.0.0" - -"graceful-fs@^4.0.0", "graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.5", "graceful-fs@^4.1.9", "graceful-fs@^4.2.2", "graceful-fs@^4.2.3", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6": - "integrity" "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" - "version" "4.2.8" - -"graceful-fs@^4.1.6", "graceful-fs@^4.2.0": - "integrity" "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" - "version" "4.2.9" - -"grapheme-splitter@^1.0.4": - "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - "version" "1.0.4" - -"growl@1.10.5": - "integrity" "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - "resolved" "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - "version" "1.10.5" - -"gtoken@^5.0.4": - "integrity" "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==" - "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "gaxios" "^4.0.0" - "google-p12-pem" "^3.0.3" - "jws" "^4.0.0" - -"gtoken@^6.0.0": - "integrity" "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==" - "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "gaxios" "^4.0.0" - "google-p12-pem" "^4.0.0" - "jws" "^4.0.0" - -"gulp-cli@^2.2.0": - "integrity" "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==" - "resolved" "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "ansi-colors" "^1.0.1" - "archy" "^1.0.0" - "array-sort" "^1.0.0" - "color-support" "^1.1.3" - "concat-stream" "^1.6.0" - "copy-props" "^2.0.1" - "fancy-log" "^1.3.2" - "gulplog" "^1.0.0" - "interpret" "^1.4.0" - "isobject" "^3.0.1" - "liftoff" "^3.1.0" - "matchdep" "^2.0.0" - "mute-stdout" "^1.0.0" - "pretty-hrtime" "^1.0.0" - "replace-homedir" "^1.0.0" - "semver-greatest-satisfied-range" "^1.1.0" - "v8flags" "^3.2.0" - "yargs" "^7.1.0" - -"gulp-filter@7.0.0": - "integrity" "sha512-ZGWtJo0j1mHfP77tVuhyqem4MRA5NfNRjoVe6VAkLGeQQ/QGo2VsFwp7zfPTGDsd1rwzBmoDHhxpE6f5B3Zuaw==" - "resolved" "https://registry.npmjs.org/gulp-filter/-/gulp-filter-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "multimatch" "^5.0.0" - "plugin-error" "^1.0.1" - "streamfilter" "^3.0.0" - "to-absolute-glob" "^2.0.2" - -"gulp-replace@1.1.3": - "integrity" "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==" - "resolved" "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz" - "version" "1.1.3" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.1" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.8" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.9" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +gtoken@^5.0.4: + version "5.3.1" + resolved "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz#c1c2598a826f2b5df7c6bb53d7be6cf6d50c3c78" + integrity sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ== + dependencies: + gaxios "^4.0.0" + google-p12-pem "^3.0.3" + jws "^4.0.0" + +gtoken@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz#62938c679b364662ce21077858e0db3cfe025363" + integrity sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ== + dependencies: + gaxios "^4.0.0" + google-p12-pem "^4.0.0" + jws "^4.0.0" + +gulp-cli@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.4.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.2.0" + yargs "^7.1.0" + +gulp-filter@7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/gulp-filter/-/gulp-filter-7.0.0.tgz#e0712f3e57b5d647f802a1880255cafb54abf158" + integrity sha512-ZGWtJo0j1mHfP77tVuhyqem4MRA5NfNRjoVe6VAkLGeQQ/QGo2VsFwp7zfPTGDsd1rwzBmoDHhxpE6f5B3Zuaw== + dependencies: + multimatch "^5.0.0" + plugin-error "^1.0.1" + streamfilter "^3.0.0" + to-absolute-glob "^2.0.2" + +gulp-replace@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz#8641cdca78e683e8573ca4a012e7e4ebb7e4db60" + integrity sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ== dependencies: "@types/node" "^14.14.41" "@types/vinyl" "^2.0.4" - "istextorbinary" "^3.0.0" - "replacestream" "^4.0.3" - "yargs-parser" ">=5.0.0-security.0" + istextorbinary "^3.0.0" + replacestream "^4.0.3" + yargs-parser ">=5.0.0-security.0" -"gulp-sourcemaps@3.0.0": - "integrity" "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==" - "resolved" "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz" - "version" "3.0.0" +gulp-sourcemaps@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz#2e154e1a2efed033c0e48013969e6f30337b2743" + integrity sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ== dependencies: "@gulp-sourcemaps/identity-map" "^2.0.1" "@gulp-sourcemaps/map-sources" "^1.0.0" - "acorn" "^6.4.1" - "convert-source-map" "^1.0.0" - "css" "^3.0.0" - "debug-fabulous" "^1.0.0" - "detect-newline" "^2.0.0" - "graceful-fs" "^4.0.0" - "source-map" "^0.6.0" - "strip-bom-string" "^1.0.0" - "through2" "^2.0.0" - -"gulp@>=4", "gulp@4.0.2": - "integrity" "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==" - "resolved" "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "glob-watcher" "^5.0.3" - "gulp-cli" "^2.2.0" - "undertaker" "^1.2.1" - "vinyl-fs" "^3.0.0" - -"gulplog@^1.0.0": - "integrity" "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=" - "resolved" "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "glogg" "^1.0.0" - -"gzip-size@6.0.0": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"handlebars@^4.7.2", "handlebars@^4.7.6": - "integrity" "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==" - "resolved" "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" - "version" "4.7.7" - dependencies: - "minimist" "^1.2.5" - "neo-async" "^2.6.0" - "source-map" "^0.6.1" - "wordwrap" "^1.0.0" + acorn "^6.4.1" + convert-source-map "^1.0.0" + css "^3.0.0" + debug-fabulous "^1.0.0" + detect-newline "^2.0.0" + graceful-fs "^4.0.0" + source-map "^0.6.0" + strip-bom-string "^1.0.0" + through2 "^2.0.0" + +gulp@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +gzip-size@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handlebars@^4.7.2, handlebars@^4.7.6: + version "4.7.7" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" optionalDependencies: - "uglify-js" "^3.1.4" - -"har-schema@^2.0.0": - "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - "version" "2.0.0" - -"har-validator@~5.1.3": - "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" - "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - "version" "5.1.5" - dependencies: - "ajv" "^6.12.3" - "har-schema" "^2.0.0" - -"hard-rejection@^2.1.0": - "integrity" "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" - "resolved" "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - "version" "2.1.0" - -"has-ansi@^2.0.0": - "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" - "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ansi-regex" "^2.0.0" - -"has-bigints@^1.0.1": - "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - "version" "1.0.1" - -"has-bigints@^1.0.2": - "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - "version" "1.0.2" - -"has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2": - "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - "version" "1.0.2" - -"has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has-unicode@^2.0.0", "has-unicode@^2.0.1": - "integrity" "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - "resolved" "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - "version" "2.0.1" - -"has-value@^0.3.1": - "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "get-value" "^2.0.3" - "has-values" "^0.1.4" - "isobject" "^2.0.0" - -"has-value@^1.0.0": - "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-value" "^2.0.6" - "has-values" "^1.0.0" - "isobject" "^3.0.0" - -"has-values@^0.1.4": - "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - "version" "0.1.4" - -"has-values@^1.0.0": - "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-number" "^3.0.0" - "kind-of" "^4.0.0" - -"has-yarn@^2.1.0": - "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" - "version" "2.1.0" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash-base@^3.0.0": - "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" - "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"hash.js@^1.0.0", "hash.js@^1.0.3": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"hasha@^5.0.0": - "integrity" "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==" - "resolved" "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz" - "version" "5.2.2" - dependencies: - "is-stream" "^2.0.0" - "type-fest" "^0.8.0" - -"he@^1.2.0", "he@1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"highlight.js@^9.17.1": - "integrity" "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==" - "resolved" "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz" - "version" "9.18.5" - -"hmac-drbg@^1.0.1": - "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"homedir-polyfill@^1.0.1": - "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" - "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "parse-passwd" "^1.0.0" - -"hosted-git-info@^2.1.4": - "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - "version" "2.8.9" - -"hosted-git-info@^4.0.0", "hosted-git-info@^4.0.1": - "integrity" "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "lru-cache" "^6.0.0" - -"html-encoding-sniffer@^3.0.0": - "integrity" "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "whatwg-encoding" "^2.0.0" - -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" - -"http-cache-semantics@^4.0.0", "http-cache-semantics@^4.1.0": - "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - "version" "4.1.0" - -"http-errors@1.7.2": - "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" - "version" "1.7.2" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.1" - "statuses" ">= 1.5.0 < 2" - "toidentifier" "1.0.0" - -"http-errors@1.7.3": - "integrity" "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz" - "version" "1.7.3" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.4" - "setprototypeof" "1.1.1" - "statuses" ">= 1.5.0 < 2" - "toidentifier" "1.0.0" - -"http-errors@2.0.0": - "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "depd" "2.0.0" - "inherits" "2.0.4" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "toidentifier" "1.0.1" - -"http-parser-js@>=0.5.1": - "integrity" "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" - "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" - "version" "0.5.3" - -"http-proxy-agent@^4.0.0", "http-proxy-agent@^4.0.1": - "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - "version" "4.0.1" + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0, has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasha@^5.0.0: + version "5.2.2" + resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" + integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== + dependencies: + is-stream "^2.0.0" + type-fest "^0.8.0" + +he@1.2.0, he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@^9.17.1: + version "9.18.5" + resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@1.7.3, http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" - -"http-proxy@^1.18.1": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"http-server@14.1.1": - "integrity" "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==" - "resolved" "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" - "version" "14.1.1" - dependencies: - "basic-auth" "^2.0.1" - "chalk" "^4.1.2" - "corser" "^2.0.1" - "he" "^1.2.0" - "html-encoding-sniffer" "^3.0.0" - "http-proxy" "^1.18.1" - "mime" "^1.6.0" - "minimist" "^1.2.6" - "opener" "^1.5.1" - "portfinder" "^1.0.28" - "secure-compare" "3.0.1" - "union" "~0.5.0" - "url-join" "^4.0.1" - -"http-signature@~1.2.0": - "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" - "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^1.2.2" - "sshpk" "^1.7.0" - -"http2-wrapper@^1.0.0-beta.5.2": - "integrity" "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==" - "resolved" "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "quick-lru" "^5.1.1" - "resolve-alpn" "^1.0.0" - -"https-browserify@^1.0.0": - "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - "version" "1.0.0" - -"https-proxy-agent@^2.2.1": - "integrity" "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" - "version" "2.2.4" - dependencies: - "agent-base" "^4.3.0" - "debug" "^3.1.0" - -"https-proxy-agent@^5.0.0", "https-proxy-agent@5", "https-proxy-agent@5.0.0": - "integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "agent-base" "6" - "debug" "4" - -"human-id@^1.0.2": - "integrity" "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==" - "resolved" "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz" - "version" "1.0.2" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"humanize-ms@^1.2.1": - "integrity" "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=" - "resolved" "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "ms" "^2.0.0" - -"iconv-lite@^0.4.24", "iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"iconv-lite@^0.6.2": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"iconv-lite@0.6.3": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"idb@7.0.1": - "integrity" "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" - "resolved" "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz" - "version" "7.0.1" - -"ieee754@^1.1.13", "ieee754@^1.1.4": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"iferr@^0.1.5": - "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" - "version" "0.1.5" - -"ignore-walk@^3.0.3": - "integrity" "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==" - "resolved" "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "minimatch" "^3.0.4" - -"ignore@^4.0.6": - "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - "version" "4.0.6" - -"ignore@^5.1.1": - "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - "version" "5.1.8" - -"ignore@^5.1.4": - "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - "version" "5.1.8" - -"ignore@^5.1.8": - "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - "version" "5.2.0" - -"ignore@^5.2.0": - "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - "version" "5.2.0" - -"immediate@^3.2.2": - "integrity" "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" - "version" "3.3.0" - -"immediate@~3.0.5": - "integrity" "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" - "version" "3.0.6" - -"import-fresh@^3.0.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-lazy@^2.1.0": - "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - "version" "2.1.0" - -"import-lazy@~4.0.0": - "integrity" "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" - "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" - "version" "4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^3.0.0": - "integrity" "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" - "version" "3.2.0" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"indexeddbshim@8.0.0": - "integrity" "sha512-LV9e1qkLcNgR3jTSErcJBDeUSh8n3Of/TY93XToYaJ86nK+qqCvMDk9yDldxHv0vTLCzec/IBjmWhYZH3I82Ag==" - "resolved" "https://registry.npmjs.org/indexeddbshim/-/indexeddbshim-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "eventtargeter" "0.8.0" - "sync-promise" "git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features" - "typeson" "6.1.0" - "typeson-registry" "1.0.0-alpha.39" - "websql" "git+https://github.com/brettz9/node-websql.git#configurable-secure3" - -"infer-owner@^1.0.3", "infer-owner@^1.0.4": - "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - "version" "1.0.4" - -"inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.0", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@~2.0.4", "inherits@2", "inherits@2.0.4": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.1": - "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - "version" "2.0.1" - -"inherits@2.0.3": - "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"ini@^1.3.2", "ini@^1.3.4", "ini@~1.3.0": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"ini@1.3.7": - "integrity" "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" - "version" "1.3.7" - -"ini@2.0.0": - "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - "version" "2.0.0" - -"init-package-json@^2.0.2": - "integrity" "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==" - "resolved" "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "npm-package-arg" "^8.1.5" - "promzard" "^0.3.0" - "read" "~1.0.1" - "read-package-json" "^4.1.1" - "semver" "^7.3.5" - "validate-npm-package-license" "^3.0.4" - "validate-npm-package-name" "^3.0.0" - -"inline-source-map@~0.6.0": - "integrity" "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=" - "resolved" "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "source-map" "~0.5.3" - -"inquirer@^7.3.3": - "integrity" "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" - "version" "7.3.3" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-width" "^3.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.19" - "mute-stream" "0.0.8" - "run-async" "^2.4.0" - "rxjs" "^6.6.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - -"inquirer@^8.2.0", "inquirer@8.2.4": - "integrity" "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz" - "version" "8.2.4" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^4.1.1" - "cli-cursor" "^3.1.0" - "cli-width" "^3.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.21" - "mute-stream" "0.0.8" - "ora" "^5.4.1" - "run-async" "^2.4.0" - "rxjs" "^7.5.5" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - "wrap-ansi" "^7.0.0" - -"install-artifact-from-github@^1.2.0": - "integrity" "sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA==" - "resolved" "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz" - "version" "1.2.0" - -"internal-slot@^1.0.3": - "integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==" - "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "get-intrinsic" "^1.1.0" - "has" "^1.0.3" - "side-channel" "^1.0.4" - -"interpret@^1.0.0", "interpret@^1.4.0": - "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - "version" "1.4.0" - -"invariant@^2.2.2": - "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" - "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - "version" "2.2.4" - dependencies: - "loose-envify" "^1.0.0" - -"invert-kv@^1.0.0": - "integrity" "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - "resolved" "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - "version" "1.0.0" - -"ip-regex@^4.1.0": - "integrity" "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" - "version" "4.3.0" - -"ip@^1.1.5": - "integrity" "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" - "version" "1.1.5" - -"ip@^2.0.0": - "integrity" "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - "resolved" "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" - "version" "2.0.0" - -"ipaddr.js@1.9.1": - "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - "version" "1.9.1" - -"is-absolute@^1.0.0": - "integrity" "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==" - "resolved" "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-relative" "^1.0.0" - "is-windows" "^1.0.1" - -"is-accessor-descriptor@^0.1.6": - "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "kind-of" "^3.0.2" - -"is-accessor-descriptor@^1.0.0": - "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-arguments@^1.0.4": - "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==" - "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-arrayish@^0.2.1": - "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-arrayish@^0.3.1": - "integrity" "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - "version" "0.3.2" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" + agent-base "6" + debug "4" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@14.1.1: + version "14.1.1" + resolved "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +https-proxy-agent@5, https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^2.2.1: + version "2.2.4" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +human-id@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" + integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.6.3, iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +idb@7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz#d2875b3a2f205d854ee307f6d196f246fea590a7" + integrity sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg== + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore-walk@^3.0.1, ignore-walk@^3.0.3: + version "3.0.4" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== + dependencies: + minimatch "^3.0.4" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +immediate@^3.2.2: + version "3.3.0" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexeddbshim@8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/indexeddbshim/-/indexeddbshim-8.0.0.tgz#c0bc4d3c4aa8697de8df5dd15cf2966324fe803b" + integrity sha512-LV9e1qkLcNgR3jTSErcJBDeUSh8n3Of/TY93XToYaJ86nK+qqCvMDk9yDldxHv0vTLCzec/IBjmWhYZH3I82Ag== + dependencies: + eventtargeter "0.8.0" + sync-promise "git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features" + typeson "6.1.0" + typeson-registry "1.0.0-alpha.39" + websql "git+https://github.com/brettz9/node-websql.git#configurable-secure3" + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@1.3.7: + version "1.3.7" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +init-package-json@^2.0.2: + version "2.0.5" + resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz#78b85f3c36014db42d8f32117252504f68022646" + integrity sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA== + dependencies: + npm-package-arg "^8.1.5" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "^4.1.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^3.0.0" + +inline-source-map@~0.6.0: + version "0.6.2" + resolved "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" + integrity sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU= + dependencies: + source-map "~0.5.3" + +inquirer@8.2.4, inquirer@^8.2.0: + version "8.2.4" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +inquirer@^7.3.3: + version "7.3.3" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +install-artifact-from-github@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz#adcbd123c16a4337ec44ea76d0ebf253cc16b074" + integrity sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.0.0, interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" -"is-binary-path@^1.0.0": - "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - "version" "1.0.1" +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: - "binary-extensions" "^1.0.0" + binary-extensions "^1.0.0" -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - "binary-extensions" "^2.0.0" + binary-extensions "^2.0.0" -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" -"is-buffer@^1.1.5": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -"is-builtin-module@^3.1.0": - "integrity" "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==" - "resolved" "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz" - "version" "3.1.0" +is-builtin-module@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00" + integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== dependencies: - "builtin-modules" "^3.0.0" + builtin-modules "^3.0.0" -"is-callable@^1.1.4", "is-callable@^1.2.4": - "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" - "version" "1.2.4" +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -"is-ci@^2.0.0": - "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - "version" "2.0.0" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: - "ci-info" "^2.0.0" + ci-info "^2.0.0" -"is-ci@^3.0.0": - "integrity" "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz" - "version" "3.0.0" +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== dependencies: - "ci-info" "^3.1.1" + ci-info "^3.1.1" -"is-ci@^3.0.1": - "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" - "version" "3.0.1" +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: - "ci-info" "^3.2.0" + ci-info "^3.2.0" -"is-core-module@^2.2.0", "is-core-module@^2.5.0": - "integrity" "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz" - "version" "2.6.0" +is-core-module@^2.2.0, is-core-module@^2.5.0: + version "2.6.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== dependencies: - "has" "^1.0.3" + has "^1.0.3" -"is-core-module@^2.8.1": - "integrity" "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" - "version" "2.9.0" +is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: - "has" "^1.0.3" + has "^1.0.3" -"is-data-descriptor@^0.1.4": - "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: - "kind-of" "^3.0.2" + kind-of "^3.0.2" -"is-data-descriptor@^1.0.0": - "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - "version" "1.0.0" +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: - "kind-of" "^6.0.0" + kind-of "^6.0.0" -"is-date-object@^1.0.1": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: - "has-tostringtag" "^1.0.0" + has-tostringtag "^1.0.0" -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" -"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" -"is-docker@^2.0.0": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -"is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= -"is-extendable@^1.0.1": - "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - "version" "1.0.1" +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: - "is-plain-object" "^2.0.4" + is-plain-object "^2.0.4" -"is-extglob@^2.1.0", "is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -"is-finite@^1.0.0": - "integrity" "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" - "resolved" "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" - "version" "1.1.0" +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== -"is-fullwidth-code-point@^1.0.0": - "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - "version" "1.0.0" +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: - "number-is-nan" "^1.0.0" - -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -"is-generator-function@^1.0.7": - "integrity" "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==" - "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "has-tostringtag" "^1.0.0" +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" -"is-glob@^3.1.0": - "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-extglob" "^2.1.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": - "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-extglob" "^2.1.1" - -"is-glob@^4.0.3": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-installed-globally@^0.3.1": - "integrity" "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==" - "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "global-dirs" "^2.0.1" - "is-path-inside" "^3.0.1" - -"is-installed-globally@^0.4.0": - "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" - "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "global-dirs" "^3.0.0" - "is-path-inside" "^3.0.2" - -"is-interactive@^1.0.0": - "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - "version" "1.0.0" - -"is-lambda@^1.0.1": - "integrity" "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" - "resolved" "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" - "version" "1.0.1" - -"is-module@^1.0.0": - "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" - "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - "version" "1.0.0" - -"is-nan@^1.2.1": - "integrity" "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==" - "resolved" "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - -"is-negated-glob@^1.0.0": - "integrity" "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" - "resolved" "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" - "version" "1.0.0" - -"is-negative-zero@^2.0.1": - "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" - "version" "2.0.1" - -"is-negative-zero@^2.0.2": - "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - "version" "2.0.2" - -"is-npm@^4.0.0": - "integrity" "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" - "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" - "version" "4.0.0" - -"is-npm@^5.0.0": - "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" - "version" "5.0.0" - -"is-number-object@^1.0.4": - "integrity" "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^3.0.0": - "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "kind-of" "^3.0.2" - -"is-number@^4.0.0": - "integrity" "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz" - "version" "4.0.0" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-obj@^2.0.0": - "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - "version" "2.0.0" - -"is-observable@^1.1.0": - "integrity" "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==" - "resolved" "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "symbol-observable" "^1.1.0" - -"is-path-cwd@^1.0.0": - "integrity" "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" - "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" - "version" "1.0.0" - -"is-path-cwd@^2.2.0": - "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - "version" "2.2.0" - -"is-path-in-cwd@^1.0.0": - "integrity" "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==" - "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "is-path-inside" "^1.0.0" - -"is-path-inside@^1.0.0": - "integrity" "sha1-jvW33lBDej/cprToZe96pVy0gDY=" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "path-is-inside" "^1.0.1" - -"is-path-inside@^3.0.1", "is-path-inside@^3.0.2": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^1.0.0": - "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - "version" "1.1.0" - -"is-plain-obj@^1.1.0": - "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - "version" "1.1.0" - -"is-plain-obj@^2.0.0", "is-plain-obj@^2.1.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" - -"is-plain-object@^2.0.1", "is-plain-object@^2.0.3", "is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-plain-object@^3.0.0": - "integrity" "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz" - "version" "3.0.1" - -"is-plain-object@^5.0.0": - "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - "version" "5.0.0" - -"is-promise@^2.1.0", "is-promise@^2.2.2": - "integrity" "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - "resolved" "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" - "version" "2.2.2" - -"is-reference@^1.2.1": - "integrity" "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==" - "resolved" "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" - "version" "1.2.1" +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== + dependencies: + global-dirs "^2.0.1" + is-path-inside "^3.0.1" + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-nan@^1.2.1: + version "1.3.2" + resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== + +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-path-inside@^3.0.1, is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" + integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-promise@^2.1.0, is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-reference@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== dependencies: "@types/estree" "*" -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" -"is-relative@^1.0.0": - "integrity" "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==" - "resolved" "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" - "version" "1.0.0" +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== dependencies: - "is-unc-path" "^1.0.0" + is-unc-path "^1.0.0" -"is-shared-array-buffer@^1.0.2": - "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" - "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - "version" "1.0.2" +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: - "call-bind" "^1.0.2" + call-bind "^1.0.2" -"is-ssh@^1.3.0": - "integrity" "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==" - "resolved" "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz" - "version" "1.3.3" +is-ssh@^1.3.0: + version "1.3.3" + resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" + integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== dependencies: - "protocols" "^1.1.0" + protocols "^1.1.0" -"is-stream-ended@^0.1.4": - "integrity" "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" - "resolved" "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz" - "version" "0.1.4" +is-stream-ended@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" + integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== -"is-stream@^1.1.0": - "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: - "has-tostringtag" "^1.0.0" - -"is-subdir@^1.1.1": - "integrity" "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==" - "resolved" "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "better-path-resolve" "1.0.0" + has-tostringtag "^1.0.0" + +is-subdir@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" + integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== + dependencies: + better-path-resolve "1.0.0" -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-text-path@^1.0.1": - "integrity" "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=" - "resolved" "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "text-extensions" "^1.0.0" - -"is-typed-array@^1.1.3", "is-typed-array@^1.1.7": - "integrity" "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==" - "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz" - "version" "1.1.8" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "es-abstract" "^1.18.5" - "foreach" "^2.0.5" - "has-tostringtag" "^1.0.0" - -"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": - "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-unc-path@^1.0.0": - "integrity" "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==" - "resolved" "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "unc-path-regex" "^0.1.2" - -"is-unicode-supported@^0.1.0": - "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - "version" "0.1.0" - -"is-url@^1.2.2", "is-url@^1.2.4": - "integrity" "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - "resolved" "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz" - "version" "1.2.4" - -"is-utf8@^0.2.0", "is-utf8@^0.2.1": - "integrity" "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - "version" "0.2.1" - -"is-valid-glob@^1.0.0": - "integrity" "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" - "resolved" "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" - "version" "1.0.0" - -"is-weakref@^1.0.2": - "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" - "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-windows@^1.0.0", "is-windows@^1.0.1", "is-windows@^1.0.2": - "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - "version" "1.0.2" - -"is-wsl@^1.1.0": - "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - "version" "1.1.0" - -"is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"is-yarn-global@^0.3.0": - "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" - "version" "0.3.0" - -"is2@^2.0.6": - "integrity" "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==" - "resolved" "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "deep-is" "^0.1.3" - "ip-regex" "^4.1.0" - "is-url" "^1.2.4" - -"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isarray@0.0.1": - "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - "version" "0.0.1" - -"isbinaryfile@^4.0.8": - "integrity" "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==" - "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz" - "version" "4.0.8" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.0.0": - "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"isstream@~0.1.2": - "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - "version" "0.1.2" - -"istanbul-instrumenter-loader@3.0.1": - "integrity" "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==" - "resolved" "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "convert-source-map" "^1.5.0" - "istanbul-lib-instrument" "^1.7.3" - "loader-utils" "^1.1.0" - "schema-utils" "^0.3.0" - -"istanbul-lib-coverage@^1.2.1": - "integrity" "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz" - "version" "1.2.1" - -"istanbul-lib-coverage@^2.0.5": - "integrity" "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" - "version" "2.0.5" - -"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.0.0-alpha.1": - "integrity" "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz" - "version" "3.0.1" - -"istanbul-lib-hook@^3.0.0": - "integrity" "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "append-transform" "^2.0.0" - -"istanbul-lib-instrument@^1.7.3": - "integrity" "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz" - "version" "1.10.2" - dependencies: - "babel-generator" "^6.18.0" - "babel-template" "^6.16.0" - "babel-traverse" "^6.18.0" - "babel-types" "^6.18.0" - "babylon" "^6.18.0" - "istanbul-lib-coverage" "^1.2.1" - "semver" "^5.3.0" - -"istanbul-lib-instrument@^4.0.0": - "integrity" "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" - "version" "4.0.3" +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= + dependencies: + text-extensions "^1.0.0" + +is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-url@^1.2.2, is-url@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +is2@^2.0.6: + version "2.0.7" + resolved "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz#d084e10cab3bd45d6c9dfde7a48599fcbb93fcac" + integrity sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA== + dependencies: + deep-is "^0.1.3" + ip-regex "^4.1.0" + is-url "^1.2.4" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isbinaryfile@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" + integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-instrumenter-loader@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" + integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== + dependencies: + convert-source-map "^1.5.0" + istanbul-lib-instrument "^1.7.3" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + +istanbul-lib-coverage@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" + integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== + +istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz#e8900b3ed6069759229cf30f7067388d148aeb5e" + integrity sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ== + +istanbul-lib-hook@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" + integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== + dependencies: + append-transform "^2.0.0" + +istanbul-lib-instrument@^1.7.3: + version "1.10.2" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" + integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.2.1" + semver "^5.3.0" + +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-coverage" "^3.0.0" - "semver" "^6.3.0" - -"istanbul-lib-processinfo@^2.0.2": - "integrity" "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "archy" "^1.0.0" - "cross-spawn" "^7.0.0" - "istanbul-lib-coverage" "^3.0.0-alpha.1" - "make-dir" "^3.0.0" - "p-map" "^3.0.0" - "rimraf" "^3.0.0" - "uuid" "^3.3.3" - -"istanbul-lib-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" - -"istanbul-lib-source-maps@^3.0.6": - "integrity" "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" - "version" "3.0.6" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^2.0.5" - "make-dir" "^2.1.0" - "rimraf" "^2.6.3" - "source-map" "^0.6.1" - -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" - -"istanbul-reports@^3.0.0", "istanbul-reports@^3.0.2": - "integrity" "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" - -"istextorbinary@^3.0.0": - "integrity" "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==" - "resolved" "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "binaryextensions" "^2.2.0" - "textextensions" "^3.2.0" - -"jasmine-core@~2.8.0": - "integrity" "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=" - "resolved" "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz" - "version" "2.8.0" - -"jasmine@2.8.0": - "integrity" "sha1-awicChFXax8W3xG4AUbZHU6Lij4=" - "resolved" "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "exit" "^0.1.2" - "glob" "^7.0.6" - "jasmine-core" "~2.8.0" - -"jasminewd2@^2.1.0": - "integrity" "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=" - "resolved" "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz" - "version" "2.2.0" - -"jest-diff@^27.2.0": - "integrity" "sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz" - "version" "27.2.0" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^27.0.6" - "jest-get-type" "^27.0.6" - "pretty-format" "^27.2.0" - -"jest-get-type@^27.0.6": - "integrity" "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz" - "version" "27.0.6" - -"jest-haste-map@^27.2.0": - "integrity" "sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz" - "version" "27.2.0" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-processinfo@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" + integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== + dependencies: + archy "^1.0.0" + cross-spawn "^7.0.0" + istanbul-lib-coverage "^3.0.0-alpha.1" + make-dir "^3.0.0" + p-map "^3.0.0" + rimraf "^3.0.0" + uuid "^3.3.3" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^3.0.6: + version "3.0.6" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.0, istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +istextorbinary@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz#06b1c57d948da11461bd237c00ce09e9902964f2" + integrity sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ== + dependencies: + binaryextensions "^2.2.0" + textextensions "^3.2.0" + +jasmine-core@~2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" + integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= + +jasmine@2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" + integrity sha1-awicChFXax8W3xG4AUbZHU6Lij4= + dependencies: + exit "^0.1.2" + glob "^7.0.6" + jasmine-core "~2.8.0" + +jasminewd2@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" + integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= + +jest-diff@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.0.tgz#bda761c360f751bab1e7a2fe2fc2b0a35ce8518c" + integrity sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.0.6" + jest-get-type "^27.0.6" + pretty-format "^27.2.0" + +jest-get-type@^27.0.6: + version "27.0.6" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" + integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== + +jest-haste-map@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.0.tgz#703b3a473e3f2e27d75ab07864ffd7bbaad0d75e" + integrity sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q== dependencies: "@jest/types" "^27.1.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.4" - "jest-regex-util" "^27.0.6" - "jest-serializer" "^27.0.6" - "jest-util" "^27.2.0" - "jest-worker" "^27.2.0" - "micromatch" "^4.0.4" - "walker" "^1.0.7" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" + walker "^1.0.7" optionalDependencies: - "fsevents" "^2.3.2" + fsevents "^2.3.2" -"jest-matcher-utils@^27.2.0": - "integrity" "sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz" - "version" "27.2.0" +jest-matcher-utils@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.0.tgz#b4d224ab88655d5fab64b96b989ac349e2f5da43" + integrity sha512-F+LG3iTwJ0gPjxBX6HCyrARFXq6jjiqhwBQeskkJQgSLeF1j6ui1RTV08SR7O51XTUhtc8zqpDj8iCG4RGmdKw== dependencies: - "chalk" "^4.0.0" - "jest-diff" "^27.2.0" - "jest-get-type" "^27.0.6" - "pretty-format" "^27.2.0" + chalk "^4.0.0" + jest-diff "^27.2.0" + jest-get-type "^27.0.6" + pretty-format "^27.2.0" -"jest-message-util@^27.2.0": - "integrity" "sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz" - "version" "27.2.0" +jest-message-util@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.0.tgz#2f65c71df55267208686b1d7514e18106c91ceaf" + integrity sha512-y+sfT/94CiP8rKXgwCOzO1mUazIEdEhrLjuiu+RKmCP+8O/TJTSne9dqQRbFIHBtlR2+q7cddJlWGir8UATu5w== dependencies: "@babel/code-frame" "^7.12.13" "@jest/types" "^27.1.1" "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.4" - "micromatch" "^4.0.4" - "pretty-format" "^27.2.0" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-pnp-resolver@^1.2.2": - "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - "version" "1.2.2" - -"jest-regex-util@^27.0.6": - "integrity" "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz" - "version" "27.0.6" - -"jest-resolve@*", "jest-resolve@^27.2.0": - "integrity" "sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz" - "version" "27.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + pretty-format "^27.2.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^27.0.6: + version "27.0.6" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== + +jest-resolve@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.0.tgz#f5d053693ab3806ec2f778e6df8b0aa4cfaef95f" + integrity sha512-v09p9Ib/VtpHM6Cz+i9lEAv1Z/M5NVxsyghRHRMEUOqwPQs3zwTdwp1xS3O/k5LocjKiGS0OTaJoBSpjbM2Jlw== dependencies: "@jest/types" "^27.1.1" - "chalk" "^4.0.0" - "escalade" "^3.1.1" - "graceful-fs" "^4.2.4" - "jest-haste-map" "^27.2.0" - "jest-pnp-resolver" "^1.2.2" - "jest-util" "^27.2.0" - "jest-validate" "^27.2.0" - "resolve" "^1.20.0" - "slash" "^3.0.0" - -"jest-serializer@^27.0.6": - "integrity" "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==" - "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz" - "version" "27.0.6" + chalk "^4.0.0" + escalade "^3.1.1" + graceful-fs "^4.2.4" + jest-haste-map "^27.2.0" + jest-pnp-resolver "^1.2.2" + jest-util "^27.2.0" + jest-validate "^27.2.0" + resolve "^1.20.0" + slash "^3.0.0" + +jest-serializer@^27.0.6: + version "27.0.6" + resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== dependencies: "@types/node" "*" - "graceful-fs" "^4.2.4" + graceful-fs "^4.2.4" -"jest-snapshot@^27.0.6": - "integrity" "sha512-8CTg2YrgZuQbPHW7G0YvLTj4yTRXLmSeEO+ka3eC5lbu5dsTRyoDNS1L7x7EFUTyYQhFH9HQG1/TNlbUgR9Lug==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.1.tgz" - "version" "27.2.1" +jest-snapshot@^27.0.6: + version "27.2.1" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.1.tgz#385accf3bb71ac84e9a6bda4fc9bb458d53abb35" + integrity sha512-8CTg2YrgZuQbPHW7G0YvLTj4yTRXLmSeEO+ka3eC5lbu5dsTRyoDNS1L7x7EFUTyYQhFH9HQG1/TNlbUgR9Lug== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" @@ -10926,700 +10774,632 @@ "@jest/types" "^27.1.1" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" - "babel-preset-current-node-syntax" "^1.0.0" - "chalk" "^4.0.0" - "expect" "^27.2.1" - "graceful-fs" "^4.2.4" - "jest-diff" "^27.2.0" - "jest-get-type" "^27.0.6" - "jest-haste-map" "^27.2.0" - "jest-matcher-utils" "^27.2.0" - "jest-message-util" "^27.2.0" - "jest-resolve" "^27.2.0" - "jest-util" "^27.2.0" - "natural-compare" "^1.4.0" - "pretty-format" "^27.2.0" - "semver" "^7.3.2" - -"jest-util@^27.0.6", "jest-util@^27.2.0": - "integrity" "sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz" - "version" "27.2.0" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.2.1" + graceful-fs "^4.2.4" + jest-diff "^27.2.0" + jest-get-type "^27.0.6" + jest-haste-map "^27.2.0" + jest-matcher-utils "^27.2.0" + jest-message-util "^27.2.0" + jest-resolve "^27.2.0" + jest-util "^27.2.0" + natural-compare "^1.4.0" + pretty-format "^27.2.0" + semver "^7.3.2" + +jest-util@^27.0.6, jest-util@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.2.0.tgz#bfccb85cfafae752257319e825a5b8d4ada470dc" + integrity sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A== dependencies: "@jest/types" "^27.1.1" "@types/node" "*" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.4" - "is-ci" "^3.0.0" - "picomatch" "^2.2.3" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^3.0.0" + picomatch "^2.2.3" -"jest-validate@^27.2.0": - "integrity" "sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz" - "version" "27.2.0" +jest-validate@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.0.tgz#b7535f12d95dd3b4382831f4047384ca098642ab" + integrity sha512-uIEZGkFKk3+4liA81Xu0maG5aGDyPLdp+4ed244c+Ql0k3aLWQYcMbaMLXOIFcb83LPHzYzqQ8hwNnIxTqfAGQ== dependencies: "@jest/types" "^27.1.1" - "camelcase" "^6.2.0" - "chalk" "^4.0.0" - "jest-get-type" "^27.0.6" - "leven" "^3.1.0" - "pretty-format" "^27.2.0" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.0.6" + leven "^3.1.0" + pretty-format "^27.2.0" -"jest-worker@^24.0.0": - "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" - "version" "24.9.0" +jest-worker@^24.0.0: + version "24.9.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== dependencies: - "merge-stream" "^2.0.0" - "supports-color" "^6.1.0" + merge-stream "^2.0.0" + supports-color "^6.1.0" -"jest-worker@^26.2.1": - "integrity" "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - "version" "26.6.2" +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^7.0.0" + merge-stream "^2.0.0" + supports-color "^7.0.0" -"jest-worker@^27.0.6", "jest-worker@^27.2.0": - "integrity" "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz" - "version" "27.2.0" +jest-worker@^27.0.6, jest-worker@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz#11eef39f1c88f41384ca235c2f48fe50bc229bc0" + integrity sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" - -"jju@^1.1.0", "jju@~1.4.0": - "integrity" "sha1-o6vicYryQaKykE+EpiWXDzia4yo=" - "resolved" "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" - "version" "1.4.0" - -"join-path@^1.1.1": - "integrity" "sha1-EFNaEm0ky9Zff/zfFe8uYxB2tQU=" - "resolved" "https://registry.npmjs.org/join-path/-/join-path-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "as-array" "^2.0.0" - "url-join" "0.0.1" - "valid-url" "^1" - -"jquery@^3.4.1": - "integrity" "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz" - "version" "3.6.0" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-tokens@^3.0.2": - "integrity" "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" - "version" "3.0.2" - -"js-yaml@^3.13.0": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^3.6.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.1.0", "js-yaml@4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"js-yaml@~3.13.1": - "integrity" "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" - "version" "3.13.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js2xmlparser@^4.0.2": - "integrity" "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==" - "resolved" "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "xmlcreate" "^2.0.4" - -"jsbn@~0.1.0": - "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - "version" "0.1.1" - -"jsdoc@^3.6.3": - "integrity" "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==" - "resolved" "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz" - "version" "3.6.11" - dependencies: - "@babel/parser" "^7.9.4" - "@types/markdown-it" "^12.2.3" - "bluebird" "^3.7.2" - "catharsis" "^0.9.0" - "escape-string-regexp" "^2.0.0" - "js2xmlparser" "^4.0.2" - "klaw" "^3.0.0" - "markdown-it" "^12.3.2" - "markdown-it-anchor" "^8.4.1" - "marked" "^4.0.10" - "mkdirp" "^1.0.4" - "requizzle" "^0.2.3" - "strip-json-comments" "^3.1.0" - "taffydb" "2.6.2" - "underscore" "~1.13.2" - -"jsesc@^1.3.0": - "integrity" "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz" - "version" "1.3.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-bigint@^1.0.0": - "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" - "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "bignumber.js" "^9.0.0" - -"json-buffer@3.0.0": - "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"json-buffer@3.0.1": - "integrity" "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - "version" "3.0.1" - -"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-parse-helpfulerror@^1.0.3": - "integrity" "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=" - "resolved" "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "jju" "^1.1.0" - -"json-ptr@^3.0.1": - "integrity" "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==" - "resolved" "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz" - "version" "3.1.1" - -"json-schema-traverse@^0.3.0": - "integrity" "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" - "version" "0.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json-schema@0.2.3": - "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" - "version" "0.2.3" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json-stable-stringify@1.0.1": - "integrity" "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=" - "resolved" "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "jsonify" "~0.0.0" - -"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": - "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"json5@^1.0.1": - "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2": - "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "minimist" "^1.2.5" - -"json5@^2.2.1": - "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - "version" "2.2.1" - -"jsonc-parser@^3.0.0": - "integrity" "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" - "resolved" "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz" - "version" "3.1.0" - -"jsonfile@^4.0.0": - "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jju@^1.1.0, jju@~1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + +join-path@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/join-path/-/join-path-1.1.1.tgz#10535a126d24cbd65f7ffcdf15ef2e631076b505" + integrity sha1-EFNaEm0ky9Zff/zfFe8uYxB2tQU= + dependencies: + as-array "^2.0.0" + url-join "0.0.1" + valid-url "^1" + +jquery@^3.4.1: + version "3.6.0" + resolved "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" + integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.13.1: + version "3.13.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-parse-helpfulerror@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" + integrity sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w= + dependencies: + jju "^1.1.0" + +json-ptr@^3.0.1: + version "3.1.1" + resolved "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz#184c3d48db659fa9bbc1519f7db6f390ddffb659" + integrity sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg== + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonc-parser@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" + integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - "universalify" "^2.0.0" + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" - -"jsonify@~0.0.0": - "integrity" "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - "resolved" "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" - "version" "0.0.0" - -"jsonparse@^1.2.0", "jsonparse@^1.3.1": - "integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - "version" "1.3.1" - -"JSONStream@^1.0.4": - "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==" - "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "jsonparse" "^1.2.0" - "through" ">=2.2.7 <3" - -"jsonwebtoken@^8.5.1": - "integrity" "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==" - "resolved" "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" - "version" "8.5.1" - dependencies: - "jws" "^3.2.2" - "lodash.includes" "^4.3.0" - "lodash.isboolean" "^3.0.3" - "lodash.isinteger" "^4.0.4" - "lodash.isnumber" "^3.0.3" - "lodash.isplainobject" "^4.0.6" - "lodash.isstring" "^4.0.1" - "lodash.once" "^4.0.0" - "ms" "^2.1.1" - "semver" "^5.6.0" - -"jsprim@^1.2.2": - "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.2.3" - "verror" "1.10.0" - -"jszip@^3.1.3", "jszip@^3.10.0", "jszip@^3.6.0": - "integrity" "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==" - "resolved" "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" - "version" "3.10.1" - dependencies: - "lie" "~3.3.0" - "pako" "~1.0.2" - "readable-stream" "~2.3.6" - "setimmediate" "^1.0.5" - -"just-debounce@^1.0.0": - "integrity" "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==" - "resolved" "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz" - "version" "1.1.0" - -"just-extend@^4.0.2": - "integrity" "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" - "resolved" "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" - "version" "4.2.1" - -"jwa@^1.4.1": - "integrity" "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==" - "resolved" "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "buffer-equal-constant-time" "1.0.1" - "ecdsa-sig-formatter" "1.0.11" - "safe-buffer" "^5.0.1" - -"jwa@^2.0.0": - "integrity" "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==" - "resolved" "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "buffer-equal-constant-time" "1.0.1" - "ecdsa-sig-formatter" "1.0.11" - "safe-buffer" "^5.0.1" - -"jws@^3.2.2": - "integrity" "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==" - "resolved" "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "jwa" "^1.4.1" - "safe-buffer" "^5.0.1" - -"jws@^4.0.0": - "integrity" "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==" - "resolved" "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "jwa" "^2.0.0" - "safe-buffer" "^5.0.1" - -"karma-babel-preprocessor@8.0.2": - "integrity" "sha512-6ZUnHwaK2EyhgxbgeSJW6n6WZUYSEdekHIV/qDUnPgMkVzQBHEvd07d2mTL5AQjV8uTUgH6XslhaPrp+fHWH2A==" - "resolved" "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-8.0.2.tgz" - "version" "8.0.2" - -"karma-chrome-launcher@3.1.1": - "integrity" "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==" - "resolved" "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "which" "^1.2.1" - -"karma-cli@2.0.0": - "integrity" "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==" - "resolved" "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "resolve" "^1.3.3" - -"karma-coverage-istanbul-reporter@3.0.3": - "integrity" "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==" - "resolved" "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^3.0.6" - "istanbul-reports" "^3.0.2" - "minimatch" "^3.0.4" - -"karma-firefox-launcher@2.1.2": - "integrity" "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==" - "resolved" "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "is-wsl" "^2.2.0" - "which" "^2.0.1" - -"karma-mocha-reporter@2.2.5": - "integrity" "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=" - "resolved" "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz" - "version" "2.2.5" - dependencies: - "chalk" "^2.1.0" - "log-symbols" "^2.1.0" - "strip-ansi" "^4.0.0" - -"karma-mocha@2.0.1": - "integrity" "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==" - "resolved" "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "minimist" "^1.2.3" - -"karma-safari-launcher@1.0.0": - "integrity" "sha1-lpgqLMR9BmquccVTursoMZEVos4=" - "resolved" "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz" - "version" "1.0.0" - -"karma-sourcemap-loader@0.3.8": - "integrity" "sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g==" - "resolved" "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz" - "version" "0.3.8" - dependencies: - "graceful-fs" "^4.1.2" - -"karma-spec-reporter@0.0.34": - "integrity" "sha512-l5H/Nh9q4g2Ysx2CDU2m+NIPyLQpCVbk9c4V02BTZHw3NM6RO1dq3eRpKXCSSdPt4RGfhHk8jDt3XYkGp+5PWg==" - "resolved" "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.34.tgz" - "version" "0.0.34" - dependencies: - "colors" "1.4.0" - -"karma-summary-reporter@3.1.1": - "integrity" "sha512-7MkR8aXBZh5e773SDyzgAQhFg1FsAb4xYi7HYIludpYCPRVS+JxF8Qjxnix7OVVMDArq+prXzVNn+2U5+h1U1w==" - "resolved" "https://registry.npmjs.org/karma-summary-reporter/-/karma-summary-reporter-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "chalk" "^4.0.0" - -"karma-typescript@5.5.3": - "integrity" "sha512-l1FHurolXEBIzRa9ExpNtjzysAhsi/vLpTazpwLHWWK86mknvVpqor6pRZ5Nid7jvOPrTBqAq0JRuLgiCdRkFw==" - "resolved" "https://registry.npmjs.org/karma-typescript/-/karma-typescript-5.5.3.tgz" - "version" "5.5.3" - dependencies: - "acorn" "^8.1.0" - "acorn-walk" "^8.0.2" - "assert" "^2.0.0" - "async" "^3.0.1" - "browser-resolve" "^2.0.0" - "browserify-zlib" "^0.2.0" - "buffer" "^5.4.3" - "combine-source-map" "^0.8.0" - "console-browserify" "^1.2.0" - "constants-browserify" "^1.0.0" - "convert-source-map" "^1.7.0" - "crypto-browserify" "^3.12.0" - "diff" "^4.0.1" - "domain-browser" "^4.16.0" - "events" "^3.2.0" - "glob" "^7.1.6" - "https-browserify" "^1.0.0" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-instrument" "^4.0.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.0.0" - "json-stringify-safe" "^5.0.1" - "lodash" "^4.17.19" - "log4js" "^6.3.0" - "minimatch" "^3.0.4" - "os-browserify" "^0.3.0" - "pad" "^3.2.0" - "path-browserify" "^1.0.0" - "process" "^0.11.10" - "punycode" "^2.1.1" - "querystring-es3" "^0.2.1" - "readable-stream" "^3.1.1" - "source-map" "^0.7.3" - "stream-browserify" "^3.0.0" - "stream-http" "^3.1.0" - "string_decoder" "^1.3.0" - "timers-browserify" "^2.0.11" - "tmp" "^0.2.1" - "tty-browserify" "^0.0.1" - "url" "^0.11.0" - "util" "^0.12.1" - "vm-browserify" "^1.1.2" - -"karma-webpack@4.0.2": - "integrity" "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==" - "resolved" "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "clone-deep" "^4.0.1" - "loader-utils" "^1.1.0" - "neo-async" "^2.6.1" - "schema-utils" "^1.0.0" - "source-map" "^0.7.3" - "webpack-dev-middleware" "^3.7.0" - -"karma@>=0.13", "karma@>=0.9", "karma@1 || 2 || 3 || 4 || 5 || 6", "karma@5.x || 6.x", "karma@6.4.1": - "integrity" "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==" - "resolved" "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz" - "version" "6.4.1" + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jszip@^3.1.3, jszip@^3.6.0: + version "3.7.1" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz#bd63401221c15625a1228c556ca8a68da6fda3d9" + integrity sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + set-immediate-shim "~1.0.1" + +jszip@^3.10.0: + version "3.10.1" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + +just-debounce@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== + +just-extend@^4.0.2: + version "4.2.1" + resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jwa@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" + integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +jws@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" + integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== + dependencies: + jwa "^2.0.0" + safe-buffer "^5.0.1" + +karma-babel-preprocessor@8.0.2: + version "8.0.2" + resolved "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-8.0.2.tgz#4daff4cfbfcd58c635bf321e135525f608d2d621" + integrity sha512-6ZUnHwaK2EyhgxbgeSJW6n6WZUYSEdekHIV/qDUnPgMkVzQBHEvd07d2mTL5AQjV8uTUgH6XslhaPrp+fHWH2A== + +karma-chrome-launcher@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" + integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== + dependencies: + which "^1.2.1" + +karma-cli@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz#481548d28661af4cc68f3d8e09708f17d2cba931" + integrity sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw== + dependencies: + resolve "^1.3.3" + +karma-coverage-istanbul-reporter@3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz#f3b5303553aadc8e681d40d360dfdc19bc7e9fe9" + integrity sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw== + dependencies: + istanbul-lib-coverage "^3.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^3.0.6" + istanbul-reports "^3.0.2" + minimatch "^3.0.4" + +karma-firefox-launcher@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz#9a38cc783c579a50f3ed2a82b7386186385cfc2d" + integrity sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA== + dependencies: + is-wsl "^2.2.0" + which "^2.0.1" + +karma-mocha-reporter@2.2.5: + version "2.2.5" + resolved "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560" + integrity sha1-FRIAlejtgZGG5HoLAS8810GJVWA= + dependencies: + chalk "^2.1.0" + log-symbols "^2.1.0" + strip-ansi "^4.0.0" + +karma-mocha@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" + integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== + dependencies: + minimist "^1.2.3" + +karma-safari-launcher@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz#96982a2cc47d066aae71c553babb28319115a2ce" + integrity sha1-lpgqLMR9BmquccVTursoMZEVos4= + +karma-sourcemap-loader@0.3.8: + version "0.3.8" + resolved "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" + integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== + dependencies: + graceful-fs "^4.1.2" + +karma-spec-reporter@0.0.34: + version "0.0.34" + resolved "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.34.tgz#7dc79cdc76b0e37f17006921439600ae3c648669" + integrity sha512-l5H/Nh9q4g2Ysx2CDU2m+NIPyLQpCVbk9c4V02BTZHw3NM6RO1dq3eRpKXCSSdPt4RGfhHk8jDt3XYkGp+5PWg== + dependencies: + colors "1.4.0" + +karma-summary-reporter@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/karma-summary-reporter/-/karma-summary-reporter-3.1.1.tgz#53d31560a8196027a88c01ae9ac69029286a3da8" + integrity sha512-7MkR8aXBZh5e773SDyzgAQhFg1FsAb4xYi7HYIludpYCPRVS+JxF8Qjxnix7OVVMDArq+prXzVNn+2U5+h1U1w== + dependencies: + chalk "^4.0.0" + +karma-typescript@5.5.3: + version "5.5.3" + resolved "https://registry.npmjs.org/karma-typescript/-/karma-typescript-5.5.3.tgz#29c04d9677f8bd78dfacd89e8fa6f475dd25aba2" + integrity sha512-l1FHurolXEBIzRa9ExpNtjzysAhsi/vLpTazpwLHWWK86mknvVpqor6pRZ5Nid7jvOPrTBqAq0JRuLgiCdRkFw== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + assert "^2.0.0" + async "^3.0.1" + browser-resolve "^2.0.0" + browserify-zlib "^0.2.0" + buffer "^5.4.3" + combine-source-map "^0.8.0" + console-browserify "^1.2.0" + constants-browserify "^1.0.0" + convert-source-map "^1.7.0" + crypto-browserify "^3.12.0" + diff "^4.0.1" + domain-browser "^4.16.0" + events "^3.2.0" + glob "^7.1.6" + https-browserify "^1.0.0" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.0" + json-stringify-safe "^5.0.1" + lodash "^4.17.19" + log4js "^6.3.0" + minimatch "^3.0.4" + os-browserify "^0.3.0" + pad "^3.2.0" + path-browserify "^1.0.0" + process "^0.11.10" + punycode "^2.1.1" + querystring-es3 "^0.2.1" + readable-stream "^3.1.1" + source-map "^0.7.3" + stream-browserify "^3.0.0" + stream-http "^3.1.0" + string_decoder "^1.3.0" + timers-browserify "^2.0.11" + tmp "^0.2.1" + tty-browserify "^0.0.1" + url "^0.11.0" + util "^0.12.1" + vm-browserify "^1.1.2" + +karma-webpack@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz#23219bd95bdda853e3073d3874d34447c77bced0" + integrity sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.1.0" + neo-async "^2.6.1" + schema-utils "^1.0.0" + source-map "^0.7.3" + webpack-dev-middleware "^3.7.0" + +karma@6.4.1: + version "6.4.1" + resolved "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9" + integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA== dependencies: "@colors/colors" "1.5.0" - "body-parser" "^1.19.0" - "braces" "^3.0.2" - "chokidar" "^3.5.1" - "connect" "^3.7.0" - "di" "^0.0.1" - "dom-serialize" "^2.2.1" - "glob" "^7.1.7" - "graceful-fs" "^4.2.6" - "http-proxy" "^1.18.1" - "isbinaryfile" "^4.0.8" - "lodash" "^4.17.21" - "log4js" "^6.4.1" - "mime" "^2.5.2" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.5" - "qjobs" "^1.2.0" - "range-parser" "^1.2.1" - "rimraf" "^3.0.2" - "socket.io" "^4.4.1" - "source-map" "^0.6.1" - "tmp" "^0.2.1" - "ua-parser-js" "^0.7.30" - "yargs" "^16.1.1" - -"keyv@^3.0.0": - "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "json-buffer" "3.0.0" - -"keyv@^4.0.0": - "integrity" "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "json-buffer" "3.0.1" - -"kind-of@^3.0.2": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.0.3": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.2.0": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^4.0.0": - "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"kind-of@^5.0.2": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"kind-of@^6.0.0", "kind-of@^6.0.2", "kind-of@^6.0.3": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"klaw@^3.0.0": - "integrity" "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==" - "resolved" "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "graceful-fs" "^4.1.9" - -"kleur@^4.1.4": - "integrity" "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" - "version" "4.1.5" - -"kuler@^2.0.0": - "integrity" "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - "resolved" "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz" - "version" "2.0.0" - -"last-run@^1.1.0": - "integrity" "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=" - "resolved" "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "default-resolution" "^2.0.0" - "es6-weak-map" "^2.0.1" - -"latest-version@^5.0.0", "latest-version@^5.1.0": - "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" - "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "package-json" "^6.3.0" - -"lazystream@^1.0.0": - "integrity" "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" - "resolved" "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "readable-stream" "^2.0.5" - -"lcid@^1.0.0": - "integrity" "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=" - "resolved" "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "invert-kv" "^1.0.0" - -"lcov-parse@^1.0.0": - "integrity" "sha1-6w1GtUER68VhrLTECO+TY73I9+A=" - "resolved" "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz" - "version" "1.0.0" - -"lcov-result-merger@3.1.0": - "integrity" "sha512-vGXaMNGZRr4cYvW+xMVg+rg7qd5DX9SbGXl+0S3k85+gRZVK4K7UvxPWzKb/qiMwe+4bx3EOrW2o4mbdb1WnsA==" - "resolved" "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "through2" "^2.0.3" - "vinyl" "^2.1.0" - "vinyl-fs" "^3.0.2" - -"lead@^1.0.0": - "integrity" "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=" - "resolved" "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz" - "version" "1.0.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.5.1" + connect "^3.7.0" + di "^0.0.1" + dom-serialize "^2.2.1" + glob "^7.1.7" + graceful-fs "^4.2.6" + http-proxy "^1.18.1" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" + minimatch "^3.0.4" + mkdirp "^0.5.5" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^4.4.1" + source-map "^0.6.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +keyv@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" + integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^4.1.4: + version "4.1.5" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +kuler@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" + integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== + +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +latest-version@^5.0.0, latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +lcov-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" + integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= + +lcov-result-merger@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-3.1.0.tgz#ae6d1be663dbf7d586d8004642359d39de72039e" + integrity sha512-vGXaMNGZRr4cYvW+xMVg+rg7qd5DX9SbGXl+0S3k85+gRZVK4K7UvxPWzKb/qiMwe+4bx3EOrW2o4mbdb1WnsA== + dependencies: + through2 "^2.0.3" + vinyl "^2.1.0" + vinyl-fs "^3.0.2" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= dependencies: - "flush-write-stream" "^1.0.2" + flush-write-stream "^1.0.2" -"lerna@4.0.0": - "integrity" "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==" - "resolved" "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz" - "version" "4.0.0" +lerna@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" + integrity sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg== dependencies: "@lerna/add" "4.0.0" "@lerna/bootstrap" "4.0.0" @@ -11637,2745 +11417,2702 @@ "@lerna/publish" "4.0.0" "@lerna/run" "4.0.0" "@lerna/version" "4.0.0" - "import-local" "^3.0.2" - "npmlog" "^4.1.2" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"levn@~0.3.0": - "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"libnpmaccess@^4.0.1": - "integrity" "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==" - "resolved" "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "aproba" "^2.0.0" - "minipass" "^3.1.1" - "npm-package-arg" "^8.1.2" - "npm-registry-fetch" "^11.0.0" - -"libnpmpublish@^4.0.0": - "integrity" "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==" - "resolved" "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "normalize-package-data" "^3.0.2" - "npm-package-arg" "^8.1.2" - "npm-registry-fetch" "^11.0.0" - "semver" "^7.1.3" - "ssri" "^8.0.1" - -"libsodium-wrappers@^0.7.10": - "integrity" "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==" - "resolved" "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz" - "version" "0.7.10" - dependencies: - "libsodium" "^0.7.0" - -"libsodium@^0.7.0": - "integrity" "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" - "resolved" "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz" - "version" "0.7.10" - -"lie@~3.3.0": - "integrity" "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" - "resolved" "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "immediate" "~3.0.5" - -"liftoff@^3.1.0": - "integrity" "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==" - "resolved" "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend" "^3.0.0" - "findup-sync" "^3.0.0" - "fined" "^1.0.1" - "flagged-respawn" "^1.0.0" - "is-plain-object" "^2.0.4" - "object.map" "^1.0.0" - "rechoir" "^0.6.2" - "resolve" "^1.1.7" - -"lines-and-columns@^1.1.6": - "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - "version" "1.1.6" - -"linkify-it@^3.0.1": - "integrity" "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==" - "resolved" "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "uc.micro" "^1.0.1" - -"listenercount@~1.0.1": - "integrity" "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" - "resolved" "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz" - "version" "1.0.1" - -"listr-silent-renderer@^1.1.1": - "integrity" "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" - "resolved" "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" - "version" "1.1.1" - -"listr-update-renderer@^0.5.0": - "integrity" "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==" - "resolved" "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "chalk" "^1.1.3" - "cli-truncate" "^0.2.1" - "elegant-spinner" "^1.0.1" - "figures" "^1.7.0" - "indent-string" "^3.0.0" - "log-symbols" "^1.0.2" - "log-update" "^2.3.0" - "strip-ansi" "^3.0.1" - -"listr-verbose-renderer@^0.5.0": - "integrity" "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==" - "resolved" "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "chalk" "^2.4.1" - "cli-cursor" "^2.1.0" - "date-fns" "^1.27.2" - "figures" "^2.0.0" - -"listr@^0.14.2", "listr@0.14.3": - "integrity" "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==" - "resolved" "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" - "version" "0.14.3" + import-local "^3.0.2" + npmlog "^4.1.2" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +libnpmaccess@^4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz#dfb0e5b0a53c315a2610d300e46b4ddeb66e7eec" + integrity sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^8.1.2" + npm-registry-fetch "^11.0.0" + +libnpmpublish@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz#be77e8bf5956131bcb45e3caa6b96a842dec0794" + integrity sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw== + dependencies: + normalize-package-data "^3.0.2" + npm-package-arg "^8.1.2" + npm-registry-fetch "^11.0.0" + semver "^7.1.3" + ssri "^8.0.1" + +libsodium-wrappers@^0.7.10: + version "0.7.10" + resolved "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#13ced44cacb0fc44d6ac9ce67d725956089ce733" + integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== + dependencies: + libsodium "^0.7.0" + +libsodium@^0.7.0: + version "0.7.10" + resolved "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz#c2429a7e4c0836f879d701fec2c8a208af024159" + integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@0.14.3: + version "0.14.3" + resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== dependencies: "@samverschueren/stream-to-observable" "^0.3.0" - "is-observable" "^1.1.0" - "is-promise" "^2.1.0" - "is-stream" "^1.1.0" - "listr-silent-renderer" "^1.1.1" - "listr-update-renderer" "^0.5.0" - "listr-verbose-renderer" "^0.5.0" - "p-map" "^2.0.0" - "rxjs" "^6.3.3" - -"load-json-file@^1.0.0": - "integrity" "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "graceful-fs" "^4.1.2" - "parse-json" "^2.2.0" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - "strip-bom" "^2.0.0" - -"load-json-file@^4.0.0": - "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.2" - "parse-json" "^4.0.0" - "pify" "^3.0.0" - "strip-bom" "^3.0.0" - -"load-json-file@^6.2.0": - "integrity" "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "graceful-fs" "^4.1.15" - "parse-json" "^5.0.0" - "strip-bom" "^4.0.0" - "type-fest" "^0.6.0" - -"load-yaml-file@^0.2.0": - "integrity" "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==" - "resolved" "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "graceful-fs" "^4.1.5" - "js-yaml" "^3.13.0" - "pify" "^4.0.1" - "strip-bom" "^3.0.0" - -"loader-runner@^2.4.0": - "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" - "version" "2.4.0" - -"loader-runner@^4.2.0": - "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" - "version" "4.2.0" - -"loader-utils@^1.1.0", "loader-utils@^1.2.3": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0": - "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^2.0.0": - "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "p-locate" "^2.0.0" - "path-exists" "^3.0.0" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash._objecttypes@~2.4.1": - "integrity" "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" - "resolved" "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" - "version" "2.4.1" - -"lodash._reinterpolate@^3.0.0": - "integrity" "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - "version" "3.0.0" - -"lodash.camelcase@^4.3.0": - "integrity" "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - "version" "4.3.0" - -"lodash.clone@^4.3.2": - "integrity" "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - "resolved" "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz" - "version" "4.5.0" - -"lodash.clonedeep@^4.5.0": - "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - "version" "4.5.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.defaults@^4.2.0": - "integrity" "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" - "version" "4.2.0" - -"lodash.difference@^4.5.0": - "integrity" "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" - "resolved" "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" - "version" "4.5.0" - -"lodash.flatten@^4.4.0": - "integrity" "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - "version" "4.4.0" - -"lodash.flattendeep@^4.4.0": - "integrity" "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" - "resolved" "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" - "version" "4.4.0" - -"lodash.get@^4.0.0", "lodash.get@^4.4.2": - "integrity" "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - "resolved" "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - "version" "4.4.2" - -"lodash.includes@^4.3.0": - "integrity" "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - "resolved" "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" - "version" "4.3.0" - -"lodash.isboolean@^3.0.3": - "integrity" "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - "resolved" "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" - "version" "3.0.3" - -"lodash.isequal@^4.0.0", "lodash.isequal@^4.5.0": - "integrity" "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - "resolved" "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" - "version" "4.5.0" - -"lodash.isinteger@^4.0.4": - "integrity" "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - "resolved" "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" - "version" "4.0.4" - -"lodash.ismatch@^4.4.0": - "integrity" "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=" - "resolved" "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" - "version" "4.4.0" - -"lodash.isnumber@^3.0.3": - "integrity" "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - "resolved" "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" - "version" "3.0.3" - -"lodash.isobject@^2.4.1": - "integrity" "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=" - "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "lodash._objecttypes" "~2.4.1" - -"lodash.isplainobject@^4.0.6": - "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - "version" "4.0.6" - -"lodash.isstring@^4.0.1": - "integrity" "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" - "version" "4.0.1" - -"lodash.memoize@~3.0.3": - "integrity" "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz" - "version" "3.0.4" - -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash.once@^4.0.0": - "integrity" "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - "resolved" "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" - "version" "4.1.1" - -"lodash.snakecase@^4.1.1": - "integrity" "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=" - "resolved" "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" - "version" "4.1.1" - -"lodash.some@^4.2.2": - "integrity" "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - "resolved" "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" - "version" "4.6.0" - -"lodash.startcase@^4.4.0": - "integrity" "sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg=" - "resolved" "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz" - "version" "4.4.0" - -"lodash.template@^4.5.0": - "integrity" "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==" - "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "lodash._reinterpolate" "^3.0.0" - "lodash.templatesettings" "^4.0.0" - -"lodash.templatesettings@^4.0.0": - "integrity" "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==" - "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "lodash._reinterpolate" "^3.0.0" - -"lodash.truncate@^4.4.2": - "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - "version" "4.4.2" - -"lodash.union@^4.6.0": - "integrity" "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" - "resolved" "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" - "version" "4.6.0" - -"lodash@^4.16.6", "lodash@^4.17.10", "lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.21", "lodash@^4.17.4", "lodash@^4.7.0", "lodash@~4.17.15", "lodash@~4.17.21", "lodash@4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-driver@^1.2.7": - "integrity" "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" - "resolved" "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz" - "version" "1.2.7" - -"log-symbols@^1.0.2": - "integrity" "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "chalk" "^1.0.0" - -"log-symbols@^2.1.0": - "integrity" "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "chalk" "^2.0.1" - -"log-symbols@^4.1.0", "log-symbols@4.1.0": - "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "chalk" "^4.1.0" - "is-unicode-supported" "^0.1.0" - -"log-update@^2.3.0": - "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=" - "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "ansi-escapes" "^3.0.0" - "cli-cursor" "^2.0.0" - "wrap-ansi" "^3.0.1" - -"log4js@^6.3.0", "log4js@^6.4.1": - "integrity" "sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg==" - "resolved" "https://registry.npmjs.org/log4js/-/log4js-6.4.2.tgz" - "version" "6.4.2" - dependencies: - "date-format" "^4.0.4" - "debug" "^4.3.3" - "flatted" "^3.2.5" - "rfdc" "^1.3.0" - "streamroller" "^3.0.4" - -"logform@^2.2.0": - "integrity" "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==" - "resolved" "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "colors" "^1.2.1" - "fecha" "^4.2.0" - "ms" "^2.1.1" - "safe-stable-stringify" "^1.1.0" - "triple-beam" "^1.3.0" - -"long@^4.0.0": - "integrity" "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - "resolved" "https://registry.npmjs.org/long/-/long-4.0.0.tgz" - "version" "4.0.0" - -"long@^5.0.0": - "integrity" "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - "resolved" "https://registry.npmjs.org/long/-/long-5.2.0.tgz" - "version" "5.2.0" - -"long@3.2.0": - "integrity" "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - "resolved" "https://registry.npmjs.org/long/-/long-3.2.0.tgz" - "version" "3.2.0" - -"loose-envify@^1.0.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"loupe@^2.3.1": - "integrity" "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==" - "resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz" - "version" "2.3.4" - dependencies: - "get-func-name" "^2.0.0" - -"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": - "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - "version" "1.0.1" - -"lowercase-keys@^2.0.0": - "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - "version" "2.0.0" - -"lru-cache@^4.0.1": - "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "pseudomap" "^1.0.2" - "yallist" "^2.1.2" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"lru-queue@^0.1.0": - "integrity" "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=" - "resolved" "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "es5-ext" "~0.10.2" - -"lunr@^2.3.8": - "integrity" "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" - "resolved" "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz" - "version" "2.3.9" - -"magic-string@^0.25.2", "magic-string@^0.25.7": - "integrity" "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" - "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" - "version" "0.25.7" - dependencies: - "sourcemap-codec" "^1.4.4" - -"magic-string@~0.26.2": - "integrity" "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==" - "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz" - "version" "0.26.7" - dependencies: - "sourcemap-codec" "^1.4.8" - -"make-dir@^2.0.0", "make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" - -"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-error@^1.1.1": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"make-fetch-happen@^8.0.9": - "integrity" "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==" - "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz" - "version" "8.0.14" - dependencies: - "agentkeepalive" "^4.1.3" - "cacache" "^15.0.5" - "http-cache-semantics" "^4.1.0" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-lambda" "^1.0.1" - "lru-cache" "^6.0.0" - "minipass" "^3.1.3" - "minipass-collect" "^1.0.2" - "minipass-fetch" "^1.3.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "promise-retry" "^2.0.1" - "socks-proxy-agent" "^5.0.0" - "ssri" "^8.0.0" - -"make-fetch-happen@^9.0.1", "make-fetch-happen@^9.1.0": - "integrity" "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==" - "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "agentkeepalive" "^4.1.3" - "cacache" "^15.2.0" - "http-cache-semantics" "^4.1.0" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-lambda" "^1.0.1" - "lru-cache" "^6.0.0" - "minipass" "^3.1.3" - "minipass-collect" "^1.0.2" - "minipass-fetch" "^1.3.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "negotiator" "^0.6.2" - "promise-retry" "^2.0.1" - "socks-proxy-agent" "^6.0.0" - "ssri" "^8.0.0" - -"make-iterator@^1.0.0": - "integrity" "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==" - "resolved" "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "kind-of" "^6.0.2" - -"makeerror@1.0.x": - "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "tmpl" "1.0.x" - -"map-cache@^0.2.0", "map-cache@^0.2.2": - "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - "version" "0.2.2" - -"map-obj@^1.0.0": - "integrity" "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - "version" "1.0.1" - -"map-obj@^4.0.0": - "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - "version" "4.3.0" - -"map-visit@^1.0.0": - "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" - "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "object-visit" "^1.0.0" - -"markdown-it-anchor@^8.4.1": - "integrity" "sha512-PI1qEHHkTNWT+X6Ip9w+paonfIQ+QZP9sCeMYi47oqhH+EsW8CrJ8J7CzV19QVOj6il8ATGbK2nTECj22ZHGvQ==" - "resolved" "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.5.tgz" - "version" "8.6.5" - -"markdown-it@*", "markdown-it@^12.3.2": - "integrity" "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==" - "resolved" "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz" - "version" "12.3.2" - dependencies: - "argparse" "^2.0.1" - "entities" "~2.1.0" - "linkify-it" "^3.0.1" - "mdurl" "^1.0.1" - "uc.micro" "^1.0.5" - -"marked-terminal@^5.1.1": - "integrity" "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==" - "resolved" "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "ansi-escapes" "^5.0.0" - "cardinal" "^2.1.1" - "chalk" "^5.0.0" - "cli-table3" "^0.6.1" - "node-emoji" "^1.11.0" - "supports-hyperlinks" "^2.2.0" - -"marked@^0.8.0": - "integrity" "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==" - "resolved" "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz" - "version" "0.8.2" - -"marked@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "marked@^4.0.10", "marked@^4.0.14": - "integrity" "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==" - "resolved" "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz" - "version" "4.0.18" - -"matchdep@^2.0.0": - "integrity" "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=" - "resolved" "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "findup-sync" "^2.0.0" - "micromatch" "^3.0.4" - "resolve" "^1.4.0" - "stack-trace" "0.0.10" - -"md5.js@^1.3.4", "md5.js@^1.3.5": - "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" - "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"mdurl@^1.0.1": - "integrity" "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - "version" "1.0.1" - -"media-typer@0.3.0": - "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - "version" "0.3.0" - -"memfs@3.4.7": - "integrity" "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==" - "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz" - "version" "3.4.7" - dependencies: - "fs-monkey" "^1.0.3" - -"memoizee@^0.4.15", "memoizee@0.4.X": - "integrity" "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==" - "resolved" "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" - "version" "0.4.15" - dependencies: - "d" "^1.0.1" - "es5-ext" "^0.10.53" - "es6-weak-map" "^2.0.3" - "event-emitter" "^0.3.5" - "is-promise" "^2.2.2" - "lru-queue" "^0.1.0" - "next-tick" "^1.1.0" - "timers-ext" "^0.1.7" - -"memory-fs@^0.4.1": - "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"memory-fs@^0.5.0": - "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"memorystream@^0.3.1": - "integrity" "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - "resolved" "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" - "version" "0.3.1" - -"meow@^6.0.0": - "integrity" "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==" - "resolved" "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz" - "version" "6.1.1" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +load-json-file@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + +load-yaml-file@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" + integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.13.0" + pify "^4.0.1" + strip-bom "^3.0.0" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash._objecttypes@~2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" + integrity sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.clone@^4.3.2: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" + integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + +lodash.get@^4.0.0, lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isobject@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" + integrity sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU= + dependencies: + lodash._objecttypes "~2.4.1" + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.memoize@~3.0.3: + version "3.0.4" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" + integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= + +lodash.some@^4.2.2: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= + +lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.union@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= + +lodash@4.17.21, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.15, lodash@~4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-driver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" + integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== + +log-symbols@4.1.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +log4js@^6.3.0: + version "6.4.0" + resolved "https://registry.npmjs.org/log4js/-/log4js-6.4.0.tgz#3f63ccfc8033c83cd617a4d2d50e48be5944eae9" + integrity sha512-ysc/XUecZJuN8NoKOssk3V0cQ29xY4fra6fnigZa5VwxFsCsvdqsdnEuAxNN89LlHpbE4KUD3zGcn+kFqonSVQ== + dependencies: + date-format "^4.0.3" + debug "^4.3.3" + flatted "^3.2.4" + rfdc "^1.3.0" + streamroller "^3.0.2" + +log4js@^6.4.1: + version "6.4.2" + resolved "https://registry.npmjs.org/log4js/-/log4js-6.4.2.tgz#45ec783835acc525b397f52cf086e26994fe3b70" + integrity sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg== + dependencies: + date-format "^4.0.4" + debug "^4.3.3" + flatted "^3.2.5" + rfdc "^1.3.0" + streamroller "^3.0.4" + +logform@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz#a3997a05985de2ebd325ae0d166dffc9c6fe6b57" + integrity sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ== + dependencies: + colors "^1.2.1" + fecha "^4.2.0" + ms "^2.1.1" + safe-stable-stringify "^1.1.0" + triple-beam "^1.3.0" + +long@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" + integrity sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s= + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loupe@^2.3.1: + version "2.3.4" + resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" + integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== + dependencies: + get-func-name "^2.0.0" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= + dependencies: + es5-ext "~0.10.2" + +lunr@^2.3.8: + version "2.3.9" + resolved "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + +magic-string@^0.25.2, magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + +magic-string@~0.26.2: + version "0.26.7" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== + dependencies: + sourcemap-codec "^1.4.8" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-fetch-happen@^8.0.14, make-fetch-happen@^8.0.9: + version "8.0.14" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" + integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.0.5" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + promise-retry "^2.0.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" + +make-fetch-happen@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +marked-terminal@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz#d2edc2991841d893ee943b44b40b2ee9518b4d9f" + integrity sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g== + dependencies: + ansi-escapes "^5.0.0" + cardinal "^2.1.1" + chalk "^5.0.0" + cli-table3 "^0.6.1" + node-emoji "^1.11.0" + supports-hyperlinks "^2.2.0" + +marked@^0.8.0: + version "0.8.2" + resolved "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" + integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== + +marked@^4.0.14: + version "4.0.18" + resolved "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" + integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== + +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memfs@3.4.7: + version "3.4.7" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" + integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== + dependencies: + fs-monkey "^1.0.3" + +memoizee@0.4.X, memoizee@^0.4.15: + version "0.4.15" + resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= + +meow@^6.0.0: + version "6.1.1" + resolved "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" + integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== dependencies: "@types/minimist" "^1.2.0" - "camelcase-keys" "^6.2.2" - "decamelize-keys" "^1.1.0" - "hard-rejection" "^2.1.0" - "minimist-options" "^4.0.2" - "normalize-package-data" "^2.5.0" - "read-pkg-up" "^7.0.1" - "redent" "^3.0.0" - "trim-newlines" "^3.0.0" - "type-fest" "^0.13.1" - "yargs-parser" "^18.1.3" - -"meow@^8.0.0": - "integrity" "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==" - "resolved" "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" - "version" "8.1.2" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "^4.0.2" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.13.1" + yargs-parser "^18.1.3" + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" - "camelcase-keys" "^6.2.2" - "decamelize-keys" "^1.1.0" - "hard-rejection" "^2.1.0" - "minimist-options" "4.1.0" - "normalize-package-data" "^3.0.0" - "read-pkg-up" "^7.0.1" - "redent" "^3.0.0" - "trim-newlines" "^3.0.0" - "type-fest" "^0.18.0" - "yargs-parser" "^20.2.3" - -"merge-descriptors@1.0.1": - "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - "version" "1.0.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge@^1.2.0": - "integrity" "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" - "resolved" "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz" - "version" "1.2.1" - -"merge2@^1.2.3", "merge2@^1.3.0", "merge2@^1.4.1", "merge2@1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"methods@~1.1.2": - "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - "version" "1.1.2" - -"micromatch@^3.0.4": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^3.1.10", "micromatch@^3.1.4": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^4.0.0", "micromatch@^4.0.2", "micromatch@^4.0.4": - "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "braces" "^3.0.1" - "picomatch" "^2.2.3" - -"miller-rabin@^4.0.0": - "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" - "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "bn.js" "^4.0.0" - "brorand" "^1.0.1" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@1.4.1, merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merge@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.49.0: + version "1.49.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== "mime-db@>= 1.43.0 < 2": - "integrity" "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz" - "version" "1.50.0" - -"mime-db@1.49.0": - "integrity" "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz" - "version" "1.49.0" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12", "mime-types@^2.1.16", "mime-types@^2.1.27", "mime-types@~2.1.19", "mime-types@~2.1.24": - "integrity" "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" - "version" "2.1.32" - dependencies: - "mime-db" "1.49.0" - -"mime-types@~2.1.34": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@^1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mime@^2.4.4", "mime@^2.5.2": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mime@1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^1.0.0": - "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - "version" "1.2.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mimic-response@^1.0.0", "mimic-response@^1.0.1": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"mimic-response@^3.1.0": - "integrity" "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - "version" "3.1.0" - -"min-indent@^1.0.0": - "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.0", "minimatch@^3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^3.1.1": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^5.0.1": - "integrity" "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "brace-expansion" "^2.0.1" - -"minimatch@4.2.1": - "integrity" "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist-options@^4.0.2", "minimist-options@4.1.0": - "integrity" "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==" - "resolved" "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "arrify" "^1.0.1" - "is-plain-obj" "^1.1.0" - "kind-of" "^6.0.3" - -"minimist@^1.2.0", "minimist@^1.2.3", "minimist@^1.2.5", "minimist@1.x": - "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - "version" "1.2.5" - -"minimist@^1.2.6": - "integrity" "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - "version" "1.2.6" - -"minimist@~0.0.1": - "integrity" "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" - "version" "0.0.10" - -"minipass-collect@^1.0.2": - "integrity" "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==" - "resolved" "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "minipass" "^3.0.0" - -"minipass-fetch@^1.3.0", "minipass-fetch@^1.3.2": - "integrity" "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==" - "resolved" "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "minipass" "^3.1.0" - "minipass-sized" "^1.0.3" - "minizlib" "^2.0.0" + version "1.50.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.32" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + +mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4, mime@^2.5.2: + version "2.5.2" + resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" + integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.0, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0, minimist-options@^4.0.2: + version "4.1.0" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@1.x, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" optionalDependencies: - "encoding" "^0.1.12" - -"minipass-flush@^1.0.5": - "integrity" "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==" - "resolved" "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "minipass" "^3.0.0" - -"minipass-json-stream@^1.0.1": - "integrity" "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==" - "resolved" "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "jsonparse" "^1.3.1" - "minipass" "^3.0.0" - -"minipass-pipeline@^1.2.2", "minipass-pipeline@^1.2.4": - "integrity" "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==" - "resolved" "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" - "version" "1.2.4" - dependencies: - "minipass" "^3.0.0" - -"minipass-sized@^1.0.3": - "integrity" "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==" - "resolved" "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "minipass" "^3.0.0" - -"minipass@^2.6.0", "minipass@^2.9.0": - "integrity" "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" - "version" "2.9.0" - dependencies: - "safe-buffer" "^5.1.2" - "yallist" "^3.0.0" - -"minipass@^3.0.0", "minipass@^3.1.0", "minipass@^3.1.1", "minipass@^3.1.3": - "integrity" "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "yallist" "^4.0.0" - -"minizlib@^1.3.3": - "integrity" "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" - "version" "1.3.3" - dependencies: - "minipass" "^2.9.0" - -"minizlib@^2.0.0", "minizlib@^2.1.1": - "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "minipass" "^3.0.0" - "yallist" "^4.0.0" - -"mississippi@^3.0.0": - "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" - "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "concat-stream" "^1.5.0" - "duplexify" "^3.4.2" - "end-of-stream" "^1.1.0" - "flush-write-stream" "^1.0.0" - "from2" "^2.1.0" - "parallel-transform" "^1.1.0" - "pump" "^3.0.0" - "pumpify" "^1.3.3" - "stream-each" "^1.1.0" - "through2" "^2.0.0" - -"mixin-deep@^1.2.0": - "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "for-in" "^1.0.2" - "is-extendable" "^1.0.1" - -"mixme@^0.5.1": - "integrity" "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==" - "resolved" "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz" - "version" "0.5.4" - -"mkdirp-infer-owner@^2.0.0": - "integrity" "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==" - "resolved" "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "chownr" "^2.0.0" - "infer-owner" "^1.0.4" - "mkdirp" "^1.0.3" - -"mkdirp@^0.5.1", "mkdirp@^0.5.5": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mkdirp@^0.5.3": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mkdirp@^1.0.3", "mkdirp@^1.0.4", "mkdirp@~1.0.4", "mkdirp@1.0.4": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" - -"mkdirp@>=0.5 0": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mocha-chai-jest-snapshot@1.1.3": - "integrity" "sha512-i2Vb+6mXKBMapNAbVUiM11CPJgkJ1BKwouH98Bcx0trgAcVZxdRt4pNlbLZogjQEj/gCmjrW5Y8hmYWWDoXwGg==" - "resolved" "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.3.tgz" - "version" "1.1.3" + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.1.5" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== + dependencies: + yallist "^4.0.0" + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixme@^0.5.1: + version "0.5.4" + resolved "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz#8cb3bd0cd32a513c161bf1ca99d143f0bcf2eff3" + integrity sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw== + +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + +mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: + version "0.5.5" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha-chai-jest-snapshot@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.3.tgz#ac7b280961a9da08b529d0f8488e90a4cbe9ece8" + integrity sha512-i2Vb+6mXKBMapNAbVUiM11CPJgkJ1BKwouH98Bcx0trgAcVZxdRt4pNlbLZogjQEj/gCmjrW5Y8hmYWWDoXwGg== dependencies: "@jest/test-result" "^27.0.6" - "chalk" "^4.1.2" - "find-package-json" "^1.2.0" - "jest-snapshot" "^27.0.6" - "jest-util" "^27.0.6" - "slash" "^3.0.0" - "yargs" "^17.1.1" - -"mocha@9.2.2": - "integrity" "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" - "version" "9.2.2" + chalk "^4.1.2" + find-package-json "^1.2.0" + jest-snapshot "^27.0.6" + jest-util "^27.0.6" + slash "^3.0.0" + yargs "^17.1.1" + +mocha@9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9" + integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== dependencies: "@ungap/promise-all-settled" "1.1.2" - "ansi-colors" "4.1.1" - "browser-stdout" "1.3.1" - "chokidar" "3.5.3" - "debug" "4.3.3" - "diff" "5.0.0" - "escape-string-regexp" "4.0.0" - "find-up" "5.0.0" - "glob" "7.2.0" - "growl" "1.10.5" - "he" "1.2.0" - "js-yaml" "4.1.0" - "log-symbols" "4.1.0" - "minimatch" "4.2.1" - "ms" "2.1.3" - "nanoid" "3.3.1" - "serialize-javascript" "6.0.0" - "strip-json-comments" "3.1.1" - "supports-color" "8.1.1" - "which" "2.0.2" - "workerpool" "6.2.0" - "yargs" "16.2.0" - "yargs-parser" "20.2.4" - "yargs-unparser" "2.0.0" - -"modify-values@^1.0.0": - "integrity" "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" - "resolved" "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" - "version" "1.0.1" - -"moment@~2.29.3": - "integrity" "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" - "resolved" "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" - "version" "2.29.4" - -"morgan@^1.10.0", "morgan@^1.8.2": - "integrity" "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==" - "resolved" "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "basic-auth" "~2.0.1" - "debug" "2.6.9" - "depd" "~2.0.0" - "on-finished" "~2.3.0" - "on-headers" "~1.0.2" - -"move-concurrently@^1.0.1": - "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=" - "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "aproba" "^1.1.1" - "copy-concurrently" "^1.0.0" - "fs-write-stream-atomic" "^1.0.8" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.3" - -"ms@^2.0.0", "ms@^2.1.1", "ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"ms@2.0.0": - "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"multimatch@^5.0.0": - "integrity" "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==" - "resolved" "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" - "version" "5.0.0" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.3" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + growl "1.10.5" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "4.2.1" + ms "2.1.3" + nanoid "3.3.1" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + workerpool "6.2.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +modify-values@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + +moment@~2.29.3: + version "2.29.4" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +morgan@^1.10.0, morgan@^1.8.2: + version "1.10.0" + resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" + integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== + dependencies: + basic-auth "~2.0.1" + debug "2.6.9" + depd "~2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.2" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== dependencies: "@types/minimatch" "^3.0.3" - "array-differ" "^3.0.0" - "array-union" "^2.1.0" - "arrify" "^2.0.1" - "minimatch" "^3.0.4" - -"mute-stdout@^1.0.0": - "integrity" "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==" - "resolved" "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz" - "version" "1.0.1" - -"mute-stream@~0.0.4", "mute-stream@0.0.8": - "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - "version" "0.0.8" - -"mz@2.7.0": - "integrity" "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==" - "resolved" "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - "version" "2.7.0" - dependencies: - "any-promise" "^1.0.0" - "object-assign" "^4.0.1" - "thenify-all" "^1.0.0" - -"nan@^2.12.1", "nan@^2.14.2": - "integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" - "resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" - "version" "2.15.0" - -"nanoid@3.3.1": - "integrity" "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" - "version" "3.3.1" - -"nanomatch@^1.2.9": - "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" - "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "fragment-cache" "^0.2.1" - "is-windows" "^1.0.2" - "kind-of" "^6.0.2" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"natural-compare@^1.4.0": - "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"negotiator@^0.6.2", "negotiator@0.6.2": - "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" - "version" "0.6.2" - -"negotiator@0.6.3": - "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - "version" "0.6.3" - -"neo-async@^2.5.0", "neo-async@^2.6.0", "neo-async@^2.6.1", "neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"netmask@^2.0.1": - "integrity" "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" - "resolved" "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" - "version" "2.0.2" - -"next-tick@^1.1.0", "next-tick@1": - "integrity" "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" - "version" "1.1.0" - -"next-tick@~1.0.0": - "integrity" "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" - "version" "1.0.0" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"nise@^4.0.4": - "integrity" "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==" - "resolved" "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz" - "version" "4.1.0" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + +mute-stream@0.0.8, mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mz@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1, nan@^2.14.2: + version "2.15.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanocolors@^0.1.5: + version "0.1.12" + resolved "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" + integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== + +nanoid@3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.2.1: + version "2.9.1" + resolved "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.2, negotiator@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +netmask@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +nise@^4.0.4: + version "4.1.0" + resolved "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz#8fb75a26e90b99202fa1e63f448f58efbcdedaf6" + integrity sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers" "^6.0.0" "@sinonjs/text-encoding" "^0.7.1" - "just-extend" "^4.0.2" - "path-to-regexp" "^1.7.0" - -"node-addon-api@^4.2.0": - "integrity" "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" - "resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz" - "version" "4.3.0" - -"node-emoji@^1.11.0": - "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" - "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "lodash" "^4.17.21" - -"node-fetch@^2.5.0", "node-fetch@^2.6.1", "node-fetch@^2.6.7", "node-fetch@2.6.7": - "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - "version" "2.6.7" - dependencies: - "whatwg-url" "^5.0.0" - -"node-forge@^0.10.0": - "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" - "version" "0.10.0" - -"node-forge@^1.3.1": - "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - "version" "1.3.1" - -"node-gyp@^5.0.2": - "integrity" "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==" - "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "env-paths" "^2.2.0" - "glob" "^7.1.4" - "graceful-fs" "^4.2.2" - "mkdirp" "^0.5.1" - "nopt" "^4.0.1" - "npmlog" "^4.1.2" - "request" "^2.88.0" - "rimraf" "^2.6.3" - "semver" "^5.7.1" - "tar" "^4.4.12" - "which" "^1.3.1" - -"node-gyp@^7.1.0": - "integrity" "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==" - "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "env-paths" "^2.2.0" - "glob" "^7.1.4" - "graceful-fs" "^4.2.3" - "nopt" "^5.0.0" - "npmlog" "^4.1.2" - "request" "^2.88.2" - "rimraf" "^3.0.2" - "semver" "^7.3.2" - "tar" "^6.0.2" - "which" "^2.0.2" - -"node-gyp@^8.0.0", "node-gyp@8.x": - "integrity" "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==" - "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" - "version" "8.4.1" - dependencies: - "env-paths" "^2.2.0" - "glob" "^7.1.4" - "graceful-fs" "^4.2.6" - "make-fetch-happen" "^9.1.0" - "nopt" "^5.0.0" - "npmlog" "^6.0.0" - "rimraf" "^3.0.2" - "semver" "^7.3.5" - "tar" "^6.1.2" - "which" "^2.0.2" - -"node-int64@^0.4.0": - "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-libs-browser@^2.2.1": - "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" - "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "assert" "^1.1.1" - "browserify-zlib" "^0.2.0" - "buffer" "^4.3.0" - "console-browserify" "^1.1.0" - "constants-browserify" "^1.0.0" - "crypto-browserify" "^3.11.0" - "domain-browser" "^1.1.1" - "events" "^3.0.0" - "https-browserify" "^1.0.0" - "os-browserify" "^0.3.0" - "path-browserify" "0.0.1" - "process" "^0.11.10" - "punycode" "^1.2.4" - "querystring-es3" "^0.2.0" - "readable-stream" "^2.3.3" - "stream-browserify" "^2.0.1" - "stream-http" "^2.7.2" - "string_decoder" "^1.0.0" - "timers-browserify" "^2.0.4" - "tty-browserify" "0.0.0" - "url" "^0.11.0" - "util" "^0.11.0" - "vm-browserify" "^1.0.1" - -"node-localstorage@^1.3.1": - "integrity" "sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==" - "resolved" "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "write-file-atomic" "^1.1.4" - -"node-preload@^0.2.1": - "integrity" "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==" - "resolved" "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "process-on-spawn" "^1.0.0" - -"node-releases@^2.0.6": - "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - "version" "2.0.6" - -"node-version@^1.0.0": - "integrity" "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==" - "resolved" "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz" - "version" "1.2.0" - -"noop-fn@^1.0.0": - "integrity" "sha1-XzPUfxPSFQ35PgywNmmemC94/78=" - "resolved" "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz" - "version" "1.0.0" - -"nopt@^4.0.1": - "integrity" "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "abbrev" "1" - "osenv" "^0.1.4" - -"nopt@^5.0.0": - "integrity" "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "abbrev" "1" - -"normalize-package-data@^2.0.0", "normalize-package-data@^2.3.2", "normalize-package-data@^2.5.0": - "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "hosted-git-info" "^2.1.4" - "resolve" "^1.10.0" - "semver" "2 || 3 || 4 || 5" - "validate-npm-package-license" "^3.0.1" - -"normalize-package-data@^3.0.0": - "integrity" "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "hosted-git-info" "^4.0.1" - "is-core-module" "^2.5.0" - "semver" "^7.3.4" - "validate-npm-package-license" "^3.0.1" - -"normalize-package-data@^3.0.2": - "integrity" "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "hosted-git-info" "^4.0.1" - "is-core-module" "^2.5.0" - "semver" "^7.3.4" - "validate-npm-package-license" "^3.0.1" - -"normalize-path@^2.0.1": - "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "remove-trailing-separator" "^1.0.1" - -"normalize-path@^2.1.1": - "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "remove-trailing-separator" "^1.0.1" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-url@^4.1.0": - "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - "version" "4.5.1" - -"normalize-url@^6.0.1", "normalize-url@^6.1.0": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"now-and-later@^2.0.0": - "integrity" "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==" - "resolved" "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "once" "^1.3.2" - -"npm-bundled@^1.1.1": - "integrity" "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==" - "resolved" "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "npm-normalize-package-bin" "^1.0.1" - -"npm-install-checks@^4.0.0": - "integrity" "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==" - "resolved" "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "semver" "^7.1.1" - -"npm-lifecycle@^3.1.5": - "integrity" "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==" - "resolved" "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "byline" "^5.0.0" - "graceful-fs" "^4.1.15" - "node-gyp" "^5.0.2" - "resolve-from" "^4.0.0" - "slide" "^1.1.6" - "uid-number" "0.0.6" - "umask" "^1.1.0" - "which" "^1.3.1" - -"npm-normalize-package-bin@^1.0.0", "npm-normalize-package-bin@^1.0.1": - "integrity" "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - "resolved" "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" - "version" "1.0.1" - -"npm-package-arg@^8.0.0", "npm-package-arg@^8.0.1", "npm-package-arg@^8.1.0", "npm-package-arg@^8.1.2", "npm-package-arg@^8.1.5": - "integrity" "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==" - "resolved" "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz" - "version" "8.1.5" - dependencies: - "hosted-git-info" "^4.0.1" - "semver" "^7.3.4" - "validate-npm-package-name" "^3.0.0" - -"npm-packlist@^2.1.4": - "integrity" "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==" - "resolved" "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "glob" "^7.1.6" - "ignore-walk" "^3.0.3" - "npm-bundled" "^1.1.1" - "npm-normalize-package-bin" "^1.0.1" - -"npm-pick-manifest@^6.0.0", "npm-pick-manifest@^6.1.1": - "integrity" "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==" - "resolved" "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "npm-install-checks" "^4.0.0" - "npm-normalize-package-bin" "^1.0.1" - "npm-package-arg" "^8.1.2" - "semver" "^7.3.4" - -"npm-registry-fetch@^11.0.0": - "integrity" "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==" - "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz" - "version" "11.0.0" - dependencies: - "make-fetch-happen" "^9.0.1" - "minipass" "^3.1.3" - "minipass-fetch" "^1.3.0" - "minipass-json-stream" "^1.0.1" - "minizlib" "^2.0.0" - "npm-package-arg" "^8.0.0" - -"npm-registry-fetch@^9.0.0": - "integrity" "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==" - "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz" - "version" "9.0.0" + just-extend "^4.0.2" + path-to-regexp "^1.7.0" + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-emoji@^1.11.0: + version "1.11.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-fetch@2.6.7, node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.5.0, node-fetch@^2.6.1: + version "2.6.5" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" + integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp@3.x: + version "3.8.0" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-gyp@^5.0.2: + version "5.1.1" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + integrity sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.1.2" + request "^2.88.0" + rimraf "^2.6.3" + semver "^5.7.1" + tar "^4.4.12" + which "^1.3.1" + +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + +node-gyp@^8.0.0: + version "8.2.0" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.2.0.tgz#ef509ccdf5cef3b4d93df0690b90aa55ff8c7977" + integrity sha512-KG8SdcoAnw2d6augGwl1kOayALUrXW/P2uOAm2J2+nmW/HjZo7y+8TDg7LejxbekOOSv3kzhq+NSUYkIDAX8eA== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^8.0.14" + nopt "^5.0.0" + npmlog "^4.1.2" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-localstorage@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz#3177ef42837f398aee5dd75e319b281e40704243" + integrity sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ== + dependencies: + write-file-atomic "^1.1.4" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-pre-gyp@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" + integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-preload@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" + integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== + dependencies: + process-on-spawn "^1.0.0" + +node-releases@^1.1.76: + version "1.1.76" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" + integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== + +node-releases@^2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" + integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +node-version@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz#34fde3ffa8e1149bd323983479dda620e1b5060d" + integrity sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ== + +noop-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz#5f33d47f13d2150df93e0cb036699e982f78ffbf" + integrity sha1-XzPUfxPSFQ35PgywNmmemC94/78= + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.1, normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + +npm-bundled@^1.0.1, npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-install-checks@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" + integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== + dependencies: + semver "^7.1.1" + +npm-lifecycle@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== + dependencies: + byline "^5.0.0" + graceful-fs "^4.1.15" + node-gyp "^5.0.2" + resolve-from "^4.0.0" + slide "^1.1.6" + uid-number "0.0.6" + umask "^1.1.0" + which "^1.3.1" + +npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: + version "8.1.5" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" + integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== + dependencies: + hosted-git-info "^4.0.1" + semver "^7.3.4" + validate-npm-package-name "^3.0.0" + +npm-packlist@^1.1.6: + version "1.4.8" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" + integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + npm-normalize-package-bin "^1.0.1" + +npm-packlist@^2.1.4: + version "2.2.2" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" + integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== + dependencies: + glob "^7.1.6" + ignore-walk "^3.0.3" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" + integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== + dependencies: + npm-install-checks "^4.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^8.1.2" + semver "^7.3.4" + +npm-registry-fetch@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" + integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== + dependencies: + make-fetch-happen "^9.0.1" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + +npm-registry-fetch@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" + integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== dependencies: "@npmcli/ci-detect" "^1.0.0" - "lru-cache" "^6.0.0" - "make-fetch-happen" "^8.0.9" - "minipass" "^3.1.3" - "minipass-fetch" "^1.3.0" - "minipass-json-stream" "^1.0.1" - "minizlib" "^2.0.0" - "npm-package-arg" "^8.0.0" - -"npm-run-all@4.1.5": - "integrity" "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==" - "resolved" "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "ansi-styles" "^3.2.1" - "chalk" "^2.4.1" - "cross-spawn" "^6.0.5" - "memorystream" "^0.3.1" - "minimatch" "^3.0.4" - "pidtree" "^0.3.0" - "read-pkg" "^3.0.0" - "shell-quote" "^1.6.1" - "string.prototype.padend" "^3.0.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"npmlog@^4.1.2": - "integrity" "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "are-we-there-yet" "~1.1.2" - "console-control-strings" "~1.1.0" - "gauge" "~2.7.3" - "set-blocking" "~2.0.0" - -"npmlog@^5.0.1": - "integrity" "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "are-we-there-yet" "^2.0.0" - "console-control-strings" "^1.1.0" - "gauge" "^3.0.0" - "set-blocking" "^2.0.0" - -"npmlog@^6.0.0": - "integrity" "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "are-we-there-yet" "^3.0.0" - "console-control-strings" "^1.1.0" - "gauge" "^4.0.3" - "set-blocking" "^2.0.0" - -"number-is-nan@^1.0.0": - "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - "version" "1.0.1" - -"nyc@15.1.0": - "integrity" "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==" - "resolved" "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz" - "version" "15.1.0" + lru-cache "^6.0.0" + make-fetch-happen "^8.0.9" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + +npm-run-all@4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nyc@15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" + integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== dependencies: "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - "caching-transform" "^4.0.0" - "convert-source-map" "^1.7.0" - "decamelize" "^1.2.0" - "find-cache-dir" "^3.2.0" - "find-up" "^4.1.0" - "foreground-child" "^2.0.0" - "get-package-type" "^0.1.0" - "glob" "^7.1.6" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-hook" "^3.0.0" - "istanbul-lib-instrument" "^4.0.0" - "istanbul-lib-processinfo" "^2.0.2" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.0.2" - "make-dir" "^3.0.0" - "node-preload" "^0.2.1" - "p-map" "^3.0.0" - "process-on-spawn" "^1.0.0" - "resolve-from" "^5.0.0" - "rimraf" "^3.0.0" - "signal-exit" "^3.0.2" - "spawn-wrap" "^2.0.0" - "test-exclude" "^6.0.0" - "yargs" "^15.0.2" - -"oauth-sign@~0.9.0": - "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - "version" "0.9.0" - -"object-assign@^4", "object-assign@^4.0.1", "object-assign@^4.1.0", "object-assign@^4.1.1", "object-assign@4.X": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-copy@^0.1.0": - "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" - "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "copy-descriptor" "^0.1.0" - "define-property" "^0.2.5" - "kind-of" "^3.0.3" - -"object-hash@^3.0.0": - "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - "version" "3.0.0" - -"object-inspect@^1.11.0", "object-inspect@^1.9.0": - "integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" - "version" "1.11.0" - -"object-inspect@^1.12.0": - "integrity" "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz" - "version" "1.12.0" - -"object-is@^1.0.1": - "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==" - "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"object-keys@^1.0.12", "object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object-visit@^1.0.0": - "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" - "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "isobject" "^3.0.0" - -"object.assign@^4.0.4", "object.assign@^4.1.0", "object.assign@^4.1.2": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" - -"object.defaults@^1.0.0", "object.defaults@^1.1.0": - "integrity" "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=" - "resolved" "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "array-each" "^1.0.1" - "array-slice" "^1.0.0" - "for-own" "^1.0.0" - "isobject" "^3.0.0" - -"object.getownpropertydescriptors@^2.0.3": - "integrity" "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==" - "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.2" - -"object.map@^1.0.0": - "integrity" "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=" - "resolved" "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "for-own" "^1.0.0" - "make-iterator" "^1.0.0" - -"object.pick@^1.2.0", "object.pick@^1.3.0": - "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" - "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "isobject" "^3.0.1" - -"object.reduce@^1.0.0": - "integrity" "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=" - "resolved" "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "for-own" "^1.0.0" - "make-iterator" "^1.0.0" - -"object.values@^1.1.5": - "integrity" "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.1" - -"on-finished@^2.2.0", "on-finished@~2.3.0": - "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "ee-first" "1.1.1" - -"on-finished@2.4.1": - "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "ee-first" "1.1.1" - -"on-headers@^1.0.0", "on-headers@~1.0.2": - "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - "version" "1.0.2" - -"once@^1.3.0", "once@^1.3.1", "once@^1.3.2", "once@^1.4.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"one-time@^1.0.0": - "integrity" "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==" - "resolved" "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "fn.name" "1.x.x" - -"onetime@^2.0.0": - "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "mimic-fn" "^1.0.0" - -"onetime@^5.1.0", "onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"open@^6.3.0": - "integrity" "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==" - "resolved" "https://registry.npmjs.org/open/-/open-6.4.0.tgz" - "version" "6.4.0" - dependencies: - "is-wsl" "^1.1.0" - -"openapi3-ts@^2.0.1": - "integrity" "sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==" - "resolved" "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "yaml" "^1.10.0" - -"opener@^1.5.1": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" - -"optimist@~0.6.0": - "integrity" "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=" - "resolved" "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" - "version" "0.6.1" - dependencies: - "minimist" "~0.0.1" - "wordwrap" "~0.0.2" - -"optionator@^0.8.1": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"ora@^5.4.1", "ora@5.4.1": - "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" - "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bl" "^4.1.0" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-spinners" "^2.5.0" - "is-interactive" "^1.0.0" - "is-unicode-supported" "^0.1.0" - "log-symbols" "^4.1.0" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - -"ordered-read-streams@^1.0.0": - "integrity" "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=" - "resolved" "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "readable-stream" "^2.0.1" - -"os-browserify@^0.3.0": - "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - "version" "0.3.0" - -"os-homedir@^1.0.0": - "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - "version" "1.0.2" - -"os-locale@^1.4.0": - "integrity" "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=" - "resolved" "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "lcid" "^1.0.0" - -"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.1", "os-tmpdir@~1.0.2": - "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - "version" "1.0.2" - -"osenv@^0.1.4": - "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" - "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "os-homedir" "^1.0.0" - "os-tmpdir" "^1.0.0" - -"outdent@^0.5.0": - "integrity" "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==" - "resolved" "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz" - "version" "0.5.0" - -"p-cancelable@^1.0.0": - "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - "version" "1.1.0" - -"p-cancelable@^2.0.0": - "integrity" "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" - "version" "2.1.1" - -"p-defer@^3.0.0": - "integrity" "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - "resolved" "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz" - "version" "3.0.0" - -"p-filter@^2.1.0": - "integrity" "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==" - "resolved" "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "p-map" "^2.0.0" - -"p-finally@^1.0.0": - "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" - -"p-limit@^1.1.0": - "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "p-try" "^1.0.0" - -"p-limit@^2.0.0", "p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-limit@^3.1.0": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^2.0.0": - "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - "version" "2.0.0" + caching-transform "^4.0.0" + convert-source-map "^1.7.0" + decamelize "^1.2.0" + find-cache-dir "^3.2.0" + find-up "^4.1.0" + foreground-child "^2.0.0" + get-package-type "^0.1.0" + glob "^7.1.6" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-hook "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-processinfo "^2.0.2" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + make-dir "^3.0.0" + node-preload "^0.2.1" + p-map "^3.0.0" + process-on-spawn "^1.0.0" + resolve-from "^5.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + spawn-wrap "^2.0.0" + test-exclude "^6.0.0" + yargs "^15.0.2" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@4.X, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-inspect@^1.12.0: + version "1.12.0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.2" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@^2.2.0, on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@^1.0.0, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +one-time@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" + integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== + dependencies: + fn.name "1.x.x" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + +openapi3-ts@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz#b270aecea09e924f1886bc02a72608fca5a98d85" + integrity sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg== + dependencies: + yaml "^1.10.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@5.4.1, ora@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +outdent@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" + integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: - "p-limit" "^1.1.0" + p-limit "^1.1.0" -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: - "p-limit" "^2.0.0" + p-limit "^2.0.0" -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - "p-limit" "^2.2.0" + p-limit "^2.2.0" -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - "p-limit" "^3.0.2" + p-limit "^3.0.2" -"p-map-series@^2.1.0": - "integrity" "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==" - "resolved" "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz" - "version" "2.1.0" +p-map-series@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== -"p-map@^2.0.0": - "integrity" "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" - "version" "2.1.0" +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -"p-map@^3.0.0": - "integrity" "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" - "version" "3.0.0" +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== dependencies: - "aggregate-error" "^3.0.0" + aggregate-error "^3.0.0" -"p-map@^4.0.0": - "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - "version" "4.0.0" +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: - "aggregate-error" "^3.0.0" + aggregate-error "^3.0.0" -"p-pipe@^3.1.0": - "integrity" "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==" - "resolved" "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" - "version" "3.1.0" +p-pipe@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== -"p-queue@^6.6.2": - "integrity" "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==" - "resolved" "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" - "version" "6.6.2" +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: - "eventemitter3" "^4.0.4" - "p-timeout" "^3.2.0" + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" -"p-reduce@^2.0.0", "p-reduce@^2.1.0": - "integrity" "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==" - "resolved" "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz" - "version" "2.1.0" +p-reduce@^2.0.0, p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== -"p-timeout@^3.2.0": - "integrity" "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==" - "resolved" "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" - "version" "3.2.0" +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== dependencies: - "p-finally" "^1.0.0" + p-finally "^1.0.0" -"p-try@^1.0.0": - "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - "version" "1.0.0" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -"p-waterfall@^2.1.1": - "integrity" "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==" - "resolved" "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz" - "version" "2.1.1" +p-waterfall@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== dependencies: - "p-reduce" "^2.0.0" + p-reduce "^2.0.0" -"pac-proxy-agent@^5.0.0": - "integrity" "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==" - "resolved" "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz" - "version" "5.0.0" +pac-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" + integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== dependencies: "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" - "get-uri" "3" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "5" - "pac-resolver" "^5.0.0" - "raw-body" "^2.2.0" - "socks-proxy-agent" "5" - -"pac-resolver@^5.0.0": - "integrity" "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==" - "resolved" "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "degenerator" "^3.0.1" - "ip" "^1.1.5" - "netmask" "^2.0.1" - -"package-hash@^4.0.0": - "integrity" "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==" - "resolved" "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.15" - "hasha" "^5.0.0" - "lodash.flattendeep" "^4.4.0" - "release-zalgo" "^1.0.0" - -"package-json@^6.3.0": - "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" - "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" - "version" "6.5.0" - dependencies: - "got" "^9.6.0" - "registry-auth-token" "^4.0.0" - "registry-url" "^5.0.0" - "semver" "^6.2.0" - -"package-name-regex@~2.0.6": - "integrity" "sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==" - "resolved" "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz" - "version" "2.0.6" - -"pacote@^11.2.6": - "integrity" "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==" - "resolved" "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz" - "version" "11.3.5" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^5.0.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + +pac-resolver@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" + integrity sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA== + dependencies: + degenerator "^3.0.1" + ip "^1.1.5" + netmask "^2.0.1" + +package-hash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" + integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== + dependencies: + graceful-fs "^4.1.15" + hasha "^5.0.0" + lodash.flattendeep "^4.4.0" + release-zalgo "^1.0.0" + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +package-name-regex@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz#b54bcb04d950e38082b7bb38fa558e01c1679334" + integrity sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA== + +pacote@^11.2.6: + version "11.3.5" + resolved "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2" + integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg== dependencies: "@npmcli/git" "^2.1.0" "@npmcli/installed-package-contents" "^1.0.6" "@npmcli/promise-spawn" "^1.2.0" "@npmcli/run-script" "^1.8.2" - "cacache" "^15.0.5" - "chownr" "^2.0.0" - "fs-minipass" "^2.1.0" - "infer-owner" "^1.0.4" - "minipass" "^3.1.3" - "mkdirp" "^1.0.3" - "npm-package-arg" "^8.0.1" - "npm-packlist" "^2.1.4" - "npm-pick-manifest" "^6.0.0" - "npm-registry-fetch" "^11.0.0" - "promise-retry" "^2.0.1" - "read-package-json-fast" "^2.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.1.0" - -"pad@^3.2.0": - "integrity" "sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==" - "resolved" "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "wcwidth" "^1.0.1" - -"pako@~1.0.2", "pako@~1.0.5": - "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - "version" "1.0.11" - -"parallel-transform@^1.1.0": - "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" - "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cyclist" "^1.0.1" - "inherits" "^2.0.3" - "readable-stream" "^2.1.5" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": - "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" - "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - "version" "5.1.6" - dependencies: - "asn1.js" "^5.2.0" - "browserify-aes" "^1.0.0" - "evp_bytestokey" "^1.0.0" - "pbkdf2" "^3.0.3" - "safe-buffer" "^5.1.1" - -"parse-filepath@^1.0.1": - "integrity" "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=" - "resolved" "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-absolute" "^1.0.0" - "map-cache" "^0.2.0" - "path-root" "^0.1.1" - -"parse-json@^2.2.0": - "integrity" "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "error-ex" "^1.2.0" - -"parse-json@^4.0.0": - "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "error-ex" "^1.3.1" - "json-parse-better-errors" "^1.0.1" - -"parse-json@^5.0.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^2.1.4" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^11.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.0" + +pad@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1" + integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg== + dependencies: + wcwidth "^1.0.1" + +pako@~1.0.2, pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parse-node-version@^1.0.0": - "integrity" "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" - "resolved" "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz" - "version" "1.0.1" - -"parse-passwd@^1.0.0": - "integrity" "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" - "version" "1.0.0" - -"parse-path@^4.0.0": - "integrity" "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==" - "resolved" "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-ssh" "^1.3.0" - "protocols" "^1.4.0" - "qs" "^6.9.4" - "query-string" "^6.13.8" - -"parse-url@^6.0.0": - "integrity" "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==" - "resolved" "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "is-ssh" "^1.3.0" - "normalize-url" "^6.1.0" - "parse-path" "^4.0.0" - "protocols" "^1.4.0" - -"parseurl@~1.3.3": - "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - "version" "1.3.3" - -"pascalcase@^0.1.1": - "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - "version" "0.1.1" - -"path-browserify@^1.0.0": - "integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" - "version" "1.0.1" - -"path-browserify@0.0.1": - "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" - "version" "0.0.1" - -"path-dirname@^1.0.0": - "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - "version" "1.0.2" - -"path-exists@^2.0.0": - "integrity" "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pinkie-promise" "^2.0.0" - -"path-exists@^3.0.0": - "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-is-inside@^1.0.1": - "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - "version" "1.0.2" - -"path-is-network-drive@^1.0.20": - "integrity" "sha512-p5wCWlRB4+ggzxWshqHH9aF3kAuVu295NaENXmVhThbZPJQBeJdxZTP6CIoUR+kWHDUW56S9YcaO1gXnc/BOxw==" - "resolved" "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.20.tgz" - "version" "1.0.20" - dependencies: - "tslib" "^2" - -"path-key@^2.0.1": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.6", "path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-root-regex@^0.1.0": - "integrity" "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" - "resolved" "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" - "version" "0.1.2" - -"path-root@^0.1.1": - "integrity" "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=" - "resolved" "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "path-root-regex" "^0.1.0" - -"path-strip-sep@^1.0.17": - "integrity" "sha512-+2zIC2fNgdilgV7pTrktY6oOxxZUo9x5zJYfTzxsGze5kSGDDwhA5/0WlBn+sUyv/WuuyYn3OfM+Ue5nhdQUgA==" - "resolved" "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.17.tgz" - "version" "1.0.17" - dependencies: - "tslib" "^2" - -"path-to-regexp@^1.7.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-to-regexp@^1.8.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-to-regexp@0.1.7": - "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - "version" "0.1.7" - -"path-type@^1.0.0": - "integrity" "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "graceful-fs" "^4.1.2" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - -"path-type@^3.0.0": - "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "pify" "^3.0.0" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pathval@^1.1.1": - "integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - "resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - "version" "1.1.1" - -"pbkdf2@^3.0.3": - "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" - "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "create-hash" "^1.1.2" - "create-hmac" "^1.1.4" - "ripemd160" "^2.0.1" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"pend@~1.2.0": - "integrity" "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - "version" "1.2.0" - -"performance-now@^2.1.0": - "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - "version" "2.1.0" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3": - "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - "version" "2.3.0" - -"pidtree@^0.3.0": - "integrity" "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" - "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" - "version" "0.3.1" - -"pify@^2.0.0", "pify@^2.3.0": - "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^3.0.0": - "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pify@^5.0.0": - "integrity" "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" - "resolved" "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" - "version" "5.0.0" - -"pinkie-promise@^2.0.0": - "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" - "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "pinkie" "^2.0.0" - -"pinkie@^2.0.0": - "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - "version" "2.0.4" - -"pirates@^4.0.1", "pirates@^4.0.5": - "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - "version" "4.0.5" - -"pkg-dir@^3.0.0": - "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^3.0.0" - -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse-path@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" + integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== + dependencies: + is-ssh "^1.3.0" + protocols "^1.4.0" + qs "^6.9.4" + query-string "^6.13.8" + +parse-url@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" + integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw== + dependencies: + is-ssh "^1.3.0" + normalize-url "^6.1.0" + parse-path "^4.0.0" + protocols "^1.4.0" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-browserify@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-is-network-drive@^1.0.20: + version "1.0.20" + resolved "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.20.tgz#9c264db2e0fce5e9bc2ef9177fcab3f996d1a1b5" + integrity sha512-p5wCWlRB4+ggzxWshqHH9aF3kAuVu295NaENXmVhThbZPJQBeJdxZTP6CIoUR+kWHDUW56S9YcaO1gXnc/BOxw== + dependencies: + tslib "^2" + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-strip-sep@^1.0.17: + version "1.0.17" + resolved "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.17.tgz#3b7dd4f461cf73a9277333f50289ce9b00cffba3" + integrity sha512-+2zIC2fNgdilgV7pTrktY6oOxxZUo9x5zJYfTzxsGze5kSGDDwhA5/0WlBn+sUyv/WuuyYn3OfM+Ue5nhdQUgA== + dependencies: + tslib "^2" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@^1.7.0, path-to-regexp@^1.8.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pirates@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== "pkg-dir@< 6 >= 5": - "integrity" "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "find-up" "^5.0.0" - -"plugin-error@^1.0.1": - "integrity" "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==" - "resolved" "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "ansi-colors" "^1.0.1" - "arr-diff" "^4.0.0" - "arr-union" "^3.1.0" - "extend-shallow" "^3.0.2" - -"portfinder@^1.0.23", "portfinder@^1.0.28": - "integrity" "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==" - "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" - "version" "1.0.28" - dependencies: - "async" "^2.6.2" - "debug" "^3.1.1" - "mkdirp" "^0.5.5" - -"posix-character-classes@^0.1.0": - "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - "version" "0.1.1" - -"postcss@^7.0.16": - "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" - "version" "7.0.36" - dependencies: - "chalk" "^2.4.2" - "source-map" "^0.6.1" - "supports-color" "^6.1.0" - -"preferred-pm@^3.0.0": - "integrity" "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==" - "resolved" "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "find-up" "^5.0.0" - "find-yarn-workspace-root2" "1.2.16" - "path-exists" "^4.0.0" - "which-pm" "2.0.0" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"prelude-ls@~1.1.2": - "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" - -"prepend-http@^2.0.0": - "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - "version" "2.0.0" - -"prettier@^2.7.1", "prettier@2.7.1": - "integrity" "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" - "version" "2.7.1" - -"pretty-format@^27.2.0": - "integrity" "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz" - "version" "27.2.0" + version "5.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +plugin-error@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== + dependencies: + ansi-colors "^1.0.1" + arr-diff "^4.0.0" + arr-union "^3.1.0" + extend-shallow "^3.0.2" + +portfinder@^1.0.23, portfinder@^1.0.28: + version "1.0.28" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss@^7.0.16: + version "7.0.36" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +preferred-pm@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz#1b6338000371e3edbce52ef2e4f65eb2e73586d6" + integrity sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ== + dependencies: + find-up "^5.0.0" + find-yarn-workspace-root2 "1.2.16" + path-exists "^4.0.0" + which-pm "2.0.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +prettier@2.7.1, prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== + +pretty-format@^27.2.0: + version "27.2.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz#ee37a94ce2a79765791a8649ae374d468c18ef19" + integrity sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA== dependencies: "@jest/types" "^27.1.1" - "ansi-regex" "^5.0.0" - "ansi-styles" "^5.0.0" - "react-is" "^17.0.1" - -"pretty-hrtime@^1.0.0": - "integrity" "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" - "resolved" "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" - "version" "1.0.3" - -"printj@~1.1.0": - "integrity" "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - "resolved" "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz" - "version" "1.1.2" - -"process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"process-on-spawn@^1.0.0": - "integrity" "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==" - "resolved" "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "fromentries" "^1.2.0" - -"process@^0.11.10": - "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - "version" "0.11.10" - -"progress@^2.0.0", "progress@^2.0.3": - "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - "version" "2.0.3" - -"promise-breaker@^5.0.0": - "integrity" "sha512-mgsWQuG4kJ1dtO6e/QlNDLFtMkMzzecsC69aI5hlLEjGHFNpHrvGhFi4LiK5jg2SMQj74/diH+wZliL9LpGsyA==" - "resolved" "https://registry.npmjs.org/promise-breaker/-/promise-breaker-5.0.0.tgz" - "version" "5.0.0" - -"promise-inflight@^1.0.1": - "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - "version" "1.0.1" - -"promise-polyfill@^6.0.1": - "integrity" "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=" - "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz" - "version" "6.1.0" - -"promise-retry@^2.0.1": - "integrity" "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==" - "resolved" "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "err-code" "^2.0.2" - "retry" "^0.12.0" - -"promzard@^0.3.0": - "integrity" "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=" - "resolved" "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "read" "1" - -"proto-list@~1.2.1": - "integrity" "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - "resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - "version" "1.2.4" - -"proto3-json-serializer@^1.0.0": - "integrity" "sha512-wHxf8jYZ/LUP3M7XmULDKnbxBn+Bvk6SM+tDCPVTp9vraIzUi9hHsOBb1n2Y0VV0ukx4zBN/2vzMQYs4KWwRpg==" - "resolved" "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "protobufjs" "^6.11.3" - -"protobufjs-cli@1.0.2": - "integrity" "sha512-cz9Pq9p/Zs7okc6avH20W7QuyjTclwJPgqXG11jNaulfS3nbVisID8rC+prfgq0gbZE0w9LBFd1OKFF03kgFzg==" - "resolved" "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "chalk" "^4.0.0" - "escodegen" "^1.13.0" - "espree" "^9.0.0" - "estraverse" "^5.1.0" - "glob" "^8.0.0" - "jsdoc" "^3.6.3" - "minimist" "^1.2.0" - "semver" "^7.1.2" - "tmp" "^0.2.1" - "uglify-js" "^3.7.7" - -"protobufjs@^6.11.3", "protobufjs@6.11.3": - "integrity" "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz" - "version" "6.11.3" + ansi-regex "^5.0.0" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-on-spawn@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" + integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== + dependencies: + fromentries "^1.2.0" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0, progress@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-breaker@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/promise-breaker/-/promise-breaker-5.0.0.tgz#58e8541f1619554057da95a211794d7834d30c1d" + integrity sha512-mgsWQuG4kJ1dtO6e/QlNDLFtMkMzzecsC69aI5hlLEjGHFNpHrvGhFi4LiK5jg2SMQj74/diH+wZliL9LpGsyA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise-polyfill@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057" + integrity sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc= + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + dependencies: + read "1" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +proto3-json-serializer@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.2.tgz#bb5fe808a60f43bf96d2ce6d5063d8552ae69f06" + integrity sha512-wHxf8jYZ/LUP3M7XmULDKnbxBn+Bvk6SM+tDCPVTp9vraIzUi9hHsOBb1n2Y0VV0ukx4zBN/2vzMQYs4KWwRpg== + dependencies: + protobufjs "^6.11.3" + +protobufjs@6.11.3, protobufjs@^6.11.3: + version "6.11.3" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -14389,4305 +14126,4114 @@ "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" "@types/node" ">=13.7.0" - "long" "^4.0.0" + long "^4.0.0" -"protobufjs@^7.0.0", "protobufjs@7.1.2": - "integrity" "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==" - "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - "long" "^5.0.0" - -"protocols@^1.1.0", "protocols@^1.4.0": - "integrity" "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" - "resolved" "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" - "version" "1.4.8" +protocols@^1.1.0, protocols@^1.4.0: + version "1.4.8" + resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== -"protractor@5.4.2": - "integrity" "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==" - "resolved" "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz" - "version" "5.4.2" +protractor@5.4.2: + version "5.4.2" + resolved "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz#329efe37f48b2141ab9467799be2d4d12eb48c13" + integrity sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA== dependencies: "@types/q" "^0.0.32" "@types/selenium-webdriver" "^3.0.0" - "blocking-proxy" "^1.0.0" - "browserstack" "^1.5.1" - "chalk" "^1.1.3" - "glob" "^7.0.3" - "jasmine" "2.8.0" - "jasminewd2" "^2.1.0" - "optimist" "~0.6.0" - "q" "1.4.1" - "saucelabs" "^1.5.0" - "selenium-webdriver" "3.6.0" - "source-map-support" "~0.4.0" - "webdriver-js-extender" "2.1.0" - "webdriver-manager" "^12.0.6" - -"proxy-addr@~2.0.7": - "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" - "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "forwarded" "0.2.0" - "ipaddr.js" "1.9.1" - -"proxy-agent@^5.0.0": - "integrity" "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==" - "resolved" "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "agent-base" "^6.0.0" - "debug" "4" - "http-proxy-agent" "^4.0.0" - "https-proxy-agent" "^5.0.0" - "lru-cache" "^5.1.1" - "pac-proxy-agent" "^5.0.0" - "proxy-from-env" "^1.0.0" - "socks-proxy-agent" "^5.0.0" - -"proxy-from-env@^1.0.0", "proxy-from-env@^1.1.0": - "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - "version" "1.1.0" - -"prr@~1.0.1": - "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - "version" "1.0.1" - -"pseudomap@^1.0.2": - "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - "version" "1.0.2" - -"psl@^1.1.28": - "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - "version" "1.8.0" - -"public-encrypt@^4.0.0": - "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" - "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "bn.js" "^4.1.0" - "browserify-rsa" "^4.0.0" - "create-hash" "^1.1.0" - "parse-asn1" "^5.0.0" - "randombytes" "^2.0.1" - "safe-buffer" "^5.1.2" - -"pump@^2.0.0": - "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" - "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pumpify@^1.3.3", "pumpify@^1.3.5": - "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" - "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "duplexify" "^3.6.0" - "inherits" "^2.0.3" - "pump" "^2.0.0" - -"punycode@^1.2.4": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^1.3.2": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0", "punycode@^2.1.1": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"pupa@^2.0.1", "pupa@^2.1.1": - "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" - "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "escape-goat" "^2.0.0" - -"q@^1.4.1", "q@^1.5.1": - "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - "version" "1.5.1" - -"q@1.4.1": - "integrity" "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" - "resolved" "https://registry.npmjs.org/q/-/q-1.4.1.tgz" - "version" "1.4.1" - -"qjobs@^1.2.0": - "integrity" "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==" - "resolved" "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz" - "version" "1.2.0" - -"qs@^6.4.0", "qs@^6.6.0", "qs@^6.9.4": - "integrity" "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz" - "version" "6.10.1" - dependencies: - "side-channel" "^1.0.4" - -"qs@~6.5.2": - "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" - "version" "6.5.2" - -"qs@6.10.3": - "integrity" "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz" - "version" "6.10.3" - dependencies: - "side-channel" "^1.0.4" - -"qs@6.7.0": - "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" - "version" "6.7.0" - -"query-string@^6.13.8": - "integrity" "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==" - "resolved" "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - "version" "6.14.1" - dependencies: - "decode-uri-component" "^0.2.0" - "filter-obj" "^1.1.0" - "split-on-first" "^1.0.0" - "strict-uri-encode" "^2.0.0" - -"querystring-es3@^0.2.0", "querystring-es3@^0.2.1": - "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - "version" "0.2.1" - -"querystring@0.2.0": - "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"quick-lru@^4.0.1": - "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - "version" "4.0.1" - -"quick-lru@^5.1.1": - "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - "version" "5.1.1" - -"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"randomfill@^1.0.3": - "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" - "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "randombytes" "^2.0.5" - "safe-buffer" "^5.1.0" - -"range-parser@^1.2.1", "range-parser@~1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"raw-body@^2.2.0", "raw-body@^2.3.3": - "integrity" "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "bytes" "3.1.0" - "http-errors" "1.7.3" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"raw-body@2.4.0": - "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "bytes" "3.1.0" - "http-errors" "1.7.2" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"raw-body@2.5.1": - "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - "version" "2.5.1" - dependencies: - "bytes" "3.1.2" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"rc@^1.2.8": - "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" - "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "deep-extend" "^0.6.0" - "ini" "~1.3.0" - "minimist" "^1.2.0" - "strip-json-comments" "~2.0.1" - -"re2@^1.15.8": - "integrity" "sha512-eizTZL2ZO0ZseLqfD4t3Qd0M3b3Nr0MBWpX81EbPMIud/1d/CSfUIx2GQK8fWiAeHoSekO5EOeFib2udTZLwYw==" - "resolved" "https://registry.npmjs.org/re2/-/re2-1.16.0.tgz" - "version" "1.16.0" - dependencies: - "install-artifact-from-github" "^1.2.0" - "nan" "^2.14.2" - "node-gyp" "^8.0.0" - -"react-is@^17.0.1": - "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - -"read-cmd-shim@^2.0.0": - "integrity" "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==" - "resolved" "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz" - "version" "2.0.0" - -"read-package-json-fast@^2.0.1": - "integrity" "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==" - "resolved" "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "json-parse-even-better-errors" "^2.3.0" - "npm-normalize-package-bin" "^1.0.1" - -"read-package-json@^2.0.0": - "integrity" "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^2.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-json@^3.0.0": - "integrity" "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^3.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-json@^4.1.1": - "integrity" "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^3.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-tree@^5.3.1": - "integrity" "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==" - "resolved" "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "read-package-json" "^2.0.0" - "readdir-scoped-modules" "^1.0.0" - "util-promisify" "^2.1.0" - -"read-pkg-up@^1.0.1": - "integrity" "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "find-up" "^1.0.0" - "read-pkg" "^1.0.0" - -"read-pkg-up@^3.0.0": - "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^2.0.0" - "read-pkg" "^3.0.0" - -"read-pkg-up@^7.0.1": - "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "find-up" "^4.1.0" - "read-pkg" "^5.2.0" - "type-fest" "^0.8.1" - -"read-pkg@^1.0.0": - "integrity" "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "load-json-file" "^1.0.0" - "normalize-package-data" "^2.3.2" - "path-type" "^1.0.0" - -"read-pkg@^3.0.0": - "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "load-json-file" "^4.0.0" - "normalize-package-data" "^2.3.2" - "path-type" "^3.0.0" - -"read-pkg@^5.2.0": - "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - "version" "5.2.0" + blocking-proxy "^1.0.0" + browserstack "^1.5.1" + chalk "^1.1.3" + glob "^7.0.3" + jasmine "2.8.0" + jasminewd2 "^2.1.0" + optimist "~0.6.0" + q "1.4.1" + saucelabs "^1.5.0" + selenium-webdriver "3.6.0" + source-map-support "~0.4.0" + webdriver-js-extender "2.1.0" + webdriver-manager "^12.0.6" + +proxy-addr@~2.0.5, proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" + integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== + dependencies: + agent-base "^6.0.0" + debug "4" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^5.0.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^5.0.0" + +proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3, pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4, punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +pupa@^2.0.1, pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +q@1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= + +q@^1.4.1, q@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qjobs@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" + integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + +qs@6.10.3: + version "6.10.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@^6.4.0, qs@^6.6.0, qs@^6.9.4: + version "6.10.1" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystring-es3@^0.2.0, querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@^2.2.0, raw-body@^2.3.3: + version "2.4.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.7, rc@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +re2@^1.15.8: + version "1.16.0" + resolved "https://registry.npmjs.org/re2/-/re2-1.16.0.tgz#f311eb4865b1296123800ea8e013cec8dab25590" + integrity sha512-eizTZL2ZO0ZseLqfD4t3Qd0M3b3Nr0MBWpX81EbPMIud/1d/CSfUIx2GQK8fWiAeHoSekO5EOeFib2udTZLwYw== + dependencies: + install-artifact-from-github "^1.2.0" + nan "^2.14.2" + node-gyp "^8.0.0" + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +read-cmd-shim@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9" + integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw== + +read-package-json-fast@^2.0.1: + version "2.0.3" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json@^2.0.0: + version "2.1.2" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^2.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-json@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" + integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-json@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" + integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-tree@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== + dependencies: + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + util-promisify "^2.1.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" - "normalize-package-data" "^2.5.0" - "parse-json" "^5.0.0" - "type-fest" "^0.6.0" - -"read-yaml-file@^1.1.0": - "integrity" "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==" - "resolved" "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "graceful-fs" "^4.1.5" - "js-yaml" "^3.6.1" - "pify" "^4.0.1" - "strip-bom" "^3.0.0" - -"read@~1.0.1", "read@1": - "integrity" "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=" - "resolved" "https://registry.npmjs.org/read/-/read-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "mute-stream" "~0.0.4" - -"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.0.5", "readable-stream@^2.0.6", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.5", "readable-stream@^2.3.6", "readable-stream@^2.3.7", "readable-stream@~2.3.6", "readable-stream@1 || 2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.0.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.0.2": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.0.6": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.1.1", "readable-stream@^3.5.0", "readable-stream@^3.6.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.4.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@1.1.x": - "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" - "version" "1.1.14" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.1" - "isarray" "0.0.1" - "string_decoder" "~0.10.x" - -"readable-stream@2 || 3": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@3": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdir-glob@^1.0.0": - "integrity" "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==" - "resolved" "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "minimatch" "^3.0.4" - -"readdir-scoped-modules@^1.0.0": - "integrity" "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==" - "resolved" "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "debuglog" "^1.0.1" - "dezalgo" "^1.0.0" - "graceful-fs" "^4.1.2" - "once" "^1.3.0" - -"readdirp@^2.2.1": - "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "graceful-fs" "^4.1.11" - "micromatch" "^3.1.10" - "readable-stream" "^2.0.2" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"rechoir@^0.6.2": - "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "resolve" "^1.1.6" - -"redent@^3.0.0": - "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" - "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "indent-string" "^4.0.0" - "strip-indent" "^3.0.0" - -"redeyed@~2.1.0": - "integrity" "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=" - "resolved" "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "esprima" "~4.0.0" - -"regenerate-unicode-properties@^10.1.0": - "integrity" "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.11.0": - "integrity" "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" - "version" "0.11.1" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read-yaml-file@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" + integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.6.1" + pify "^4.0.1" + strip-bom "^3.0.0" + +read@1, read@~1.0.1: + version "1.0.7" + resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + dependencies: + mute-stream "~0.0.4" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdir-glob@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" + integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== + dependencies: + minimatch "^3.0.4" + +readdir-scoped-modules@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= + dependencies: + esprima "~4.0.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -"regenerator-runtime@^0.13.4": - "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - "version" "0.13.9" +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -"regenerator-transform@^0.15.0": - "integrity" "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" - "version" "0.15.0" +regenerator-transform@^0.15.0: + version "0.15.0" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" + integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== dependencies: "@babel/runtime" "^7.8.4" -"regex-not@^1.0.0", "regex-not@^1.0.2": - "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "extend-shallow" "^3.0.2" - "safe-regex" "^1.1.0" - -"regexp.prototype.flags@^1.4.1": - "integrity" "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==" - "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "functions-have-names" "^1.2.2" - -"regexpp@^3.1.0": - "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - "version" "3.2.0" - -"regexpu-core@^5.1.0": - "integrity" "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^10.1.0" - "regjsgen" "^0.7.1" - "regjsparser" "^0.9.1" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.0.0" - -"registry-auth-token@^4.0.0": - "integrity" "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==" - "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "rc" "^1.2.8" - -"registry-url@^5.0.0": - "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" - "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "rc" "^1.2.8" - -"regjsgen@^0.7.1": - "integrity" "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz" - "version" "0.7.1" - -"regjsparser@^0.9.1": - "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "jsesc" "~0.5.0" - -"release-zalgo@^1.0.0": - "integrity" "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=" - "resolved" "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "es6-error" "^4.0.1" - -"remove-bom-buffer@^3.0.0": - "integrity" "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==" - "resolved" "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "is-buffer" "^1.1.5" - "is-utf8" "^0.2.1" - -"remove-bom-stream@^1.2.0": - "integrity" "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=" - "resolved" "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "remove-bom-buffer" "^3.0.0" - "safe-buffer" "^5.1.0" - "through2" "^2.0.3" - -"remove-trailing-separator@^1.0.1", "remove-trailing-separator@^1.1.0": - "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - "version" "1.1.0" - -"repeat-element@^1.1.2": - "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - "version" "1.1.4" - -"repeat-string@^1.6.1": - "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"repeating@^2.0.0": - "integrity" "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" - "resolved" "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-finite" "^1.0.0" - -"replace-ext@^1.0.0": - "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" - "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" - "version" "1.0.1" - -"replace-homedir@^1.0.0": - "integrity" "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=" - "resolved" "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "homedir-polyfill" "^1.0.1" - "is-absolute" "^1.0.0" - "remove-trailing-separator" "^1.1.0" - -"replacestream@^4.0.3": - "integrity" "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==" - "resolved" "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "escape-string-regexp" "^1.0.3" - "object-assign" "^4.0.1" - "readable-stream" "^2.0.2" - -"request@^2.87.0", "request@^2.88.0", "request@^2.88.2", "request@2.88.2": - "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" - "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - "version" "2.88.2" - dependencies: - "aws-sign2" "~0.7.0" - "aws4" "^1.8.0" - "caseless" "~0.12.0" - "combined-stream" "~1.0.6" - "extend" "~3.0.2" - "forever-agent" "~0.6.1" - "form-data" "~2.3.2" - "har-validator" "~5.1.3" - "http-signature" "~1.2.0" - "is-typedarray" "~1.0.0" - "isstream" "~0.1.2" - "json-stringify-safe" "~5.0.1" - "mime-types" "~2.1.19" - "oauth-sign" "~0.9.0" - "performance-now" "^2.1.0" - "qs" "~6.5.2" - "safe-buffer" "^5.1.2" - "tough-cookie" "~2.5.0" - "tunnel-agent" "^0.6.0" - "uuid" "^3.3.2" - -"require-directory@^2.1.1": - "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" - -"require-main-filename@^1.0.1": - "integrity" "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" - "version" "1.0.1" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"requires-port@^1.0.0": - "integrity" "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"requizzle@^0.2.3": - "integrity" "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==" - "resolved" "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz" - "version" "0.2.3" - dependencies: - "lodash" "^4.17.14" - -"resolve-alpn@^1.0.0": - "integrity" "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - "resolved" "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" - "version" "1.2.1" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-dir@^1.0.0", "resolve-dir@^1.0.1": - "integrity" "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=" - "resolved" "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "expand-tilde" "^2.0.0" - "global-modules" "^1.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-options@^1.1.0": - "integrity" "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=" - "resolved" "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "value-or-function" "^3.0.0" - -"resolve-url@^0.2.1": - "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve@^1.1.6", "resolve@^1.1.7", "resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.3.2", "resolve@^1.3.3", "resolve@^1.4.0": - "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "is-core-module" "^2.2.0" - "path-parse" "^1.0.6" - -"resolve@^1.22.0": - "integrity" "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" - "version" "1.22.0" - dependencies: - "is-core-module" "^2.8.1" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"resolve@~1.17.0": - "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" - "version" "1.17.0" - dependencies: - "path-parse" "^1.0.6" - -"resolve@~1.22.0": - "integrity" "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" - "version" "1.22.0" - dependencies: - "is-core-module" "^2.8.1" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"responselike@^1.0.2": - "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"responselike@^2.0.0": - "integrity" "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz" - "version" "2.0.0" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regexpu-core@^5.1.0: + version "5.2.1" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" + integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== + dependencies: + jsesc "~0.5.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= + dependencies: + es6-error "^4.0.1" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + +replacestream@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36" + integrity sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA== + dependencies: + escape-string-regexp "^1.0.3" + object-assign "^4.0.1" + readable-stream "^2.0.2" + +request@2.88.2, request@^2.87.0, request@^2.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.4.0: + version "1.20.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^1.22.0, resolve@~1.22.0: + version "1.22.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@~1.17.0: + version "1.17.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: - "lowercase-keys" "^2.0.0" - -"restore-cursor@^2.0.0": - "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - "version" "2.0.0" + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - "onetime" "^2.0.0" - "signal-exit" "^3.0.2" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - -"ret@~0.1.10": - "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - "version" "0.1.15" + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -"retry-request@^5.0.0": - "integrity" "sha512-lxFKrlBt0OZzCWh/V0uPEN0vlr3OhdeXnpeY5OES+ckslm791Cb1D5P7lJUSnY7J5hiCjcyaUGmzCnIGDCUBig==" - "resolved" "https://registry.npmjs.org/retry-request/-/retry-request-5.0.1.tgz" - "version" "5.0.1" +retry-request@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/retry-request/-/retry-request-5.0.1.tgz#c6be2a4a36f1554ba3251fa8fd945af26ee0e9ec" + integrity sha512-lxFKrlBt0OZzCWh/V0uPEN0vlr3OhdeXnpeY5OES+ckslm791Cb1D5P7lJUSnY7J5hiCjcyaUGmzCnIGDCUBig== dependencies: - "debug" "^4.1.1" - "extend" "^3.0.2" + debug "^4.1.1" + extend "^3.0.2" -"retry@^0.12.0": - "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -"retry@^0.13.1": - "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - "version" "0.13.1" +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -"rfdc@^1.3.0": - "integrity" "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - "version" "1.3.0" +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -"rimraf@^2.2.8", "rimraf@^2.5.2": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: - "glob" "^7.1.3" + glob "^7.1.3" -"rimraf@^2.5.4": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: - "glob" "^7.1.3" + glob "^7.1.3" -"rimraf@^2.6.3": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: - "glob" "^7.1.3" + hash-base "^3.0.0" + inherits "^2.0.1" -"rimraf@^3.0.0", "rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" +rollup-plugin-copy-assets@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz#9a9098894c3ded16d2eee8c4108055e332b5f59f" + integrity sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w== dependencies: - "glob" "^7.1.3" + fs-extra "^7.0.1" -"rimraf@2": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "glob" "^7.1.3" - -"ripemd160@^2.0.0", "ripemd160@^2.0.1": - "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" - "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - -"rollup-plugin-copy-assets@2.0.3": - "integrity" "sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w==" - "resolved" "https://registry.npmjs.org/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "fs-extra" "^7.0.1" - -"rollup-plugin-copy@3.4.0": - "integrity" "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==" - "resolved" "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz" - "version" "3.4.0" +rollup-plugin-copy@3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz#f1228a3ffb66ffad8606e2f3fb7ff23141ed3286" + integrity sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ== dependencies: "@types/fs-extra" "^8.0.1" - "colorette" "^1.1.0" - "fs-extra" "^8.1.0" - "globby" "10.0.1" - "is-plain-object" "^3.0.0" - -"rollup-plugin-license@3.0.1": - "integrity" "sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A==" - "resolved" "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "commenting" "~1.1.0" - "glob" "~7.2.0" - "lodash" "~4.17.21" - "magic-string" "~0.26.2" - "mkdirp" "~1.0.4" - "moment" "~2.29.3" - "package-name-regex" "~2.0.6" - "spdx-expression-validate" "~2.0.0" - "spdx-satisfies" "~5.0.1" - -"rollup-plugin-replace@2.2.0": - "integrity" "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==" - "resolved" "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "magic-string" "^0.25.2" - "rollup-pluginutils" "^2.6.0" - -"rollup-plugin-sourcemaps@0.6.3": - "integrity" "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==" - "resolved" "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz" - "version" "0.6.3" + colorette "^1.1.0" + fs-extra "^8.1.0" + globby "10.0.1" + is-plain-object "^3.0.0" + +rollup-plugin-license@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.0.1.tgz#e54d9464971dc2c5282b74c00cee09091b329054" + integrity sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A== + dependencies: + commenting "~1.1.0" + glob "~7.2.0" + lodash "~4.17.21" + magic-string "~0.26.2" + mkdirp "~1.0.4" + moment "~2.29.3" + package-name-regex "~2.0.6" + spdx-expression-validate "~2.0.0" + spdx-satisfies "~5.0.1" + +rollup-plugin-replace@2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3" + integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA== + dependencies: + magic-string "^0.25.2" + rollup-pluginutils "^2.6.0" + +rollup-plugin-sourcemaps@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" + integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== dependencies: "@rollup/pluginutils" "^3.0.9" - "source-map-resolve" "^0.6.0" + source-map-resolve "^0.6.0" -"rollup-plugin-terser@7.0.2": - "integrity" "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==" - "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" - "version" "7.0.2" +rollup-plugin-terser@7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== dependencies: "@babel/code-frame" "^7.10.4" - "jest-worker" "^26.2.1" - "serialize-javascript" "^4.0.0" - "terser" "^5.0.0" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" -"rollup-plugin-typescript2@0.31.2": - "integrity" "sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==" - "resolved" "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz" - "version" "0.31.2" +rollup-plugin-typescript2@0.31.2: + version "0.31.2" + resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz#463aa713a7e2bf85b92860094b9f7fb274c5a4d8" + integrity sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q== dependencies: "@rollup/pluginutils" "^4.1.2" "@yarn-tool/resolve-package" "^1.0.40" - "find-cache-dir" "^3.3.2" - "fs-extra" "^10.0.0" - "resolve" "^1.20.0" - "tslib" "^2.3.1" + find-cache-dir "^3.3.2" + fs-extra "^10.0.0" + resolve "^1.20.0" + tslib "^2.3.1" -"rollup-plugin-uglify@6.0.4": - "integrity" "sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw==" - "resolved" "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz" - "version" "6.0.4" +rollup-plugin-uglify@6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz#65a0959d91586627f1e46a7db966fd504ec6c4e6" + integrity sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw== dependencies: "@babel/code-frame" "^7.0.0" - "jest-worker" "^24.0.0" - "serialize-javascript" "^2.1.2" - "uglify-js" "^3.4.9" + jest-worker "^24.0.0" + serialize-javascript "^2.1.2" + uglify-js "^3.4.9" -"rollup-pluginutils@^2.6.0": - "integrity" "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==" - "resolved" "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" - "version" "2.8.2" +rollup-pluginutils@^2.6.0: + version "2.8.2" + resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: - "estree-walker" "^0.6.1" + estree-walker "^0.6.1" -"rollup@^1.0.0 || ^2.0.0 || ^3.0.0", "rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^2.0.0", "rollup@^2.38.3", "rollup@^2.42.0", "rollup@>=0.31.2", "rollup@>=0.66.0 <2", "rollup@>=1.1.2", "rollup@>=1.26.3", "rollup@2.79.1": - "integrity" "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==" - "resolved" "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" - "version" "2.79.1" +rollup@2.79.1: + version "2.79.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: - "fsevents" "~2.3.2" - -"router@^1.3.1": - "integrity" "sha512-kozCJZUhuSJ5VcLhSb3F8fsmGXy+8HaDbKCAerR1G6tq3mnMZFMuSohbFvGv1c5oMFipijDjRZuuN/Sq5nMf3g==" - "resolved" "https://registry.npmjs.org/router/-/router-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "array-flatten" "3.0.0" - "debug" "2.6.9" - "methods" "~1.1.2" - "parseurl" "~1.3.3" - "path-to-regexp" "0.1.7" - "setprototypeof" "1.2.0" - "utils-merge" "1.0.1" - -"run-async@^2.4.0": - "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - "version" "2.4.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"run-queue@^1.0.0", "run-queue@^1.0.3": - "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=" - "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "aproba" "^1.1.1" - -"rxjs@^6.3.3", "rxjs@^6.5.1", "rxjs@^6.6.0": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" - dependencies: - "tslib" "^1.9.0" - -"rxjs@^7.2.0": - "integrity" "sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz" - "version" "7.3.0" - dependencies: - "tslib" "~2.1.0" - -"rxjs@^7.5.5": - "integrity" "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz" - "version" "7.5.5" - dependencies: - "tslib" "^2.1.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@^5.2.1", "safe-buffer@>=5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-regex@^1.1.0": - "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "ret" "~0.1.10" - -"safe-stable-stringify@^1.1.0": - "integrity" "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" - "resolved" "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz" - "version" "1.1.1" - -"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", "safer-buffer@~2.1.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"sauce-connect-launcher@^1.2.7": - "integrity" "sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ==" - "resolved" "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "adm-zip" "~0.4.3" - "async" "^2.1.2" - "https-proxy-agent" "^5.0.0" - "lodash" "^4.16.6" - "rimraf" "^2.5.4" - -"saucelabs@^1.5.0": - "integrity" "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==" - "resolved" "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "https-proxy-agent" "^2.2.1" - -"sax@>=0.6.0": - "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - "version" "1.2.4" - -"schema-utils@^0.3.0": - "integrity" "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "ajv" "^5.0.0" + fsevents "~2.3.2" + +router@^1.3.1: + version "1.3.5" + resolved "https://registry.npmjs.org/router/-/router-1.3.5.tgz#cb2f47f74fd99a77fb3bc01cc947f46b79b1790f" + integrity sha512-kozCJZUhuSJ5VcLhSb3F8fsmGXy+8HaDbKCAerR1G6tq3mnMZFMuSohbFvGv1c5oMFipijDjRZuuN/Sq5nMf3g== + dependencies: + array-flatten "3.0.0" + debug "2.6.9" + methods "~1.1.2" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + setprototypeof "1.2.0" + utils-merge "1.0.1" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.3.3, rxjs@^6.5.1, rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.2.0: + version "7.3.0" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" + integrity sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw== + dependencies: + tslib "~2.1.0" + +rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +safe-stable-stringify@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" + integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sauce-connect-launcher@^1.2.7: + version "1.3.2" + resolved "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.2.tgz#dfc675a258550809a8eaf457eb9162b943ddbaf0" + integrity sha512-wf0coUlidJ7rmeClgVVBh6Kw55/yalZCY/Un5RgjSnTXRAeGqagnTsTYpZaqC4dCtrY4myuYpOAZXCdbO7lHfQ== + dependencies: + adm-zip "~0.4.3" + async "^2.1.2" + https-proxy-agent "^5.0.0" + lodash "^4.16.6" + rimraf "^2.5.4" + +saucelabs@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz#9405a73c360d449b232839919a86c396d379fd9d" + integrity sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ== + dependencies: + https-proxy-agent "^2.2.1" + +sax@>=0.6.0, sax@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= + dependencies: + ajv "^5.0.0" -"schema-utils@^1.0.0": - "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" - "version" "1.0.0" +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== dependencies: - "ajv" "^6.1.0" - "ajv-errors" "^1.0.0" - "ajv-keywords" "^3.1.0" + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" - -"schema-utils@^3.0.0": - "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + ajv "^6.12.4" + ajv-keywords "^3.5.2" -"schema-utils@^3.1.0", "schema-utils@^3.1.1": - "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - "version" "3.1.1" +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"secure-compare@3.0.1": - "integrity" "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=" - "resolved" "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" - "version" "3.0.1" - -"selenium-assistant@6.1.1": - "integrity" "sha512-WgjmsDJdpCGvINNQofMJxE3d3/G/AVutdihbxLE8aHGUu6NlAiWd8i6WVdrzAp03Thht6yd63Z+JkOW7EXdPEw==" - "resolved" "https://registry.npmjs.org/selenium-assistant/-/selenium-assistant-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "chalk" "^2.4.2" - "dmg" "^0.1.0" - "fs-extra" "^8.1.0" - "mkdirp" "^0.5.1" - "node-localstorage" "^1.3.1" - "request" "^2.88.0" - "sauce-connect-launcher" "^1.2.7" - "selenium-webdriver" "^4.0.0-alpha.7" - "semver" "^6.3.0" - "which" "^1.3.1" - "yauzl" "^2.10.0" - -"selenium-webdriver@^3.0.1", "selenium-webdriver@3.6.0": - "integrity" "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==" - "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "jszip" "^3.1.3" - "rimraf" "^2.5.4" - "tmp" "0.0.30" - "xml2js" "^0.4.17" - -"selenium-webdriver@^4.0.0-alpha.7": - "integrity" "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==" - "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz" - "version" "4.0.0-rc-1" - dependencies: - "jszip" "^3.6.0" - "rimraf" "^3.0.2" - "tmp" "^0.2.1" - "ws" ">=7.4.6" - -"selenium-webdriver@4.5.0": - "integrity" "sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg==" - "resolved" "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "jszip" "^3.10.0" - "tmp" "^0.2.1" - "ws" ">=8.7.0" - -"semver-diff@^3.1.1": - "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" - "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "semver" "^6.3.0" - -"semver-greatest-satisfied-range@^1.1.0": - "integrity" "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=" - "resolved" "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "sver-compat" "^1.5.0" - -"semver@^5.0.1": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.3.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.4.1": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.5.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.7.1": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.2.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.0.0", "semver@^7.1.1", "semver@^7.1.2", "semver@^7.1.3", "semver@^7.2.1", "semver@^7.3.2", "semver@^7.3.4", "semver@^7.3.5", "semver@^7.3.7", "semver@~7.3.0", "semver@7.3.8": - "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"semver@2 || 3 || 4 || 5": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"send@0.18.0": - "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" - "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - "version" "0.18.0" - dependencies: - "debug" "2.6.9" - "depd" "2.0.0" - "destroy" "1.2.0" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "fresh" "0.5.2" - "http-errors" "2.0.0" - "mime" "1.6.0" - "ms" "2.1.3" - "on-finished" "2.4.1" - "range-parser" "~1.2.1" - "statuses" "2.0.1" - -"serialize-javascript@^2.1.2": - "integrity" "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz" - "version" "2.1.2" - -"serialize-javascript@^4.0.0": - "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serialize-javascript@^6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serialize-javascript@6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serve-static@1.15.0": - "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" - "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "parseurl" "~1.3.3" - "send" "0.18.0" - -"set-blocking@^2.0.0", "set-blocking@~2.0.0": - "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-value@^2.0.0", "set-value@^2.0.1": - "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" - "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "is-extendable" "^0.1.1" - "is-plain-object" "^2.0.3" - "split-string" "^3.0.1" - -"setimmediate@^1.0.4", "setimmediate@^1.0.5", "setimmediate@~1.0.4": - "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"setprototypeof@1.1.1": - "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" - "version" "1.1.1" - -"setprototypeof@1.2.0": - "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - "version" "1.2.0" - -"sha.js@^2.4.0", "sha.js@^2.4.8": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^1.2.0": - "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@^1.6.1": - "integrity" "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" - "version" "1.7.2" - -"shelljs@^0.8.3": - "integrity" "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==" - "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "glob" "^7.0.0" - "interpret" "^1.0.0" - "rechoir" "^0.6.2" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3", "signal-exit@^3.0.7": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"simple-git@3.7.1": - "integrity" "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==" - "resolved" "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz" - "version" "3.7.1" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= + +selenium-assistant@6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/selenium-assistant/-/selenium-assistant-6.1.1.tgz#07e7f6c958b641a306c2fbde1a0304ba524dd6a6" + integrity sha512-WgjmsDJdpCGvINNQofMJxE3d3/G/AVutdihbxLE8aHGUu6NlAiWd8i6WVdrzAp03Thht6yd63Z+JkOW7EXdPEw== + dependencies: + chalk "^2.4.2" + dmg "^0.1.0" + fs-extra "^8.1.0" + mkdirp "^0.5.1" + node-localstorage "^1.3.1" + request "^2.88.0" + sauce-connect-launcher "^1.2.7" + selenium-webdriver "^4.0.0-alpha.7" + semver "^6.3.0" + which "^1.3.1" + yauzl "^2.10.0" + +selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: + version "3.6.0" + resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" + integrity sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q== + dependencies: + jszip "^3.1.3" + rimraf "^2.5.4" + tmp "0.0.30" + xml2js "^0.4.17" + +selenium-webdriver@4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz#7e20d0fc038177970dad81159950c12f7411ac0d" + integrity sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg== + dependencies: + jszip "^3.10.0" + tmp "^0.2.1" + ws ">=8.7.0" + +selenium-webdriver@^4.0.0-alpha.7: + version "4.0.0-rc-1" + resolved "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz#b1e7e5821298c8a071e988518dd6b759f0c41281" + integrity sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw== + dependencies: + jszip "^3.6.0" + rimraf "^3.0.2" + tmp "^0.2.1" + ws ">=7.4.6" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.3.8: + version "7.3.8" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.3.7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@6.0.0, serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-immediate-shim@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shelljs@^0.8.3: + version "0.8.4" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.4" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7" + integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== + +simple-git@3.7.1: + version "3.7.1" + resolved "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz#cb85c59da4da3d69792d206dd28cfbd803941fac" + integrity sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A== dependencies: "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" - "debug" "^4.3.3" + debug "^4.3.3" -"simple-swizzle@^0.2.2": - "integrity" "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" - "resolved" "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - "version" "0.2.2" +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= dependencies: - "is-arrayish" "^0.3.1" + is-arrayish "^0.3.1" -"sinon-chai@3.7.0": - "integrity" "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==" - "resolved" "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz" - "version" "3.7.0" +sinon-chai@3.7.0: + version "3.7.0" + resolved "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz#cfb7dec1c50990ed18c153f1840721cf13139783" + integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g== -"sinon@>=4.0.0", "sinon@9.2.4": - "integrity" "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==" - "resolved" "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz" - "version" "9.2.4" +sinon@9.2.4: + version "9.2.4" + resolved "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" + integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== dependencies: "@sinonjs/commons" "^1.8.1" "@sinonjs/fake-timers" "^6.0.1" "@sinonjs/samsam" "^5.3.1" - "diff" "^4.0.2" - "nise" "^4.0.4" - "supports-color" "^7.1.0" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slice-ansi@^4.0.0": - "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"slice-ansi@0.0.4": - "integrity" "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" - "version" "0.0.4" - -"slide@^1.1.5", "slide@^1.1.6": - "integrity" "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" - "resolved" "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" - "version" "1.1.6" - -"smart-buffer@^4.2.0": - "integrity" "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - "resolved" "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" - "version" "4.2.0" - -"smartwrap@^2.0.2": - "integrity" "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==" - "resolved" "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "array.prototype.flat" "^1.2.3" - "breakword" "^1.0.5" - "grapheme-splitter" "^1.0.4" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - "yargs" "^15.1.0" - -"snapdragon-node@^2.0.1": - "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-property" "^1.0.0" - "isobject" "^3.0.0" - "snapdragon-util" "^3.0.1" - -"snapdragon-util@^3.0.1": - "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^3.2.0" - -"snapdragon@^0.8.1": - "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - "version" "0.8.2" - dependencies: - "base" "^0.11.1" - "debug" "^2.2.0" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "map-cache" "^0.2.2" - "source-map" "^0.5.6" - "source-map-resolve" "^0.5.0" - "use" "^3.1.0" - -"socket.io-adapter@~2.4.0": - "integrity" "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" - "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz" - "version" "2.4.0" - -"socket.io-parser@~4.0.4": - "integrity" "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==" - "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz" - "version" "4.0.4" + diff "^4.0.2" + nise "^4.0.4" + supports-color "^7.1.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slide@^1.1.5, slide@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +smart-buffer@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +smartwrap@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" + integrity sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== + dependencies: + array.prototype.flat "^1.2.3" + breakword "^1.0.5" + grapheme-splitter "^1.0.4" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + yargs "^15.1.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +socket.io-adapter@~2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" + integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== + +socket.io-parser@~4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" + integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== dependencies: "@types/component-emitter" "^1.2.10" - "component-emitter" "~1.3.0" - "debug" "~4.3.1" - -"socket.io@^4.4.1": - "integrity" "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==" - "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "accepts" "~1.3.4" - "base64id" "~2.0.0" - "debug" "~4.3.2" - "engine.io" "~6.2.0" - "socket.io-adapter" "~2.4.0" - "socket.io-parser" "~4.0.4" - -"socks-proxy-agent@^5.0.0", "socks-proxy-agent@5": - "integrity" "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==" - "resolved" "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "^6.0.2" - "debug" "4" - "socks" "^2.3.3" - -"socks-proxy-agent@^6.0.0": - "integrity" "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==" - "resolved" "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz" - "version" "6.2.1" - dependencies: - "agent-base" "^6.0.2" - "debug" "^4.3.3" - "socks" "^2.6.2" - -"socks@^2.3.3", "socks@^2.6.2": - "integrity" "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==" - "resolved" "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "ip" "^2.0.0" - "smart-buffer" "^4.2.0" - -"sort-keys@^2.0.0": - "integrity" "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "is-plain-obj" "^1.0.0" - -"sort-keys@^4.0.0": - "integrity" "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "is-plain-obj" "^2.0.0" - -"source-list-map@^2.0.0": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-loader@1.1.3": - "integrity" "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==" - "resolved" "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "abab" "^2.0.5" - "iconv-lite" "^0.6.2" - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - "source-map" "^0.6.1" - "whatwg-mimetype" "^2.3.0" - -"source-map-resolve@^0.5.0": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - "resolve-url" "^0.2.1" - "source-map-url" "^0.4.0" - "urix" "^0.1.0" - -"source-map-resolve@^0.6.0": - "integrity" "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - -"source-map-support@^0.5.16", "source-map-support@~0.5.12", "source-map-support@~0.5.20": - "integrity" "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz" - "version" "0.5.20" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-support@~0.4.0": - "integrity" "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz" - "version" "0.4.18" - dependencies: - "source-map" "^0.5.6" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.5.1": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.5.6": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.5.7": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.7.3": - "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - "version" "0.7.3" - -"source-map@~0.5.3": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"sourcemap-codec@^1.4.4", "sourcemap-codec@^1.4.8": - "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - "version" "1.4.8" - -"sparkles@^1.0.0": - "integrity" "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" - "resolved" "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz" - "version" "1.0.1" - -"spawn-wrap@^2.0.0": - "integrity" "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==" - "resolved" "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "foreground-child" "^2.0.0" - "is-windows" "^1.0.2" - "make-dir" "^3.0.0" - "rimraf" "^3.0.0" - "signal-exit" "^3.0.2" - "which" "^2.0.1" - -"spawndamnit@^2.0.0": - "integrity" "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==" - "resolved" "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "cross-spawn" "^5.1.0" - "signal-exit" "^3.0.2" - -"spdx-compare@^1.0.0": - "integrity" "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==" - "resolved" "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "array-find-index" "^1.0.2" - "spdx-expression-parse" "^3.0.0" - "spdx-ranges" "^2.0.0" - -"spdx-correct@^3.0.0": - "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" - "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "spdx-expression-parse" "^3.0.0" - "spdx-license-ids" "^3.0.0" - -"spdx-exceptions@^2.1.0": - "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - "version" "2.3.0" - -"spdx-expression-parse@^3.0.0": - "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" - "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "spdx-exceptions" "^2.1.0" - "spdx-license-ids" "^3.0.0" - -"spdx-expression-validate@~2.0.0": - "integrity" "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==" - "resolved" "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "spdx-expression-parse" "^3.0.0" - -"spdx-license-ids@^3.0.0": - "integrity" "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" - "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz" - "version" "3.0.10" - -"spdx-ranges@^2.0.0": - "integrity" "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==" - "resolved" "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz" - "version" "2.1.1" - -"spdx-satisfies@~5.0.1": - "integrity" "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==" - "resolved" "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "spdx-compare" "^1.0.0" - "spdx-expression-parse" "^3.0.0" - "spdx-ranges" "^2.0.0" - -"split-on-first@^1.0.0": - "integrity" "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - "resolved" "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" - "version" "1.1.0" - -"split-string@^3.0.1", "split-string@^3.0.2": - "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend-shallow" "^3.0.0" - -"split@^1.0.0": - "integrity" "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==" - "resolved" "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "through" "2" - -"split2@^3.0.0": - "integrity" "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==" - "resolved" "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "readable-stream" "^3.0.0" - -"sprintf-js@~1.0.2": - "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"sqlite3@^5.0.2": - "integrity" "sha512-D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==" - "resolved" "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "@mapbox/node-pre-gyp" "^1.0.0" - "node-addon-api" "^4.2.0" - "tar" "^6.1.11" - optionalDependencies: - "node-gyp" "8.x" - -"sshpk@^1.7.0": - "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" - "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" - "version" "1.16.1" - dependencies: - "asn1" "~0.2.3" - "assert-plus" "^1.0.0" - "bcrypt-pbkdf" "^1.0.0" - "dashdash" "^1.12.0" - "ecc-jsbn" "~0.1.1" - "getpass" "^0.1.1" - "jsbn" "~0.1.0" - "safer-buffer" "^2.0.2" - "tweetnacl" "~0.14.0" - -"ssri@^6.0.1": - "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" - "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "figgy-pudding" "^3.5.1" - -"ssri@^8.0.0", "ssri@^8.0.1": - "integrity" "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==" - "resolved" "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "minipass" "^3.1.1" - -"stack-trace@0.0.10", "stack-trace@0.0.x": - "integrity" "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - "resolved" "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" - "version" "0.0.10" - -"stack-utils@^2.0.3": - "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "escape-string-regexp" "^2.0.0" - -"static-extend@^0.1.1": - "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" - "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "define-property" "^0.2.5" - "object-copy" "^0.1.0" - -"statuses@>= 1.5.0 < 2": - "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@~1.5.0": - "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@2.0.1": - "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - "version" "2.0.1" - -"stream-browserify@^2.0.1": - "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "inherits" "~2.0.1" - "readable-stream" "^2.0.2" - -"stream-browserify@^3.0.0": - "integrity" "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "inherits" "~2.0.4" - "readable-stream" "^3.5.0" - -"stream-chain@^2.2.4", "stream-chain@^2.2.5": - "integrity" "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==" - "resolved" "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz" - "version" "2.2.5" - -"stream-each@^1.1.0": - "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" - "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" - "version" "1.2.3" - dependencies: - "end-of-stream" "^1.1.0" - "stream-shift" "^1.0.0" - -"stream-exhaust@^1.0.1": - "integrity" "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==" - "resolved" "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz" - "version" "1.0.2" - -"stream-http@^2.7.2": - "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" - "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" - "version" "2.8.3" - dependencies: - "builtin-status-codes" "^3.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.3.6" - "to-arraybuffer" "^1.0.0" - "xtend" "^4.0.0" - -"stream-http@^3.1.0": - "integrity" "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==" - "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "builtin-status-codes" "^3.0.0" - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "xtend" "^4.0.2" - -"stream-json@^1.7.3": - "integrity" "sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg==" - "resolved" "https://registry.npmjs.org/stream-json/-/stream-json-1.7.4.tgz" - "version" "1.7.4" - dependencies: - "stream-chain" "^2.2.5" - -"stream-shift@^1.0.0": - "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - "version" "1.0.1" - -"stream-transform@^2.1.3": - "integrity" "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==" - "resolved" "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz" - "version" "2.1.3" - dependencies: - "mixme" "^0.5.1" - -"streamfilter@^3.0.0": - "integrity" "sha512-kvKNfXCmUyC8lAXSSHCIXBUlo/lhsLcCU/OmzACZYpRUdtKIH68xYhm/+HI15jFJYtNJGYtCgn2wmIiExY1VwA==" - "resolved" "https://registry.npmjs.org/streamfilter/-/streamfilter-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "readable-stream" "^3.0.6" - -"streamroller@^3.0.4": - "integrity" "sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g==" - "resolved" "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz" - "version" "3.0.5" - dependencies: - "date-format" "^4.0.5" - "debug" "^4.3.3" - "fs-extra" "^10.0.1" - -"strict-uri-encode@^2.0.0": - "integrity" "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" - "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" - "version" "2.0.0" - -"string_decoder@^1.0.0", "string_decoder@^1.1.1", "string_decoder@^1.3.0": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string_decoder@~0.10.x": - "integrity" "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - "version" "0.10.31" - -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-argv@~0.3.1": - "integrity" "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==" - "resolved" "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - "version" "0.3.1" - -"string-length@^1.0.0": - "integrity" "sha1-VpcPscOFWOnnC3KL894mmsRa36w=" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "strip-ansi" "^3.0.0" - -"string-width@^1.0.1", "string-width@^1.0.2": - "integrity" "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "code-point-at" "^1.0.0" - "is-fullwidth-code-point" "^1.0.0" - "strip-ansi" "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", "string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.2", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string-width@^2.1.1": - "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^4.0.0" - -"string-width@^3.0.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string.prototype.padend@^3.0.0": - "integrity" "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==" - "resolved" "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz" - "version" "3.1.2" + component-emitter "~1.3.0" + debug "~4.3.1" + +socket.io@^4.4.1: + version "4.5.0" + resolved "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz#78ae2e84784c29267086a416620c18ef95b37186" + integrity sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA== + dependencies: + accepts "~1.3.4" + base64id "~2.0.0" + debug "~4.3.2" + engine.io "~6.2.0" + socket.io-adapter "~2.4.0" + socket.io-parser "~4.0.4" + +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== + dependencies: + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" + +socks-proxy-agent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" + integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^2.3.3, socks@^2.6.1: + version "2.6.1" + resolved "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== + dependencies: + is-plain-obj "^2.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-loader@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" + integrity sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.2" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + source-map "^0.6.1" + whatwg-mimetype "^2.3.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.20" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@~0.4.0: + version "0.4.18" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +spawn-wrap@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" + integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== + dependencies: + foreground-child "^2.0.0" + is-windows "^1.0.2" + make-dir "^3.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + which "^2.0.1" + +spawndamnit@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" + integrity sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== + dependencies: + cross-spawn "^5.1.0" + signal-exit "^3.0.2" + +spdx-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" + integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== + dependencies: + array-find-index "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-ranges "^2.0.0" + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-expression-validate@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz#25c9408e1c63fad94fff5517bb7101ffcd23350b" + integrity sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg== + dependencies: + spdx-expression-parse "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + +spdx-ranges@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" + integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== + +spdx-satisfies@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz#9feeb2524686c08e5f7933c16248d4fdf07ed6a6" + integrity sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw== + dependencies: + spdx-compare "^1.0.0" + spdx-expression-parse "^3.0.0" + spdx-ranges "^2.0.0" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sqlite3@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz#00924adcc001c17686e0a6643b6cbbc2d3965083" + integrity sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA== dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.2" - -"string.prototype.trimend@^1.0.4": - "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"string.prototype.trimend@^1.0.5": - "integrity" "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.19.5" - -"string.prototype.trimstart@^1.0.4": - "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"string.prototype.trimstart@^1.0.5": - "integrity" "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.19.5" - -"strip-ansi@^3.0.0", "strip-ansi@^3.0.1": - "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ansi-regex" "^2.0.0" - -"strip-ansi@^4.0.0": - "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-regex" "^3.0.0" - -"strip-ansi@^5.1.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom-string@^1.0.0": - "integrity" "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" - "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" - "version" "1.0.0" - -"strip-bom@^2.0.0": - "integrity" "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "is-utf8" "^0.2.0" - -"strip-bom@^3.0.0": - "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - "version" "3.0.0" - -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-indent@^3.0.0": - "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" - "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "min-indent" "^1.0.0" - -"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1", "strip-json-comments@~3.1.1", "strip-json-comments@3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"strip-json-comments@~2.0.1": - "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" - -"strong-log-transformer@^2.1.0": - "integrity" "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - "resolved" "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "duplexer" "^0.1.1" - "minimist" "^1.2.0" - "through" "^2.3.4" - -"superstatic@^8.0.0": - "integrity" "sha512-PqlA2xuEwOlRZsknl58A/rZEmgCUcfWIFec0bn10wYE5/tbMhEbMXGHCYDppiXLXcuhGHyOp1IimM2hLqkLLuw==" - "resolved" "https://registry.npmjs.org/superstatic/-/superstatic-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "basic-auth-connect" "^1.0.0" - "chalk" "^1.1.3" - "commander" "^9.2.0" - "compare-semver" "^1.0.0" - "compression" "^1.7.0" - "connect" "^3.6.2" - "destroy" "^1.0.4" - "fast-url-parser" "^1.1.3" - "glob-slasher" "^1.0.1" - "is-url" "^1.2.2" - "join-path" "^1.1.1" - "lodash" "^4.17.19" - "mime-types" "^2.1.16" - "minimatch" "^3.0.4" - "morgan" "^1.8.2" - "on-finished" "^2.2.0" - "on-headers" "^1.0.0" - "path-to-regexp" "^1.8.0" - "router" "^1.3.1" - "string-length" "^1.0.0" - "update-notifier" "^4.1.1" + node-addon-api "^3.0.0" + node-pre-gyp "^0.11.0" optionalDependencies: - "re2" "^1.15.8" + node-gyp "3.x" + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stack-trace@0.0.10, stack-trace@0.0.x: + version "0.0.10" + resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-chain@^2.2.4, stream-chain@^2.2.5: + version "2.2.5" + resolved "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" + integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-http@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +stream-json@^1.7.3: + version "1.7.4" + resolved "https://registry.npmjs.org/stream-json/-/stream-json-1.7.4.tgz#e41637f93c5aca7267009ca8a3f6751e62331e69" + integrity sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg== + dependencies: + stream-chain "^2.2.5" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +stream-transform@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" + integrity sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== + dependencies: + mixme "^0.5.1" + +streamfilter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/streamfilter/-/streamfilter-3.0.0.tgz#8c61b08179a6c336c6efccc5df30861b7a9675e7" + integrity sha512-kvKNfXCmUyC8lAXSSHCIXBUlo/lhsLcCU/OmzACZYpRUdtKIH68xYhm/+HI15jFJYtNJGYtCgn2wmIiExY1VwA== + dependencies: + readable-stream "^3.0.6" + +streamroller@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" + integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA== + dependencies: + date-format "^4.0.3" + debug "^4.1.1" + fs-extra "^10.0.0" + +streamroller@^3.0.4: + version "3.0.5" + resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz#17e348dc2a662f9f325373549ab91d55316051ab" + integrity sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g== + dependencies: + date-format "^4.0.5" + debug "^4.3.3" + fs-extra "^10.0.1" + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + +string-argv@~0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-length@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + integrity sha1-VpcPscOFWOnnC3KL894mmsRa36w= + dependencies: + strip-ansi "^3.0.0" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.padend@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" + integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" -"supports-color@^2.0.0": - "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - "version" "2.0.0" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +superstatic@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/superstatic/-/superstatic-8.0.0.tgz#da01d4bb2d3698d9837181d21926fa6c6a050053" + integrity sha512-PqlA2xuEwOlRZsknl58A/rZEmgCUcfWIFec0bn10wYE5/tbMhEbMXGHCYDppiXLXcuhGHyOp1IimM2hLqkLLuw== + dependencies: + basic-auth-connect "^1.0.0" + chalk "^1.1.3" + commander "^9.2.0" + compare-semver "^1.0.0" + compression "^1.7.0" + connect "^3.6.2" + destroy "^1.0.4" + fast-url-parser "^1.1.3" + glob-slasher "^1.0.1" + is-url "^1.2.2" + join-path "^1.1.1" + lodash "^4.17.19" + mime-types "^2.1.16" + minimatch "^3.0.4" + morgan "^1.8.2" + on-finished "^2.2.0" + on-headers "^1.0.0" + path-to-regexp "^1.8.0" + router "^1.3.1" + string-length "^1.0.0" + update-notifier "^4.1.1" + optionalDependencies: + re2 "^1.15.8" -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" +supports-color@8.1.1, supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - "has-flag" "^3.0.0" + has-flag "^4.0.0" -"supports-color@^6.1.0": - "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "has-flag" "^3.0.0" +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -"supports-color@^7.0.0", "supports-color@^7.1.0", "supports-color@^7.2.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - "has-flag" "^4.0.0" + has-flag "^3.0.0" -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: - "has-flag" "^4.0.0" + has-flag "^3.0.0" -"supports-color@8.1.1": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - "has-flag" "^4.0.0" + has-flag "^4.0.0" -"supports-hyperlinks@^2.2.0": - "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - "version" "2.2.0" +supports-hyperlinks@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: - "has-flag" "^4.0.0" - "supports-color" "^7.0.0" + has-flag "^4.0.0" + supports-color "^7.0.0" -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -"sver-compat@^1.5.0": - "integrity" "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=" - "resolved" "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz" - "version" "1.5.0" +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= dependencies: - "es6-iterator" "^2.0.1" - "es6-symbol" "^3.1.1" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" -"symbol-observable@^1.1.0": - "integrity" "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" - "version" "1.2.0" +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== "sync-promise@git+https://github.com/brettz9/sync-promise.git#full-sync-missing-promise-features": - "resolved" "git+ssh://git@github.com/brettz9/sync-promise.git#25845a49a00aa2d2c985a5149b97c86a1fcdc75a" - "version" "1.0.1" - -"table@^6.0.9": - "integrity" "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==" - "resolved" "https://registry.npmjs.org/table/-/table-6.7.1.tgz" - "version" "6.7.1" - dependencies: - "ajv" "^8.0.1" - "lodash.clonedeep" "^4.5.0" - "lodash.truncate" "^4.4.2" - "slice-ansi" "^4.0.0" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - -"taffydb@2.6.2": - "integrity" "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==" - "resolved" "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz" - "version" "2.6.2" - -"tapable@^1.0.0": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^1.1.3": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"tar-stream@^2.2.0": - "integrity" "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "bl" "^4.0.3" - "end-of-stream" "^1.4.1" - "fs-constants" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^3.1.1" - -"tar@^4.4.12": - "integrity" "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==" - "resolved" "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" - "version" "4.4.19" - dependencies: - "chownr" "^1.1.4" - "fs-minipass" "^1.2.7" - "minipass" "^2.9.0" - "minizlib" "^1.3.3" - "mkdirp" "^0.5.5" - "safe-buffer" "^5.2.1" - "yallist" "^3.1.1" - -"tar@^6.0.2", "tar@^6.1.0", "tar@^6.1.11", "tar@^6.1.2": - "integrity" "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==" - "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" - "version" "6.1.11" - dependencies: - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "minipass" "^3.0.0" - "minizlib" "^2.1.1" - "mkdirp" "^1.0.3" - "yallist" "^4.0.0" - -"tar@6.1.9": - "integrity" "sha512-XjLaMNl76o07zqZC/aW4lwegdY07baOH1T8w3AEfrHAdyg/oYO4ctjzEBq9Gy9fEP9oHqLIgvx6zuGDGe+bc8Q==" - "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.9.tgz" - "version" "6.1.9" - dependencies: - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "minipass" "^3.0.0" - "minizlib" "^2.1.1" - "mkdirp" "^1.0.3" - "yallist" "^4.0.0" - -"tcp-port-used@^1.0.1", "tcp-port-used@^1.0.2": - "integrity" "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==" - "resolved" "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "debug" "4.3.1" - "is2" "^2.0.6" - -"temp-dir@^1.0.0": - "integrity" "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" - "version" "1.0.0" - -"temp-write@^4.0.0": - "integrity" "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==" - "resolved" "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.15" - "is-stream" "^2.0.0" - "make-dir" "^3.0.0" - "temp-dir" "^1.0.0" - "uuid" "^3.3.2" - -"term-size@^2.1.0": - "integrity" "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" - "resolved" "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" - "version" "2.2.1" - -"terser-webpack-plugin@^1.4.3": - "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" - "version" "1.4.5" - dependencies: - "cacache" "^12.0.2" - "find-cache-dir" "^2.1.0" - "is-wsl" "^1.1.0" - "schema-utils" "^1.0.0" - "serialize-javascript" "^4.0.0" - "source-map" "^0.6.1" - "terser" "^4.1.2" - "webpack-sources" "^1.4.0" - "worker-farm" "^1.7.0" - -"terser-webpack-plugin@^5.1.3": - "integrity" "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz" - "version" "5.2.4" - dependencies: - "jest-worker" "^27.0.6" - "p-limit" "^3.1.0" - "schema-utils" "^3.1.1" - "serialize-javascript" "^6.0.0" - "source-map" "^0.6.1" - "terser" "^5.7.2" - -"terser@^4.1.2": - "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" - "version" "4.8.0" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.6.1" - "source-map-support" "~0.5.12" - -"terser@^5.0.0", "terser@^5.7.2", "terser@5.15.1": - "integrity" "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" - "version" "5.15.1" + version "1.0.1" + resolved "git+https://github.com/brettz9/sync-promise.git#25845a49a00aa2d2c985a5149b97c86a1fcdc75a" + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.npmjs.org/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar-stream@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@6.1.9: + version "6.1.9" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.9.tgz#5646ef51342ac55456b2466e44da810439978db1" + integrity sha512-XjLaMNl76o07zqZC/aW4lwegdY07baOH1T8w3AEfrHAdyg/oYO4ctjzEBq9Gy9fEP9oHqLIgvx6zuGDGe+bc8Q== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +tar@^4, tar@^4.4.12: + version "4.4.19" + resolved "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: + version "6.1.11" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tcp-port-used@^1.0.1, tcp-port-used@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz#9652b7436eb1f4cfae111c79b558a25769f6faea" + integrity sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA== + dependencies: + debug "4.3.1" + is2 "^2.0.6" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + +temp-write@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz#cd2e0825fc826ae72d201dc26eef3bf7e6fc9320" + integrity sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw== + dependencies: + graceful-fs "^4.1.15" + is-stream "^2.0.0" + make-dir "^3.0.0" + temp-dir "^1.0.0" + uuid "^3.3.2" + +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^5.1.3: + version "5.2.4" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz#ad1be7639b1cbe3ea49fab995cbe7224b31747a1" + integrity sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA== + dependencies: + jest-worker "^27.0.6" + p-limit "^3.1.0" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.2" + +terser@5.15.1: + version "5.15.1" + resolved "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" + integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== dependencies: "@jridgewell/source-map" "^0.3.2" - "acorn" "^8.5.0" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.0.0, terser@^5.7.2: + version "5.9.0" + resolved "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" + integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" + glob "^7.1.4" + minimatch "^3.0.4" -"text-extensions@^1.0.0": - "integrity" "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" - "resolved" "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" - "version" "1.9.0" +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -"text-hex@1.0.x": - "integrity" "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - "resolved" "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz" - "version" "1.0.0" +text-hex@1.0.x: + version "1.0.0" + resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== -"text-table@^0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -"textextensions@^3.2.0": - "integrity" "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==" - "resolved" "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz" - "version" "3.3.0" +textextensions@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz#03530d5287b86773c08b77458589148870cc71d3" + integrity sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw== -"thenify-all@^1.0.0": - "integrity" "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=" - "resolved" "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - "version" "1.6.0" +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= dependencies: - "thenify" ">= 3.1.0 < 4" + thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": - "integrity" "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==" - "resolved" "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - "version" "3.3.1" + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: - "any-promise" "^1.0.0" + any-promise "^1.0.0" -"through@^2.3.4", "through@^2.3.6", "through@^2.3.8", "through@>=2.2.7 <3", "through@2": - "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"through2-filter@^3.0.0": - "integrity" "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==" - "resolved" "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz" - "version" "3.0.0" +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== dependencies: - "through2" "~2.0.0" - "xtend" "~4.0.0" + through2 "~2.0.0" + xtend "~4.0.0" -"through2@^2.0.0", "through2@^2.0.3", "through2@~2.0.0": - "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "readable-stream" "~2.3.6" - "xtend" "~4.0.1" +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" -"through2@^3.0.1": - "integrity" "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "2 || 3" +through2@^3.0.1: + version "3.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" -"through2@^4.0.0": - "integrity" "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - "resolved" "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "readable-stream" "3" +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -"time-stamp@^1.0.0": - "integrity" "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" - "resolved" "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz" - "version" "1.1.0" +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -"timers-browserify@^2.0.11", "timers-browserify@^2.0.4": - "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" - "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" - "version" "2.0.12" - dependencies: - "setimmediate" "^1.0.4" +timers-browserify@^2.0.11, timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" -"timers-ext@^0.1.7": - "integrity" "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==" - "resolved" "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" - "version" "0.1.7" +timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== dependencies: - "es5-ext" "~0.10.46" - "next-tick" "1" - -"timsort@~0.3.0": - "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" - "version" "0.3.0" + es5-ext "~0.10.46" + next-tick "1" + +timsort@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -"tiny-queue@^0.2.1": - "integrity" "sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=" - "resolved" "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz" - "version" "0.2.1" - -"tmp@^0.0.33": - "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - "version" "0.0.33" - dependencies: - "os-tmpdir" "~1.0.2" - -"tmp@^0.2.1", "tmp@0.2.1": - "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "rimraf" "^3.0.0" - -"tmp@0.0.30": - "integrity" "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz" - "version" "0.0.30" +tiny-queue@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046" + integrity sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY= + +tmp@0.0.30: + version "0.0.30" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" + integrity sha1-ckGdSovn1s51FI/YsyTlk6cRwu0= + dependencies: + os-tmpdir "~1.0.1" + +tmp@0.2.1, tmp@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: - "os-tmpdir" "~1.0.1" - -"tmpl@1.0.x": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -"to-absolute-glob@^2.0.0", "to-absolute-glob@^2.0.2": - "integrity" "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=" - "resolved" "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" - "version" "2.0.2" +to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= dependencies: - "is-absolute" "^1.0.0" - "is-negated-glob" "^1.0.0" + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" -"to-arraybuffer@^1.0.0": - "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - "version" "1.0.1" +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -"to-fast-properties@^1.0.3": - "integrity" "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" - "version" "1.0.3" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= -"to-fast-properties@^2.0.0": - "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -"to-object-path@^0.3.0": - "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: - "kind-of" "^3.0.2" + kind-of "^3.0.2" -"to-readable-stream@^1.0.0": - "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - "version" "1.0.0" +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== -"to-regex-range@^2.1.0": - "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: - "is-number" "^7.0.0" + is-number "^7.0.0" -"to-regex@^3.0.1", "to-regex@^3.0.2": - "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - "version" "3.0.2" +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "regex-not" "^1.0.2" - "safe-regex" "^1.1.0" + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" -"to-through@^2.0.0": - "integrity" "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=" - "resolved" "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "through2" "^2.0.3" +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" -"toidentifier@1.0.0": - "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" - "version" "1.0.0" +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -"toidentifier@1.0.1": - "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - "version" "1.0.1" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -"tough-cookie@~2.5.0": - "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - "version" "2.5.0" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: - "psl" "^1.1.28" - "punycode" "^2.1.1" + psl "^1.1.28" + punycode "^2.1.1" -"toxic@^1.0.0": - "integrity" "sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==" - "resolved" "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz" - "version" "1.0.1" +toxic@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz#8c2e2528da591100adc3883f2c0e56acfb1c7288" + integrity sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg== dependencies: - "lodash" "^4.17.10" + lodash "^4.17.10" -"tr46@^2.1.0": - "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "punycode" "^2.1.1" +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" -"tr46@~0.0.3": - "integrity" "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= "traverse@>=0.3.0 <0.4": - "integrity" "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" - "resolved" "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" - "version" "0.3.9" - -"trim-newlines@^3.0.0": - "integrity" "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" - "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" - "version" "3.0.1" - -"trim-right@^1.0.1": - "integrity" "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - "resolved" "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" - "version" "1.0.1" - -"triple-beam@^1.2.0", "triple-beam@^1.3.0": - "integrity" "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - "resolved" "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" - "version" "1.3.0" - -"ts-essentials@9.3.0": - "integrity" "sha512-XeiCboEyBG8UqXZtXl59bWEi4ZgOqRsogFDI6WDGIF1LmzbYiAkIwjkXN6zZWWl4re/lsOqMlYfe8KA0XiiEPw==" - "resolved" "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.3.0.tgz" - "version" "9.3.0" - -"ts-loader@8.4.0": - "integrity" "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==" - "resolved" "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz" - "version" "8.4.0" - dependencies: - "chalk" "^4.1.0" - "enhanced-resolve" "^4.0.0" - "loader-utils" "^2.0.0" - "micromatch" "^4.0.0" - "semver" "^7.3.4" - -"ts-node@10.9.1": - "integrity" "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==" - "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - "version" "10.9.1" + version "0.3.9" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +triple-beam@^1.2.0, triple-beam@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== + +ts-essentials@9.3.0: + version "9.3.0" + resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.3.0.tgz#7e639c1a76b1805c3c60d6e1b5178da2e70aea02" + integrity sha512-XeiCboEyBG8UqXZtXl59bWEi4ZgOqRsogFDI6WDGIF1LmzbYiAkIwjkXN6zZWWl4re/lsOqMlYfe8KA0XiiEPw== + +ts-loader@8.4.0: + version "8.4.0" + resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" + integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^4.0.0" + loader-utils "^2.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@10.9.1: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" "@tsconfig/node16" "^1.0.2" - "acorn" "^8.4.1" - "acorn-walk" "^8.1.1" - "arg" "^4.1.0" - "create-require" "^1.1.0" - "diff" "^4.0.1" - "make-error" "^1.1.1" - "v8-compile-cache-lib" "^3.0.1" - "yn" "3.1.1" - -"tsconfig-paths@^3.14.1": - "integrity" "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==" - "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" - "version" "3.14.1" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" - "json5" "^1.0.1" - "minimist" "^1.2.6" - "strip-bom" "^3.0.0" - -"tslib@^1.13.0", "tslib@^1.8.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.0.1", "tslib@^2.1.0": - "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - "version" "2.3.1" - -"tslib@^2.3.1": - "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" - "version" "2.4.0" - -"tslib@^2": - "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" - "version" "2.4.0" - -"tslib@~2.1.0": - "integrity" "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz" - "version" "2.1.0" - -"tslint@^5.0.0 || ^6.0.0", "tslint@6.1.3": - "integrity" "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==" - "resolved" "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz" - "version" "6.1.3" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2, tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tslib@^2.0.1, tslib@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tslib@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + +tslint@6.1.3: + version "6.1.3" + resolved "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== dependencies: "@babel/code-frame" "^7.0.0" - "builtin-modules" "^1.1.1" - "chalk" "^2.3.0" - "commander" "^2.12.1" - "diff" "^4.0.1" - "glob" "^7.1.1" - "js-yaml" "^3.13.1" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.3" - "resolve" "^1.3.2" - "semver" "^5.3.0" - "tslib" "^1.13.0" - "tsutils" "^2.29.0" - -"tsutils@^2.29.0": - "integrity" "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz" - "version" "2.29.0" - dependencies: - "tslib" "^1.8.1" - -"tsutils@^3.21.0": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"tty-browserify@^0.0.1": - "integrity" "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" - "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz" - "version" "0.0.1" - -"tty-browserify@0.0.0": - "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - "version" "0.0.0" - -"tty-table@^4.1.5": - "integrity" "sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==" - "resolved" "https://registry.npmjs.org/tty-table/-/tty-table-4.1.6.tgz" - "version" "4.1.6" - dependencies: - "chalk" "^4.1.2" - "csv" "^5.5.0" - "kleur" "^4.1.4" - "smartwrap" "^2.0.2" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - "yargs" "^17.1.1" - -"tunnel-agent@^0.6.0": - "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" - "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "safe-buffer" "^5.0.1" - -"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": - "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - "version" "0.14.5" - -"type-check@^0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-check@~0.3.2": - "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-detect@^4.0.0", "type-detect@^4.0.5", "type-detect@^4.0.8", "type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.13.1": - "integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" - "version" "0.13.1" - -"type-fest@^0.18.0": - "integrity" "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" - "version" "0.18.1" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-fest@^0.4.1": - "integrity" "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz" - "version" "0.4.1" - -"type-fest@^0.6.0": - "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - "version" "0.6.0" - -"type-fest@^0.8.0", "type-fest@^0.8.1": - "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - "version" "0.8.1" - -"type-fest@^1.0.2": - "integrity" "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - "version" "1.4.0" - -"type-is@~1.6.17", "type-is@~1.6.18": - "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" - "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - "version" "1.6.18" - dependencies: - "media-typer" "0.3.0" - "mime-types" "~2.1.24" - -"type@^1.0.1": - "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz" - "version" "1.2.0" - -"type@^2.5.0": - "integrity" "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - "resolved" "https://registry.npmjs.org/type/-/type-2.5.0.tgz" - "version" "2.5.0" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typedarray@^0.0.6": - "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - "version" "0.0.6" - -"typedoc-default-themes@^0.7.2": - "integrity" "sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A==" - "resolved" "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz" - "version" "0.7.2" - dependencies: - "backbone" "^1.4.0" - "jquery" "^3.4.1" - "lunr" "^2.3.8" - "underscore" "^1.9.1" - -"typedoc@0.16.11": - "integrity" "sha512-YEa5i0/n0yYmLJISJ5+po6seYfJQJ5lQYcHCPF9ffTF92DB/TAZO/QrazX5skPHNPtmlIht5FdTXCM2kC7jQFQ==" - "resolved" "https://registry.npmjs.org/typedoc/-/typedoc-0.16.11.tgz" - "version" "0.16.11" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^4.0.1" + glob "^7.1.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + mkdirp "^0.5.3" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.13.0" + tsutils "^2.29.0" + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tty-browserify@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + +tty-table@^4.1.5: + version "4.1.6" + resolved "https://registry.npmjs.org/tty-table/-/tty-table-4.1.6.tgz#6bd58338f36c94cce478c3337934d8a65ab40a73" + integrity sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw== + dependencies: + chalk "^4.1.2" + csv "^5.5.0" + kleur "^4.1.4" + smartwrap "^2.0.2" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + yargs "^17.1.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.0, type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typedoc-default-themes@^0.7.2: + version "0.7.2" + resolved "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz#1e9896f920b58e6da0bba9d7e643738d02405a5a" + integrity sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A== + dependencies: + backbone "^1.4.0" + jquery "^3.4.1" + lunr "^2.3.8" + underscore "^1.9.1" + +typedoc@0.16.11: + version "0.16.11" + resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.16.11.tgz#95f862c6eba78533edc9af7096d2295b718eddc1" + integrity sha512-YEa5i0/n0yYmLJISJ5+po6seYfJQJ5lQYcHCPF9ffTF92DB/TAZO/QrazX5skPHNPtmlIht5FdTXCM2kC7jQFQ== dependencies: "@types/minimatch" "3.0.3" - "fs-extra" "^8.1.0" - "handlebars" "^4.7.2" - "highlight.js" "^9.17.1" - "lodash" "^4.17.15" - "marked" "^0.8.0" - "minimatch" "^3.0.0" - "progress" "^2.0.3" - "shelljs" "^0.8.3" - "typedoc-default-themes" "^0.7.2" - "typescript" "3.7.x" - -"typescript@*", "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev", "typescript@>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev", "typescript@>=2.4.0", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@4.7.4": - "integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" - "version" "4.7.4" - -"typescript@>=4.1.0", "typescript@1 || 2 || 3 || 4", "typescript@4.2.2": - "integrity" "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz" - "version" "4.2.2" - -"typescript@~4.1.3": - "integrity" "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz" - "version" "4.1.6" - -"typescript@3.7.x": - "integrity" "sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.7.7.tgz" - "version" "3.7.7" - -"typeson-registry@1.0.0-alpha.39": - "integrity" "sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==" - "resolved" "https://registry.npmjs.org/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz" - "version" "1.0.0-alpha.39" - dependencies: - "base64-arraybuffer-es6" "^0.7.0" - "typeson" "^6.0.0" - "whatwg-url" "^8.4.0" - -"typeson@^6.0.0", "typeson@6.1.0": - "integrity" "sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==" - "resolved" "https://registry.npmjs.org/typeson/-/typeson-6.1.0.tgz" - "version" "6.1.0" - -"ua-parser-js@^0.7.30": - "integrity" "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" - "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz" - "version" "0.7.31" - -"uc.micro@^1.0.1", "uc.micro@^1.0.5": - "integrity" "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - "resolved" "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" - "version" "1.0.6" - -"uglify-js@^3.1.4", "uglify-js@^3.4.9", "uglify-js@^3.7.7": - "integrity" "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==" - "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz" - "version" "3.14.2" - -"uid-number@0.0.6": - "integrity" "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" - "resolved" "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" - "version" "0.0.6" - -"umask@^1.1.0": - "integrity" "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=" - "resolved" "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz" - "version" "1.1.0" - -"unbox-primitive@^1.0.1": - "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "function-bind" "^1.1.1" - "has-bigints" "^1.0.1" - "has-symbols" "^1.0.2" - "which-boxed-primitive" "^1.0.2" - -"unbox-primitive@^1.0.2": - "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - "has-bigints" "^1.0.2" - "has-symbols" "^1.0.3" - "which-boxed-primitive" "^1.0.2" - -"unc-path-regex@^0.1.2": - "integrity" "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" - "resolved" "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" - "version" "0.1.2" - -"underscore@^1.9.1", "underscore@>=1.8.3", "underscore@~1.13.2": - "integrity" "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" - "resolved" "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz" - "version" "1.13.6" - -"undertaker-registry@^1.0.0": - "integrity" "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=" - "resolved" "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz" - "version" "1.0.1" - -"undertaker@^1.2.1": - "integrity" "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==" - "resolved" "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "arr-flatten" "^1.0.1" - "arr-map" "^2.0.0" - "bach" "^1.0.0" - "collection-map" "^1.0.0" - "es6-weak-map" "^2.0.1" - "fast-levenshtein" "^1.0.0" - "last-run" "^1.1.0" - "object.defaults" "^1.0.0" - "object.reduce" "^1.0.0" - "undertaker-registry" "^1.0.0" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.0.0": - "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"union-value@^1.0.0": - "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" - "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "arr-union" "^3.1.0" - "get-value" "^2.0.6" - "is-extendable" "^0.1.1" - "set-value" "^2.0.1" - -"union@~0.5.0": - "integrity" "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==" - "resolved" "https://registry.npmjs.org/union/-/union-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "qs" "^6.4.0" - -"unique-filename@^1.1.1": - "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" - "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "unique-slug" "^2.0.0" - -"unique-slug@^2.0.0": - "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" - "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "imurmurhash" "^0.1.4" - -"unique-stream@^2.0.2": - "integrity" "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==" - "resolved" "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz" - "version" "2.3.1" - dependencies: - "json-stable-stringify-without-jsonify" "^1.0.1" - "through2-filter" "^3.0.0" - -"unique-string@^2.0.0": - "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" - "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"universal-analytics@^0.5.3": - "integrity" "sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==" - "resolved" "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "debug" "^4.3.1" - "uuid" "^8.0.0" - -"universal-user-agent@^6.0.0": - "integrity" "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" - "resolved" "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" - "version" "6.0.0" - -"universalify@^0.1.0": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unpipe@~1.0.0", "unpipe@1.0.0": - "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - "version" "1.0.0" - -"unset-value@^1.0.0": - "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" - "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-value" "^0.3.1" - "isobject" "^3.0.0" - -"unzipper@^0.10.10": - "integrity" "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==" - "resolved" "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz" - "version" "0.10.11" - dependencies: - "big-integer" "^1.6.17" - "binary" "~0.3.0" - "bluebird" "~3.4.1" - "buffer-indexof-polyfill" "~1.0.0" - "duplexer2" "~0.1.4" - "fstream" "^1.0.12" - "graceful-fs" "^4.2.2" - "listenercount" "~1.0.1" - "readable-stream" "~2.3.6" - "setimmediate" "~1.0.4" - -"upath@^1.1.1": - "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - "version" "1.2.0" - -"upath@^2.0.1": - "integrity" "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==" - "resolved" "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" - "version" "2.0.1" - -"upath2@^3.1.13": - "integrity" "sha512-d23dQLi8nDWSRTIQwXtaYqMrHuca0As53fNiTLLFDmsGBbepsZepISaB2H1x45bDFN/n3Qw9bydvyZEacTrEWQ==" - "resolved" "https://registry.npmjs.org/upath2/-/upath2-3.1.19.tgz" - "version" "3.1.19" + fs-extra "^8.1.0" + handlebars "^4.7.2" + highlight.js "^9.17.1" + lodash "^4.17.15" + marked "^0.8.0" + minimatch "^3.0.0" + progress "^2.0.3" + shelljs "^0.8.3" + typedoc-default-themes "^0.7.2" + typescript "3.7.x" + +typescript@3.7.x: + version "3.7.7" + resolved "https://registry.npmjs.org/typescript/-/typescript-3.7.7.tgz#c931733e2ec10dda56b855b379cc488a72a81199" + integrity sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA== + +typescript@4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" + integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== + +typescript@4.7.4: + version "4.7.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== + +typescript@~4.1.3: + version "4.1.6" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz#1becd85d77567c3c741172339e93ce2e69932138" + integrity sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow== + +typeson-registry@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.npmjs.org/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz#9e0f5aabd5eebfcffd65a796487541196f4b1211" + integrity sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw== + dependencies: + base64-arraybuffer-es6 "^0.7.0" + typeson "^6.0.0" + whatwg-url "^8.4.0" + +typeson@6.1.0, typeson@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/typeson/-/typeson-6.1.0.tgz#5b2a53705a5f58ff4d6f82f965917cabd0d7448b" + integrity sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA== + +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + +uglify-js@^3.1.4, uglify-js@^3.4.9: + version "3.14.2" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" + integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== + +uid-number@0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= + +umask@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +underscore@>=1.8.3, underscore@^1.9.1: + version "1.13.1" + resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.2.1: + version "1.3.0" + resolved "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" + integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + fast-levenshtein "^1.0.0" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universal-analytics@^0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz#ff2d9b850062cdd4a8f652448047982a183c8e96" + integrity sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ== + dependencies: + debug "^4.3.1" + uuid "^8.0.0" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzipper@^0.10.10: + version "0.10.11" + resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" + integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "^1.0.12" + graceful-fs "^4.2.2" + listenercount "~1.0.1" + readable-stream "~2.3.6" + setimmediate "~1.0.4" + +upath2@^3.1.13: + version "3.1.19" + resolved "https://registry.npmjs.org/upath2/-/upath2-3.1.19.tgz#d987d34a62b2daad1c54a692fd5a720a30c9a786" + integrity sha512-d23dQLi8nDWSRTIQwXtaYqMrHuca0As53fNiTLLFDmsGBbepsZepISaB2H1x45bDFN/n3Qw9bydvyZEacTrEWQ== dependencies: "@types/node" "*" - "path-is-network-drive" "^1.0.20" - "path-strip-sep" "^1.0.17" - "tslib" "^2" - -"update-browserslist-db@^1.0.9": - "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"update-notifier@^4.1.1": - "integrity" "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==" - "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz" - "version" "4.1.3" - dependencies: - "boxen" "^4.2.0" - "chalk" "^3.0.0" - "configstore" "^5.0.1" - "has-yarn" "^2.1.0" - "import-lazy" "^2.1.0" - "is-ci" "^2.0.0" - "is-installed-globally" "^0.3.1" - "is-npm" "^4.0.0" - "is-yarn-global" "^0.3.0" - "latest-version" "^5.0.0" - "pupa" "^2.0.1" - "semver-diff" "^3.1.1" - "xdg-basedir" "^4.0.0" - -"update-notifier@^5.1.0": - "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==" - "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "boxen" "^5.0.0" - "chalk" "^4.1.0" - "configstore" "^5.0.1" - "has-yarn" "^2.1.0" - "import-lazy" "^2.1.0" - "is-ci" "^2.0.0" - "is-installed-globally" "^0.4.0" - "is-npm" "^5.0.0" - "is-yarn-global" "^0.3.0" - "latest-version" "^5.1.0" - "pupa" "^2.1.1" - "semver" "^7.3.4" - "semver-diff" "^3.1.1" - "xdg-basedir" "^4.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url-join@^4.0.1": - "integrity" "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" - "resolved" "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" - "version" "4.0.1" - -"url-join@0.0.1": - "integrity" "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=" - "resolved" "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz" - "version" "0.0.1" - -"url-parse-lax@^3.0.0": - "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=" - "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"url@^0.11.0": - "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"use@^3.1.0": - "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - "version" "3.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util-promisify@^2.1.0": - "integrity" "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=" - "resolved" "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "object.getownpropertydescriptors" "^2.0.3" - -"util@^0.11.0": - "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" - "version" "0.11.1" - dependencies: - "inherits" "2.0.3" - -"util@^0.12.0", "util@^0.12.1": - "integrity" "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==" - "resolved" "https://registry.npmjs.org/util/-/util-0.12.4.tgz" - "version" "0.12.4" - dependencies: - "inherits" "^2.0.3" - "is-arguments" "^1.0.4" - "is-generator-function" "^1.0.7" - "is-typed-array" "^1.1.3" - "safe-buffer" "^5.1.2" - "which-typed-array" "^1.1.2" - -"util@0.10.3": - "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" - "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - "version" "0.10.3" - dependencies: - "inherits" "2.0.1" - -"utils-merge@1.0.1": - "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - "version" "1.0.1" - -"uuid@^3.3.2", "uuid@^3.3.3": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"uuid@^8.0.0": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"v8-compile-cache-lib@^3.0.1": - "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - "version" "3.0.1" - -"v8-compile-cache@^2.0.3": - "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - "version" "2.3.0" - -"v8flags@^3.2.0": - "integrity" "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==" - "resolved" "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "homedir-polyfill" "^1.0.1" - -"valid-url@^1": - "integrity" "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" - "resolved" "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" - "version" "1.0.9" - -"validate-npm-package-license@^3.0.1", "validate-npm-package-license@^3.0.4": - "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" - "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "spdx-correct" "^3.0.0" - "spdx-expression-parse" "^3.0.0" - -"validate-npm-package-name@^3.0.0": - "integrity" "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=" - "resolved" "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "builtins" "^1.0.3" - -"validator@^13.7.0": - "integrity" "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" - "resolved" "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz" - "version" "13.7.0" - -"validator@^8.0.0": - "integrity" "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" - "resolved" "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz" - "version" "8.2.0" - -"value-or-function@^3.0.0": - "integrity" "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" - "resolved" "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz" - "version" "3.0.0" - -"vary@^1", "vary@~1.1.2": - "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - "version" "1.1.2" - -"verror@1.10.0": - "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" - "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "assert-plus" "^1.0.0" - "core-util-is" "1.0.2" - "extsprintf" "^1.2.0" - -"vinyl-fs@^3.0.0", "vinyl-fs@^3.0.2": - "integrity" "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==" - "resolved" "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "fs-mkdirp-stream" "^1.0.0" - "glob-stream" "^6.1.0" - "graceful-fs" "^4.0.0" - "is-valid-glob" "^1.0.0" - "lazystream" "^1.0.0" - "lead" "^1.0.0" - "object.assign" "^4.0.4" - "pumpify" "^1.3.5" - "readable-stream" "^2.3.3" - "remove-bom-buffer" "^3.0.0" - "remove-bom-stream" "^1.2.0" - "resolve-options" "^1.1.0" - "through2" "^2.0.0" - "to-through" "^2.0.0" - "value-or-function" "^3.0.0" - "vinyl" "^2.0.0" - "vinyl-sourcemap" "^1.1.0" - -"vinyl-sourcemap@^1.1.0": - "integrity" "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=" - "resolved" "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "append-buffer" "^1.0.2" - "convert-source-map" "^1.5.0" - "graceful-fs" "^4.1.6" - "normalize-path" "^2.1.1" - "now-and-later" "^2.0.0" - "remove-bom-buffer" "^3.0.0" - "vinyl" "^2.0.0" - -"vinyl-sourcemaps-apply@^0.2.0": - "integrity" "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=" - "resolved" "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "source-map" "^0.5.1" - -"vinyl@^2.0.0", "vinyl@^2.1.0", "vinyl@2.x": - "integrity" "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==" - "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "clone" "^2.1.1" - "clone-buffer" "^1.0.0" - "clone-stats" "^1.0.0" - "cloneable-readable" "^1.0.0" - "remove-trailing-separator" "^1.0.1" - "replace-ext" "^1.0.0" - -"vm-browserify@^1.0.1", "vm-browserify@^1.1.2": - "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" - "version" "1.1.2" - -"vm2@^3.9.3": - "integrity" "sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==" - "resolved" "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz" - "version" "3.9.5" - -"void-elements@^2.0.0": - "integrity" "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" - "resolved" "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" - "version" "2.0.1" - -"walker@^1.0.7": - "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "makeerror" "1.0.x" - -"watch@1.0.2": - "integrity" "sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=" - "resolved" "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "exec-sh" "^0.2.0" - "minimist" "^1.2.0" - -"watchpack-chokidar2@^2.0.1": - "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" - "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "chokidar" "^2.1.8" - -"watchpack@^1.7.4": - "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" - "version" "1.7.5" - dependencies: - "graceful-fs" "^4.1.2" - "neo-async" "^2.5.0" + path-is-network-drive "^1.0.20" + path-strip-sep "^1.0.17" + tslib "^2" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +upath@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^4.1.1: + version "4.1.3" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-join@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" + integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g= + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util-promisify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" + integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= + dependencies: + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +util@^0.12.0, util@^0.12.1: + version "0.12.4" + resolved "https://registry.npmjs.org/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.3.3: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.0.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +valid-url@^1: + version "1.0.9" + resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= + +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + +validator@^13.7.0: + version "13.7.0" + resolved "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" + integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== + +validator@^8.0.0: + version "8.2.0" + resolved "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" + integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vinyl-fs@^3.0.0, vinyl-fs@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU= + dependencies: + source-map "^0.5.1" + +vinyl@2.x, vinyl@^2.0.0, vinyl@^2.1.0: + version "2.2.1" + resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vm-browserify@^1.0.1, vm-browserify@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vm2@^3.9.3: + version "3.9.5" + resolved "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz#5288044860b4bbace443101fcd3bddb2a0aa2496" + integrity sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng== + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + +walker@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watch@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c" + integrity sha1-NApxe952Vyb6CqB9ch4BR6VR3ww= + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" optionalDependencies: - "chokidar" "^3.4.1" - "watchpack-chokidar2" "^2.0.1" + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" -"watchpack@^2.2.0": - "integrity" "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz" - "version" "2.2.0" +watchpack@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" -"wcwidth@^1.0.0", "wcwidth@^1.0.1": - "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" - "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - "version" "1.0.1" +wcwidth@^1.0.0, wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= dependencies: - "defaults" "^1.0.3" + defaults "^1.0.3" -"webdriver-js-extender@2.1.0": - "integrity" "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==" - "resolved" "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz" - "version" "2.1.0" +webdriver-js-extender@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz#57d7a93c00db4cc8d556e4d3db4b5db0a80c3bb7" + integrity sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ== dependencies: "@types/selenium-webdriver" "^3.0.0" - "selenium-webdriver" "^3.0.1" - -"webdriver-manager@^12.0.6": - "integrity" "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==" - "resolved" "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz" - "version" "12.1.8" - dependencies: - "adm-zip" "^0.4.9" - "chalk" "^1.1.1" - "del" "^2.2.0" - "glob" "^7.0.3" - "ini" "^1.3.4" - "minimist" "^1.2.0" - "q" "^1.4.1" - "request" "^2.87.0" - "rimraf" "^2.5.2" - "semver" "^5.3.0" - "xml2js" "^0.4.17" - -"webidl-conversions@^3.0.0": - "integrity" "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"webidl-conversions@^6.1.0": - "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - "version" "6.1.0" - -"webpack-dev-middleware@^3.7.0": - "integrity" "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==" - "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" - "version" "3.7.3" - dependencies: - "memory-fs" "^0.4.1" - "mime" "^2.4.4" - "mkdirp" "^0.5.1" - "range-parser" "^1.2.1" - "webpack-log" "^2.0.0" - -"webpack-log@^2.0.0": - "integrity" "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==" - "resolved" "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ansi-colors" "^3.0.0" - "uuid" "^3.3.2" - -"webpack-sources@^1.4.0", "webpack-sources@^1.4.1": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^3.2.0": - "integrity" "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz" - "version" "3.2.1" - -"webpack-stream@6.1.2": - "integrity" "sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA==" - "resolved" "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz" - "version" "6.1.2" - dependencies: - "fancy-log" "^1.3.3" - "lodash.clone" "^4.3.2" - "lodash.some" "^4.2.2" - "memory-fs" "^0.5.0" - "plugin-error" "^1.0.1" - "supports-color" "^7.2.0" - "through" "^2.3.8" - "vinyl" "^2.1.0" - "webpack" "^4.26.1" - -"webpack-virtual-modules@0.4.5": - "integrity" "sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg==" - "resolved" "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.5.tgz" - "version" "0.4.5" - -"webpack@*", "webpack@^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.26.1", "webpack@>=2", "webpack@4.46.0": - "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" - "version" "4.46.0" + selenium-webdriver "^3.0.1" + +webdriver-manager@^12.0.6: + version "12.1.8" + resolved "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz#5e70e73eaaf53a0767d5745270addafbc5905fd4" + integrity sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg== + dependencies: + adm-zip "^0.4.9" + chalk "^1.1.1" + del "^2.2.0" + glob "^7.0.3" + ini "^1.3.4" + minimist "^1.2.0" + q "^1.4.1" + request "^2.87.0" + rimraf "^2.5.2" + semver "^5.3.0" + xml2js "^0.4.17" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-dev-middleware@^3.7.0: + version "3.7.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz#251a7d9720d75ada1469ca07dbb62f3641a05b6d" + integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== + +webpack-stream@6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.2.tgz#ee90bc07d0ff937239d75ed22aa728072c9e7ee1" + integrity sha512-Bpbsrix1cmWRN705JEg69ErgNAEOpQBvtuWKFW3ZCrLddoPPK6oVpQn4svxNdfedqMLlWA3GLOLvw4c7u63GqA== + dependencies: + fancy-log "^1.3.3" + lodash.clone "^4.3.2" + lodash.some "^4.2.2" + memory-fs "^0.5.0" + plugin-error "^1.0.1" + supports-color "^7.2.0" + through "^2.3.8" + vinyl "^2.1.0" + webpack "^4.26.1" + +webpack-virtual-modules@0.4.5: + version "0.4.5" + resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.5.tgz#e476842dab5eafb7beb844aa2f747fc12ebbf6ec" + integrity sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg== + +webpack@4.46.0, webpack@^4.26.1: + version "4.46.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - "acorn" "^6.4.1" - "ajv" "^6.10.2" - "ajv-keywords" "^3.4.1" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^4.5.0" - "eslint-scope" "^4.0.3" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^2.4.0" - "loader-utils" "^1.2.3" - "memory-fs" "^0.4.1" - "micromatch" "^3.1.10" - "mkdirp" "^0.5.3" - "neo-async" "^2.6.1" - "node-libs-browser" "^2.2.1" - "schema-utils" "^1.0.0" - "tapable" "^1.1.3" - "terser-webpack-plugin" "^1.4.3" - "watchpack" "^1.7.4" - "webpack-sources" "^1.4.1" - -"webpack@^5", "webpack@^5.1.0": - "integrity" "sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz" - "version" "5.53.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +webpack@^5: + version "5.53.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz#f463cd9c6fc1356ae4b9b7ac911fd1f5b2df86af" + integrity sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - "acorn" "^8.4.1" - "acorn-import-assertions" "^1.7.6" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.8.0" - "es-module-lexer" "^0.7.1" - "eslint-scope" "5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.4" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.1.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.3" - "watchpack" "^2.2.0" - "webpack-sources" "^3.2.0" - -"websocket-driver@>=0.5.1": - "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" - "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - "version" "0.7.4" - dependencies: - "http-parser-js" ">=0.5.1" - "safe-buffer" ">=5.1.0" - "websocket-extensions" ">=0.1.1" - -"websocket-extensions@>=0.1.1": - "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - "version" "0.1.4" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.7.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.2.0" + webpack-sources "^3.2.0" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== "websql@git+https://github.com/brettz9/node-websql.git#configurable-secure3": - "resolved" "git+ssh://git@github.com/brettz9/node-websql.git#73f7e4051cda5e58de7669a54ab184d387b2f98d" - "version" "2.0.1" + version "2.0.1" + resolved "git+https://github.com/brettz9/node-websql.git#73f7e4051cda5e58de7669a54ab184d387b2f98d" dependencies: - "argsarray" "^0.0.1" - "immediate" "^3.2.2" - "noop-fn" "^1.0.0" - "tiny-queue" "^0.2.1" + argsarray "^0.0.1" + immediate "^3.2.2" + noop-fn "^1.0.0" + tiny-queue "^0.2.1" optionalDependencies: - "sqlite3" "^5.0.2" - -"whatwg-encoding@^2.0.0": - "integrity" "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "iconv-lite" "0.6.3" - -"whatwg-mimetype@^2.3.0": - "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - "version" "2.3.0" - -"whatwg-url@^5.0.0": - "integrity" "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"whatwg-url@^8.4.0": - "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - "version" "8.7.0" - dependencies: - "lodash" "^4.7.0" - "tr46" "^2.1.0" - "webidl-conversions" "^6.1.0" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-bigint" "^1.0.1" - "is-boolean-object" "^1.1.0" - "is-number-object" "^1.0.4" - "is-string" "^1.0.5" - "is-symbol" "^1.0.3" - -"which-module@^1.0.0": - "integrity" "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" - "version" "1.0.0" - -"which-module@^2.0.0": - "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which-pm@2.0.0": - "integrity" "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==" - "resolved" "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "load-yaml-file" "^0.2.0" - "path-exists" "^4.0.0" - -"which-typed-array@^1.1.2": - "integrity" "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==" - "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "es-abstract" "^1.18.5" - "foreach" "^2.0.5" - "has-tostringtag" "^1.0.0" - "is-typed-array" "^1.1.7" - -"which@^1.2.1", "which@^1.2.14", "which@^1.2.9", "which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.2": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"which@2.0.2": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wide-align@^1.1.0", "wide-align@^1.1.2", "wide-align@^1.1.5": - "integrity" "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==" - "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "string-width" "^1.0.2 || 2 || 3 || 4" - -"widest-line@^3.1.0": - "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" - "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "string-width" "^4.0.0" - -"winston-transport@^4.4.0": - "integrity" "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==" - "resolved" "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz" - "version" "4.4.0" - dependencies: - "readable-stream" "^2.3.7" - "triple-beam" "^1.2.0" - -"winston@^3.0.0": - "integrity" "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==" - "resolved" "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz" - "version" "3.3.3" + sqlite3 "^5.0.2" + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.4.0: + version "8.7.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" + integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== + dependencies: + load-yaml-file "^0.2.0" + path-exists "^4.0.0" + +which-typed-array@^1.1.2: + version "1.1.7" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.7" + +which@1, which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@2.0.2, which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +winston-transport@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" + integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== + dependencies: + readable-stream "^2.3.7" + triple-beam "^1.2.0" + +winston@^3.0.0: + version "3.3.3" + resolved "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" + integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== dependencies: "@dabh/diagnostics" "^2.0.2" - "async" "^3.1.0" - "is-stream" "^2.0.0" - "logform" "^2.2.0" - "one-time" "^1.0.0" - "readable-stream" "^3.4.0" - "stack-trace" "0.0.x" - "triple-beam" "^1.3.0" - "winston-transport" "^4.4.0" - -"word-wrap@^1.2.3", "word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"wordwrap@^1.0.0": - "integrity" "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - "version" "1.0.0" - -"wordwrap@~0.0.2": - "integrity" "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" - "version" "0.0.3" - -"worker-farm@^1.7.0": - "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" - "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "errno" "~0.1.7" - -"workerpool@6.2.0": - "integrity" "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" - "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" - "version" "6.2.0" - -"wrap-ansi@^2.0.0": - "integrity" "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - -"wrap-ansi@^3.0.1": - "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "string-width" "^2.1.1" - "strip-ansi" "^4.0.0" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^1.1.4": - "integrity" "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz" - "version" "1.3.4" - dependencies: - "graceful-fs" "^4.1.11" - "imurmurhash" "^0.1.4" - "slide" "^1.1.5" - -"write-file-atomic@^2.4.2": - "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - "version" "2.4.3" - dependencies: - "graceful-fs" "^4.1.11" - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.2" - -"write-file-atomic@^3.0.0", "write-file-atomic@^3.0.3": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"write-json-file@^3.2.0": - "integrity" "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==" - "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "detect-indent" "^5.0.0" - "graceful-fs" "^4.1.15" - "make-dir" "^2.1.0" - "pify" "^4.0.1" - "sort-keys" "^2.0.0" - "write-file-atomic" "^2.4.2" - -"write-json-file@^4.3.0": - "integrity" "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==" - "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "detect-indent" "^6.0.0" - "graceful-fs" "^4.1.15" - "is-plain-obj" "^2.0.0" - "make-dir" "^3.0.0" - "sort-keys" "^4.0.0" - "write-file-atomic" "^3.0.0" - -"write-pkg@^4.0.0": - "integrity" "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==" - "resolved" "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "sort-keys" "^2.0.0" - "type-fest" "^0.4.1" - "write-json-file" "^3.2.0" - -"ws@^7.2.3": - "integrity" "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" - "version" "7.5.5" - -"ws@>=7.4.6", "ws@>=8.7.0": - "integrity" "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz" - "version" "8.9.0" - -"ws@~8.2.3": - "integrity" "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz" - "version" "8.2.3" - -"xdg-basedir@^4.0.0": - "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - "version" "4.0.0" - -"xml2js@^0.4.17": - "integrity" "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==" - "resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" - "version" "0.4.23" - dependencies: - "sax" ">=0.6.0" - "xmlbuilder" "~11.0.0" - -"xmlbuilder@~11.0.0": - "integrity" "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" - "version" "11.0.1" - -"xmlcreate@^2.0.4": - "integrity" "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==" - "resolved" "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz" - "version" "2.0.4" - -"xregexp@2.0.0": - "integrity" "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" - "resolved" "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz" - "version" "2.0.0" - -"xtend@^4.0.0", "xtend@^4.0.2", "xtend@~4.0.0", "xtend@~4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^3.2.1": - "integrity" "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" - "version" "3.2.2" - -"y18n@^4.0.0", "y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^2.1.2": - "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - "version" "2.1.2" - -"yallist@^3.0.0", "yallist@^3.1.1": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^18.1.2": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^18.1.3": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^20.2.2", "yargs-parser@^20.2.3", "yargs-parser@>=5.0.0-security.0": - "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - "version" "20.2.9" - -"yargs-parser@^21.0.0": - "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" - "version" "21.0.1" - -"yargs-parser@^5.0.1": - "integrity" "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "camelcase" "^3.0.0" - "object.assign" "^4.1.0" - -"yargs-parser@20.2.4": - "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - "version" "20.2.4" - -"yargs-unparser@2.0.0": - "integrity" "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==" - "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "camelcase" "^6.0.0" - "decamelize" "^4.0.0" - "flat" "^5.0.2" - "is-plain-obj" "^2.1.0" - -"yargs@^15.0.2": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" - -"yargs@^15.1.0": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" - -"yargs@^16.1.1": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yargs@^16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yargs@^17.1.1", "yargs@17.6.0": - "integrity" "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz" - "version" "17.6.0" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.0.0" - -"yargs@^7.1.0": - "integrity" "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "camelcase" "^3.0.0" - "cliui" "^3.2.0" - "decamelize" "^1.1.1" - "get-caller-file" "^1.0.1" - "os-locale" "^1.4.0" - "read-pkg-up" "^1.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^1.0.1" - "set-blocking" "^2.0.0" - "string-width" "^1.0.2" - "which-module" "^1.0.0" - "y18n" "^3.2.1" - "yargs-parser" "^5.0.1" - -"yargs@16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yauzl@^2.10.0": - "integrity" "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=" - "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "buffer-crc32" "~0.2.3" - "fd-slicer" "~1.1.0" - -"yn@3.1.1": - "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - "version" "3.1.1" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"z-schema@~3.18.3": - "integrity" "sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==" - "resolved" "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz" - "version" "3.18.4" - dependencies: - "lodash.get" "^4.0.0" - "lodash.isequal" "^4.0.0" - "validator" "^8.0.0" + async "^3.1.0" + is-stream "^2.0.0" + logform "^2.2.0" + one-time "^1.0.0" + readable-stream "^3.4.0" + stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.4.0" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +workerpool@6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" + integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^1.1.4: + version "1.3.4" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-file-atomic@^2.4.2: + version "2.4.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-json-file@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== + dependencies: + detect-indent "^6.0.0" + graceful-fs "^4.1.15" + is-plain-obj "^2.0.0" + make-dir "^3.0.0" + sort-keys "^4.0.0" + write-file-atomic "^3.0.0" + +write-pkg@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + +ws@>=7.4.6: + version "8.2.2" + resolved "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz#ca684330c6dd6076a737250ed81ac1606cb0a63e" + integrity sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw== + +ws@>=8.7.0: + version "8.9.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" + integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== + +ws@^7.2.3: + version "7.5.5" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xml2js@^0.4.17: + version "0.4.23" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + +xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@>=5.0.0-security.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^18.1.2, yargs-parser@^18.1.3: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== + dependencies: + camelcase "^3.0.0" + object.assign "^4.1.0" + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.1.1, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@17.6.0: + version "17.6.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" + integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yargs@^15.0.2, yargs@^15.1.0: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.1.1: + version "17.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.2.0.tgz#ec529632b2cb9044f3927f4b45f9cc4ae2535653" + integrity sha512-UPeZv4h9Xv510ibpt5rdsUNzgD78nMa1rhxxCgvkKiq06hlKCEHJLiJ6Ub8zDg/wR6hedEI6ovnd2vCvJ4nusA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^7.1.0: + version "7.1.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" + integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +z-schema@~3.18.3: + version "3.18.4" + resolved "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2" + integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== + dependencies: + lodash.get "^4.0.0" + lodash.isequal "^4.0.0" + validator "^8.0.0" optionalDependencies: - "commander" "^2.7.1" + commander "^2.7.1" -"z-schema@~5.0.2": - "integrity" "sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==" - "resolved" "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz" - "version" "5.0.3" +z-schema@~5.0.2: + version "5.0.3" + resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz#68fafb9b735fc7f3c89eabb3e5a6353b4d7b4935" + integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== dependencies: - "lodash.get" "^4.4.2" - "lodash.isequal" "^4.5.0" - "validator" "^13.7.0" + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^13.7.0" optionalDependencies: - "commander" "^2.20.3" + commander "^2.20.3" -"zip-stream@^4.1.0": - "integrity" "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==" - "resolved" "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz" - "version" "4.1.0" +zip-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" + integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== dependencies: - "archiver-utils" "^2.1.0" - "compress-commons" "^4.1.0" - "readable-stream" "^3.6.0" + archiver-utils "^2.1.0" + compress-commons "^4.1.0" + readable-stream "^3.6.0" From 389de2e8353d91c0da181aa488faeb238412f42b Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 14 Nov 2022 16:09:09 -0800 Subject: [PATCH 04/31] use crypto.js instead of md5.js --- packages/firestore/package.json | 2 +- packages/firestore/src/remote/bloom_filter.ts | 9 ++++----- .../firestore/test/unit/remote/bloom_filter.test.ts | 10 ++++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/firestore/package.json b/packages/firestore/package.json index 6bcae44f289..016186bf299 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -86,7 +86,7 @@ "@firebase/webchannel-wrapper": "0.8.1", "@grpc/grpc-js": "^1.3.2", "@grpc/proto-loader": "^0.6.13", - "md5.js": "^1.3.5", + "crypto-js": "^4.1.1", "node-fetch": "2.6.7", "tslib": "^2.1.0" }, diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 69948fbcd5b..ea74761ee89 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -14,8 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -// @ts-ignore -import MD5 from 'md5.js'; +import md5 from 'crypto-js/md5'; interface BitSequence { bitmap: string; @@ -34,8 +33,8 @@ export class BloomFilter { mightContain(document: string): boolean { //hash the string using md5 const hash64 = md5HashStringToHex(document); - let hash1 = hash64.slice(0, 16); - let hash2 = hash64.slice(16); + const hash1 = hash64.slice(0, 16); + const hash2 = hash64.slice(16); for (let i = 0; i <= this.hashCount; i++) { let combinedHash = parseInt(hash1, 10) + i * parseInt(hash2, 10); @@ -53,7 +52,7 @@ export class BloomFilter { //temp function for md5 hash export function md5HashStringToHex(document: string): string { - return new MD5().update(document).digest('hex'); + return md5(document).toString(); } export function isBigEndian(): boolean { diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index e9a9845e6f3..7808e186ec7 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -22,10 +22,12 @@ import { } from '../../../src/remote/bloom_filter'; describe('BloomFilter', () => { - it.only('md5Hash', () => { + it('should create a hex-encoded MD5 hash of a string', () => { expect(isBigEndian()).to.be.false; - expect(md5HashStringToHex('hi')).to.equal( - '49f68a5c8493ec2c0bf489821c21fc3b' - ); + expect( + md5HashStringToHex( + 'projects/my-cool-project/databases/(default)/documents/MyCoolColl/MyCoolDoc' + ) + ).to.equal('165f8eafe08aa55d22dac2fceda88335'); }); }); From dd2e42fd7265a4aa9ae01f6bde7b0c3d85d51e33 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Tue, 15 Nov 2022 19:33:38 -0800 Subject: [PATCH 05/31] add mightContain method to BloomFilter --- packages/firestore/src/remote/bloom_filter.ts | 65 +++++++++++++------ .../test/unit/remote/bloom_filter.test.ts | 52 +++++++++++++-- 2 files changed, 91 insertions(+), 26 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index ea74761ee89..00164dc0d0d 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// @ts-ignore import md5 from 'crypto-js/md5'; interface BitSequence { @@ -25,24 +26,38 @@ export class BloomFilter { private readonly bitmap: string; private readonly bitSize: number; - constructor(readonly bits: BitSequence, private readonly hashCount: number) { + constructor(bits: BitSequence, private readonly hashCount: number) { this.bitmap = bits.bitmap; this.bitSize = this.bitmap.length * 8 - bits.padding; } + getBitSize(): number { + return this.bitSize; + } + mightContain(document: string): boolean { - //hash the string using md5 - const hash64 = md5HashStringToHex(document); - const hash1 = hash64.slice(0, 16); - const hash2 = hash64.slice(16); + // Hash the string using md5 + const hash64: string = md5HashStringToHex(document); + // Interpret those two 64-bit chunks as unsigned integers, encoded using 2’s + // complement using little endian. + let hash1 = '0x' + hash64.slice(0, 16); + let hash2 = '0x' + hash64.slice(16); + if (isLittleEndian()) { + hash1 = changeEndianess(hash1); + hash2 = changeEndianess(hash2); + } - for (let i = 0; i <= this.hashCount; i++) { - let combinedHash = parseInt(hash1, 10) + i * parseInt(hash2, 10); - // Flip all the bits if it's negative (guaranteed positive number) - if (combinedHash < 0) { - combinedHash = ~combinedHash; - } - if (!this.bitmap[combinedHash % this.bitSize]) { + for (let i = 0; i < this.hashCount; i++) { + // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow + let combinedHash = BigInt(hash1) + BigInt(i) * BigInt(hash2); + combinedHash = BigInt.asUintN(64, combinedHash); + + // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). + const module = Number(combinedHash % BigInt(this.bitSize)); + const byte = this.bitmap.charCodeAt(Math.floor(module / 8)); + console.log(byte & (0x01 << module % 8)); + + if (!(byte & (0x01 << module % 8))) { return false; } } @@ -50,17 +65,29 @@ export class BloomFilter { } } -//temp function for md5 hash export function md5HashStringToHex(document: string): string { return md5(document).toString(); } -export function isBigEndian(): boolean { - const uInt32 = new Uint32Array([0x12345678]); - const uInt8 = new Uint8Array(uInt32.buffer); +// Recommended code from mdn web docs: +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView#endianness +export function isLittleEndian(): boolean { + const buffer = new ArrayBuffer(2); + new DataView(buffer).setInt16(0, 256, true /* littleEndian */); + return new Int16Array(buffer)[0] === 256; +} - if (uInt8[0] === 0x78) { - return false; +// Reverse a string representation of hexadecimal by bytes +export function changeEndianess(value: string): string { + if (value.length % 2) { + value = '0' + value; + } + if (value.startsWith('0x')) { + value = value.slice(2); + } + let result = ''; + for (let i = value.length - 2; i >= 0; i = i - 2) { + result += value.substring(i, i + 2); } - return true; + return '0x' + result; } diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 7808e186ec7..9ba05ecd534 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -17,17 +17,55 @@ import { expect } from 'chai'; import { - isBigEndian, + BloomFilter, + changeEndianess, md5HashStringToHex } from '../../../src/remote/bloom_filter'; describe('BloomFilter', () => { it('should create a hex-encoded MD5 hash of a string', () => { - expect(isBigEndian()).to.be.false; - expect( - md5HashStringToHex( - 'projects/my-cool-project/databases/(default)/documents/MyCoolColl/MyCoolDoc' - ) - ).to.equal('165f8eafe08aa55d22dac2fceda88335'); + expect(md5HashStringToHex('abc')).to.equal( + '900150983cd24fb0d6963f7d28e17f72' + ); + }); + + it('should change endianess of a hexadecimal string', () => { + expect(changeEndianess('0xb04fd23c98500190')).to.equal( + '0x900150983cd24fb0' + ); + }); + + // Mock bancend response based on two strings "abc" and "def". + // bits { + // bitmap: "\227\231\354t\007" + // padding: 3 + // } + // hash_count: 13 + + it('should be able to calculate the bitsize correctly', () => { + const bloomFilter_ = new BloomFilter( + { bitmap: '\x97\x99ìt\x07', padding: 3 }, + 13 + ); + expect(bloomFilter_.getBitSize()).to.equal(37); + }); + + it('mightContain should return true for existing document', () => { + const bloomFilter_ = new BloomFilter( + { bitmap: '\x97\x99ìt\x07', padding: 3 }, + 13 + ); + expect(bloomFilter_.mightContain('abc')).to.be.true; + expect(bloomFilter_.mightContain('def')).to.be.true; + }); + + it('mightContain should return true for non existing document', () => { + const bloomFilter_ = new BloomFilter( + { bitmap: '\x97\x99ìt\x07', padding: 3 }, + 13 + ); + expect(bloomFilter_.mightContain('ab')).to.be.false; + expect(bloomFilter_.mightContain('bc')).to.be.false; + expect(bloomFilter_.mightContain('xyz')).to.be.false; }); }); From 3c273e914de966e2bcfd8b219ad50a01a7d65235 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Wed, 16 Nov 2022 17:08:18 -0800 Subject: [PATCH 06/31] discard string representation of md5 hash value, use byte array instead --- packages/firestore/src/remote/bloom_filter.ts | 70 ++++++++----------- .../test/unit/remote/bloom_filter.test.ts | 37 ++++------ 2 files changed, 40 insertions(+), 67 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 00164dc0d0d..583f32998f8 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -17,18 +17,15 @@ // @ts-ignore import md5 from 'crypto-js/md5'; -interface BitSequence { - bitmap: string; - padding: number; -} - export class BloomFilter { - private readonly bitmap: string; private readonly bitSize: number; - constructor(bits: BitSequence, private readonly hashCount: number) { - this.bitmap = bits.bitmap; - this.bitSize = this.bitmap.length * 8 - bits.padding; + constructor( + private readonly bitmap: Uint8Array, + padding: number, + private readonly hashCount: number + ) { + this.bitSize = this.bitmap.length * 8 - padding; } getBitSize(): number { @@ -37,25 +34,21 @@ export class BloomFilter { mightContain(document: string): boolean { // Hash the string using md5 - const hash64: string = md5HashStringToHex(document); - // Interpret those two 64-bit chunks as unsigned integers, encoded using 2’s + const md5Hash = md5HashString(document); + const hash64: Uint8Array = md5HashToBytes(md5Hash.words); + // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s // complement using little endian. - let hash1 = '0x' + hash64.slice(0, 16); - let hash2 = '0x' + hash64.slice(16); - if (isLittleEndian()) { - hash1 = changeEndianess(hash1); - hash2 = changeEndianess(hash2); - } + const hash1 = Buffer.from(hash64).readBigUInt64LE(0); + const hash2 = Buffer.from(hash64).readBigUInt64LE(8); for (let i = 0; i < this.hashCount; i++) { // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow - let combinedHash = BigInt(hash1) + BigInt(i) * BigInt(hash2); + let combinedHash = hash1 + BigInt(i) * hash2; combinedHash = BigInt.asUintN(64, combinedHash); // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). const module = Number(combinedHash % BigInt(this.bitSize)); - const byte = this.bitmap.charCodeAt(Math.floor(module / 8)); - console.log(byte & (0x01 << module % 8)); + const byte = this.bitmap[Math.floor(module / 8)]; if (!(byte & (0x01 << module % 8))) { return false; @@ -65,29 +58,22 @@ export class BloomFilter { } } -export function md5HashStringToHex(document: string): string { - return md5(document).toString(); +//replace with google library later +export function md5HashString(document: string): { + words: number[]; + sigBytes: number; +} { + return md5(document); } -// Recommended code from mdn web docs: -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView#endianness -export function isLittleEndian(): boolean { - const buffer = new ArrayBuffer(2); - new DataView(buffer).setInt16(0, 256, true /* littleEndian */); - return new Int16Array(buffer)[0] === 256; -} - -// Reverse a string representation of hexadecimal by bytes -export function changeEndianess(value: string): string { - if (value.length % 2) { - value = '0' + value; - } - if (value.startsWith('0x')) { - value = value.slice(2); - } - let result = ''; - for (let i = value.length - 2; i >= 0; i = i - 2) { - result += value.substring(i, i + 2); +// Crypt0-js.md5 does not have digest function to convert the result to a byte array, so doing it +// manually. +// This can be removed if we end up using goog libray, as their md5.digest() will return byte array +export function md5HashToBytes(words: number[]): Uint8Array { + const hexChars = new Uint8Array(16); + for (let i = 0; i < 16; i++) { + const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars[i] = bite; } - return '0x' + result; + return hexChars; } diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 9ba05ecd534..30aa2e8a5c2 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -16,54 +16,41 @@ */ import { expect } from 'chai'; -import { - BloomFilter, - changeEndianess, - md5HashStringToHex -} from '../../../src/remote/bloom_filter'; +import { BloomFilter, md5HashString } from '../../../src/remote/bloom_filter'; describe('BloomFilter', () => { it('should create a hex-encoded MD5 hash of a string', () => { - expect(md5HashStringToHex('abc')).to.equal( + expect(md5HashString('abc').toString()).to.equal( '900150983cd24fb0d6963f7d28e17f72' ); }); - it('should change endianess of a hexadecimal string', () => { - expect(changeEndianess('0xb04fd23c98500190')).to.equal( - '0x900150983cd24fb0' - ); - }); - - // Mock bancend response based on two strings "abc" and "def". + // Mocking banckend response based on two strings "abc" and "def", for now. // bits { // bitmap: "\227\231\354t\007" // padding: 3 // } // hash_count: 13 + // Mocking the bitmap processed from octal string to Uint8Array + const processedBitmap = new Uint8Array(5); + for (let i = 0; i < 5; i++) { + processedBitmap[i] = '\x97\x99ìt\x07'.charCodeAt(i); + } + it('should be able to calculate the bitsize correctly', () => { - const bloomFilter_ = new BloomFilter( - { bitmap: '\x97\x99ìt\x07', padding: 3 }, - 13 - ); + const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); expect(bloomFilter_.getBitSize()).to.equal(37); }); it('mightContain should return true for existing document', () => { - const bloomFilter_ = new BloomFilter( - { bitmap: '\x97\x99ìt\x07', padding: 3 }, - 13 - ); + const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); expect(bloomFilter_.mightContain('abc')).to.be.true; expect(bloomFilter_.mightContain('def')).to.be.true; }); it('mightContain should return true for non existing document', () => { - const bloomFilter_ = new BloomFilter( - { bitmap: '\x97\x99ìt\x07', padding: 3 }, - 13 - ); + const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); expect(bloomFilter_.mightContain('ab')).to.be.false; expect(bloomFilter_.mightContain('bc')).to.be.false; expect(bloomFilter_.mightContain('xyz')).to.be.false; From 854195c272b47449ab04c1af5a9ef9ed775be020 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Wed, 16 Nov 2022 18:21:36 -0800 Subject: [PATCH 07/31] Use DateView instead of Buffer --- packages/firestore/src/remote/bloom_filter.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 583f32998f8..2aab6d1fb21 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -34,12 +34,13 @@ export class BloomFilter { mightContain(document: string): boolean { // Hash the string using md5 - const md5Hash = md5HashString(document); - const hash64: Uint8Array = md5HashToBytes(md5Hash.words); + const md5HashResult = md5HashString(document); + const encodedBytes: Uint8Array = md5HashToBytes(md5HashResult.words); // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s // complement using little endian. - const hash1 = Buffer.from(hash64).readBigUInt64LE(0); - const hash2 = Buffer.from(hash64).readBigUInt64LE(8); + const dataView = new DataView(encodedBytes.buffer); + const hash1 = dataView.getBigUint64(0, /* littleEndian= */ true); + const hash2 = dataView.getBigUint64(8, /* littleEndian= */ true); for (let i = 0; i < this.hashCount; i++) { // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow From 84ef93e66df6b7cb20488ef557237c6e79e6c145 Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Thu, 17 Nov 2022 16:25:01 -0500 Subject: [PATCH 08/31] Added Md5 to webchannel-wrapper --- packages/webchannel-wrapper/src/index.d.ts | 7 +++++++ packages/webchannel-wrapper/src/index.js | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/packages/webchannel-wrapper/src/index.d.ts b/packages/webchannel-wrapper/src/index.d.ts index 4a1f45f1d70..7adc81fe7ee 100644 --- a/packages/webchannel-wrapper/src/index.d.ts +++ b/packages/webchannel-wrapper/src/index.d.ts @@ -136,3 +136,10 @@ export function getStatEventTarget(): EventTarget; export class FetchXmlHttpFactory { constructor(options: {}); } + +// See https://google.github.io/closure-library/api/goog.crypt.Md5.html +export class Md5 { + reset(): void; + digest(): Array; + update(bytes: Array | Uint8Array | string, opt_length?: number): void; +} diff --git a/packages/webchannel-wrapper/src/index.js b/packages/webchannel-wrapper/src/index.js index c51f7d68ba3..a39a2507c40 100644 --- a/packages/webchannel-wrapper/src/index.js +++ b/packages/webchannel-wrapper/src/index.js @@ -78,6 +78,11 @@ goog.net.XhrIo.prototype['send'] = goog.net.XhrIo.prototype.send; goog.net.XhrIo.prototype['setWithCredentials'] = goog.net.XhrIo.prototype.setWithCredentials; +goog.require('goog.crypt.Md5'); +goog.crypt.Md5.prototype['digest'] = goog.crypt.Md5.digest; +goog.crypt.Md5.prototype['reset'] = goog.crypt.Md5.reset; +goog.crypt.Md5.prototype['update'] = goog.crypt.Md5.update; + module['exports']['createWebChannelTransport'] = goog.net.createWebChannelTransport; module['exports']['getStatEventTarget'] = @@ -89,3 +94,4 @@ module['exports']['Stat'] = goog.labs.net.webChannel.requestStats.Stat; module['exports']['FetchXmlHttpFactory'] = goog.net.FetchXmlHttpFactory; module['exports']['WebChannel'] = goog.net.WebChannel; module['exports']['XhrIo'] = goog.net.XhrIo; +module['exports']['Md5'] = goog.crypt.Md5; From 877afce71338ef96b771fead1945259cfe82fcad Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Thu, 17 Nov 2022 16:25:33 -0500 Subject: [PATCH 09/31] webchannel_wrapper.test.ts added with 1 test (that currently fails due to not being able to find the reset() method) --- .../test/unit/core/webchannel_wrapper.test.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/firestore/test/unit/core/webchannel_wrapper.test.ts diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts new file mode 100644 index 00000000000..ebe729e7555 --- /dev/null +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from 'chai'; + +import { Md5 } from '@firebase/webchannel-wrapper'; + +describe('Md5', () => { + it.only('can create new instances', () => { + const instance1 = new Md5(); + const instance2 = new Md5(); + expect(instance1).is.not.equal(instance2); + }); +}); From 02f74ff641223aa472027fc7febd7ca78d7d11ac Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Fri, 18 Nov 2022 01:31:30 -0500 Subject: [PATCH 10/31] webchannel-wrapper/src/index.js: fix Md5 prototype definition --- packages/webchannel-wrapper/src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/webchannel-wrapper/src/index.js b/packages/webchannel-wrapper/src/index.js index a39a2507c40..9b6b0a026ed 100644 --- a/packages/webchannel-wrapper/src/index.js +++ b/packages/webchannel-wrapper/src/index.js @@ -79,9 +79,9 @@ goog.net.XhrIo.prototype['setWithCredentials'] = goog.net.XhrIo.prototype.setWithCredentials; goog.require('goog.crypt.Md5'); -goog.crypt.Md5.prototype['digest'] = goog.crypt.Md5.digest; -goog.crypt.Md5.prototype['reset'] = goog.crypt.Md5.reset; -goog.crypt.Md5.prototype['update'] = goog.crypt.Md5.update; +goog.crypt.Md5.prototype['digest'] = goog.crypt.Md5.prototype.digest; +goog.crypt.Md5.prototype['reset'] = goog.crypt.Md5.prototype.reset; +goog.crypt.Md5.prototype['update'] = goog.crypt.Md5.prototype.update; module['exports']['createWebChannelTransport'] = goog.net.createWebChannelTransport; From 398c166aa806152c3cfe2622e3e5f74afd7c413e Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Fri, 18 Nov 2022 01:34:05 -0500 Subject: [PATCH 11/31] webchannel_wrapper.test.ts added --- .../test/unit/core/webchannel_wrapper.test.ts | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index ebe729e7555..cf80374a3ab 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -15,14 +15,72 @@ * limitations under the License. */ +// Add some unit tests for classes exported from @firebase/webchannel-wrapper. +// These tests are mostly to ensure that the exported classes correctly map to +// underlying functionality from google-closure-library. + import { expect } from 'chai'; import { Md5 } from '@firebase/webchannel-wrapper'; describe('Md5', () => { - it.only('can create new instances', () => { + // The precomputed MD5 digests of the 3-character strings "abc" and "def". + const DIGEST_OF_ABC = Object.freeze([ + 144, 1, 80, 152, 60, 210, 79, 176, 214, 150, 63, 125, 40, 225, 127, 114 + ]); + const DIGEST_OF_DEF = Object.freeze([ + 78, 217, 64, 118, 48, 235, 16, 0, 192, 246, 182, 56, 66, 222, 250, 125 + ]); + + it('constructor should create distinct instances', () => { const instance1 = new Md5(); const instance2 = new Md5(); + expect(instance1).is.instanceof(Md5); + expect(instance2).is.instanceof(Md5); expect(instance1).is.not.equal(instance2); }); + + it('update() should accept a string', () => { + const md5 = new Md5(); + md5.update('abc'); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('update() should accept an array of number', () => { + const md5 = new Md5(); + md5.update([97, 98, 99]); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('update() should accept a Uint8Array', () => { + const md5 = new Md5(); + md5.update(Uint8Array.from([97, 98, 99])); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('update() should honor opt_length on a string', () => { + const md5 = new Md5(); + md5.update('abcdef', 3); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('update() should honor opt_length on an array of number', () => { + const md5 = new Md5(); + md5.update([97, 98, 99, 100, 101, 102], 3); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('update() should honor opt_length on a Uint8Array', () => { + const md5 = new Md5(); + md5.update(Uint8Array.from([97, 98, 99, 100, 101, 102]), 3); + expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); + }); + + it('reset() should reset', () => { + const md5 = new Md5(); + md5.update('abc'); + md5.reset(); + md5.update('def'); + expect(md5.digest()).to.deep.equal(DIGEST_OF_DEF); + }); }); From 01de4cf9f0857af1aa729b0e44ba0f05fa12341c Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Fri, 18 Nov 2022 01:47:16 -0500 Subject: [PATCH 12/31] webchannel_wrapper.test.ts: fix imports to make lint happy --- packages/firestore/test/unit/core/webchannel_wrapper.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index cf80374a3ab..6729fbd5b98 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -19,9 +19,8 @@ // These tests are mostly to ensure that the exported classes correctly map to // underlying functionality from google-closure-library. -import { expect } from 'chai'; - import { Md5 } from '@firebase/webchannel-wrapper'; +import { expect } from 'chai'; describe('Md5', () => { // The precomputed MD5 digests of the 3-character strings "abc" and "def". From ba8967af0dcdbbb9ddfbe56cf6d4601bb2e25e52 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Fri, 18 Nov 2022 15:03:52 -0800 Subject: [PATCH 13/31] Add golden test, use MD5 from google library --- packages/firestore/package.json | 1 - packages/firestore/src/remote/bloom_filter.ts | 39 +- .../test/unit/remote/bloom_filter.test.ts | 124 +- .../unit/remote/bloom_filter_test_data.json | 19834 ++++++++++++++++ 4 files changed, 19946 insertions(+), 52 deletions(-) create mode 100644 packages/firestore/test/unit/remote/bloom_filter_test_data.json diff --git a/packages/firestore/package.json b/packages/firestore/package.json index 016186bf299..ec2ba937eec 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -86,7 +86,6 @@ "@firebase/webchannel-wrapper": "0.8.1", "@grpc/grpc-js": "^1.3.2", "@grpc/proto-loader": "^0.6.13", - "crypto-js": "^4.1.1", "node-fetch": "2.6.7", "tslib": "^2.1.0" }, diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 2aab6d1fb21..19943c4c8bd 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -14,8 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -// @ts-ignore -import md5 from 'crypto-js/md5'; +import { Md5 } from '@firebase/webchannel-wrapper'; + +import { debugAssert } from '../util/assert'; export class BloomFilter { private readonly bitSize: number; @@ -25,7 +26,10 @@ export class BloomFilter { padding: number, private readonly hashCount: number ) { + debugAssert(padding >= 0, 'Padding is negative.'); this.bitSize = this.bitmap.length * 8 - padding; + debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); + debugAssert(this.hashCount >= 0, 'Hash count is negative.'); } getBitSize(): number { @@ -33,9 +37,16 @@ export class BloomFilter { } mightContain(document: string): boolean { + // Empty bitmap should always return false on membership check + if (this.bitSize === 0) { return false; } + // If document path is an empty string, return false + if (!document) { return false; } + // Hash the string using md5 - const md5HashResult = md5HashString(document); - const encodedBytes: Uint8Array = md5HashToBytes(md5HashResult.words); + const md5 = new Md5(); + md5.update(document); + const encodedBytes: Uint8Array = new Uint8Array(md5.digest()); + // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s // complement using little endian. const dataView = new DataView(encodedBytes.buffer); @@ -58,23 +69,3 @@ export class BloomFilter { return true; } } - -//replace with google library later -export function md5HashString(document: string): { - words: number[]; - sigBytes: number; -} { - return md5(document); -} - -// Crypt0-js.md5 does not have digest function to convert the result to a byte array, so doing it -// manually. -// This can be removed if we end up using goog libray, as their md5.digest() will return byte array -export function md5HashToBytes(words: number[]): Uint8Array { - const hexChars = new Uint8Array(16); - for (let i = 0; i < 16; i++) { - const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; - hexChars[i] = bite; - } - return hexChars; -} diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 30aa2e8a5c2..696e4f5625e 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -16,43 +16,113 @@ */ import { expect } from 'chai'; -import { BloomFilter, md5HashString } from '../../../src/remote/bloom_filter'; +import { BloomFilter } from '../../../src/remote/bloom_filter'; + +import testData from './bloom_filter_test_data.json'; describe('BloomFilter', () => { - it('should create a hex-encoded MD5 hash of a string', () => { - expect(md5HashString('abc').toString()).to.equal( - '900150983cd24fb0d6963f7d28e17f72' + it('can initiate an empty BloomFilter', () => { + const bloomFilter = new BloomFilter( + /* bitmap */ new Uint8Array(0), + /* padding */ 0, + /* hashCount */ 0 + ); + expect(bloomFilter.getBitSize()).to.equal(0); + }); + + it('can initiate a non empty BloomFilter', () => { + const bloomFilter = new BloomFilter( + /* bitmap */ new Uint8Array([151, 153, 236, 116, 7]), + /* padding */ 3, + /* hashCount */ 13 ); + expect(bloomFilter.getBitSize()).to.equal(37); }); - // Mocking banckend response based on two strings "abc" and "def", for now. - // bits { - // bitmap: "\227\231\354t\007" - // padding: 3 - // } - // hash_count: 13 + it('should throw error if padding is negative', () => { + try { + new BloomFilter(new Uint8Array(0), -1, 0); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: Padding is negative.' + ) + ).to.be.true; + } + }); - // Mocking the bitmap processed from octal string to Uint8Array - const processedBitmap = new Uint8Array(5); - for (let i = 0; i < 5; i++) { - processedBitmap[i] = '\x97\x99ìt\x07'.charCodeAt(i); - } + it('should throw error if bitmap size is negative', () => { + try { + new BloomFilter(new Uint8Array(0), 1, 0); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: Bitmap size is negative.' + ) + ).to.be.true; + } + }); - it('should be able to calculate the bitsize correctly', () => { - const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); - expect(bloomFilter_.getBitSize()).to.equal(37); + it('should throw error if hash count is negative', () => { + try { + new BloomFilter(new Uint8Array(0), 0, -1); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: Hash count is negative.' + ) + ).to.be.true; + } }); - it('mightContain should return true for existing document', () => { - const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); - expect(bloomFilter_.mightContain('abc')).to.be.true; - expect(bloomFilter_.mightContain('def')).to.be.true; + it('mightContain in empty bloom filter should always return false', () => { + const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); + expect(bloomFilter.mightContain('abc')).to.be.false; + expect(bloomFilter.mightContain('def')).to.be.false; }); - it('mightContain should return true for non existing document', () => { - const bloomFilter_ = new BloomFilter(processedBitmap, 3, 13); - expect(bloomFilter_.mightContain('ab')).to.be.false; - expect(bloomFilter_.mightContain('bc')).to.be.false; - expect(bloomFilter_.mightContain('xyz')).to.be.false; + it('mightContain should always return false for empty string', () => { + const emptyBloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); + const nonEmptyBloomFilter = new BloomFilter( + new Uint8Array([151, 153, 236, 116, 7]), + 3, + 13 + ); + expect(emptyBloomFilter.mightContain('')).to.be.false; + expect(nonEmptyBloomFilter.mightContain('')).to.be.false; + }); + + describe('BloomFilter membership test', () => { + const prefix = 'projects/project-1/databases/database-1/documents/coll/doc'; + + interface TestDataType { + // + bits: { + bitmap: number[]; + padding: number; + }; + hashCount: number; + insertionCount: number; + membershipTestResult: string; + } + + it('mightContain result should match backend result', () => { + testData.forEach((data: TestDataType) => { + const { bits, hashCount, insertionCount, membershipTestResult } = data; + const bloomFilter = new BloomFilter( + new Uint8Array(bits.bitmap), + bits.padding, + hashCount + ); + for (let i = 0; i < insertionCount; i++) { + const isMember = membershipTestResult[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(prefix + i); + expect(mightContain).to.equal(isMember); + } + }); + }); }); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter_test_data.json b/packages/firestore/test/unit/remote/bloom_filter_test_data.json new file mode 100644 index 00000000000..0968191eb4c --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_test_data.json @@ -0,0 +1,19834 @@ +[ + { + "bits": { + "bitmap": ["0x46", "0xcc", "0x19"], + "padding": 1 + }, + "hashCount": 16, + "insertionCount": 2, + "membershipTestResult": "10" + }, + { + "bits": { + "bitmap": ["0x9b", "0x01"], + "padding": 5 + }, + "hashCount": 8, + "insertionCount": 2, + "membershipTestResult": "10" + }, + { + "bits": { + "bitmap": [ + "0xbe", + "0xeb", + "0x16", + "0xe9", + "0x87", + "0x36", + "0xa0", + "0x8b", + "0x31", + "0x98", + "0x46", + "0xa9", + "0x69", + "0xbe", + "0x31", + "0x87", + "0xb4", + "0x2a", + "0xce", + "0x7c", + "0x76", + "0x2c", + "0x05", + "0x66", + "0x16", + "0xb0", + "0x37", + "0x4a", + "0xab", + "0x87", + "0xf3", + "0x99", + "0x05", + "0x47", + "0xc9", + "0x7e", + "0xfc", + "0xca", + "0x42", + "0x22", + "0x89", + "0x0f", + "0x00", + "0x03", + "0x2e", + "0x20", + "0x09", + "0x8a", + "0xa9", + "0xca", + "0xf0", + "0x06", + "0xdc", + "0x7f", + "0x23", + "0xc7", + "0x6c", + "0xf5", + "0x4c", + "0x3d", + "0x02", + "0x91", + "0xd6", + "0xd8", + "0xa6", + "0x7f", + "0x04", + "0xc4", + "0xdb", + "0x8a", + "0x33", + "0xc3", + "0x69", + "0xcd", + "0x87", + "0x9b", + "0x4a", + "0x10", + "0xbd", + "0x61", + "0x64", + "0x52", + "0x3c", + "0x9c", + "0x5f", + "0xb8", + "0x0d", + "0x42", + "0xb9", + "0x23", + "0x0c", + "0x8b", + "0x11", + "0x05", + "0xd3", + "0xbf", + "0x21", + "0xa6", + "0x03", + "0xc0", + "0x08", + "0x7b", + "0xe1", + "0x0c", + "0x28", + "0x7c", + "0x34", + "0x0b", + "0x63", + "0x1a", + "0xd2", + "0x36", + "0x00", + "0x1d", + "0x4f", + "0xeb", + "0x2d", + "0x20", + "0x2e", + "0xd4", + "0x2a", + "0x7a", + "0x71", + "0x66", + "0x5d", + "0x6d", + "0x44", + "0xa4", + "0xe7", + "0x21", + "0xad", + "0x09", + "0x41", + "0x7a", + "0xd1", + "0x0a", + "0x19", + "0xb1", + "0xbc", + "0xee", + "0x2b", + "0xe9", + "0x64", + "0x08", + "0xf5", + "0x04", + "0x7b", + "0xea", + "0xe9", + "0x39", + "0xe4", + "0xa3", + "0x59", + "0x15", + "0x0e", + "0x58", + "0x9a", + "0x0b", + "0xd3", + "0xea", + "0xe6", + "0x1e", + "0x4d", + "0xa7", + "0xe2", + "0x24", + "0x46", + "0x5b", + "0xeb", + "0x54", + "0x3d", + "0x57", + "0x73", + "0x8e", + "0x92", + "0xce", + "0x38", + "0x85", + "0x5f", + "0x37", + "0x17", + "0xff", + "0x3f", + "0xae", + "0x03", + "0xef", + "0x46", + "0x8c", + "0x1e", + "0x2c", + "0x71", + "0x49", + "0xf9", + "0xec", + "0xd2", + "0x27", + "0x4e", + "0x0f", + "0xf4", + "0x0f", + "0x9a", + "0xd4", + "0x31", + "0xe5", + "0x32", + "0xda", + "0x6b", + "0x88", + "0x3b", + "0x31", + "0x54", + "0x80", + "0x20", + "0x26", + "0x6f", + "0xc2", + "0x2a", + "0xe3", + "0xe4", + "0x04", + "0x2d", + "0x63", + "0x8a", + "0xda", + "0x69", + "0x17", + "0xd0", + "0x9a", + "0x82", + "0x72", + "0xcf", + "0x89", + "0xd0", + "0xba", + "0xe4", + "0x5d", + "0x4e", + "0x3d", + "0x21", + "0x3e", + "0xf1", + "0x10", + "0x33", + "0x1d", + "0xa1", + "0x1f", + "0xba", + "0x27", + "0x37", + "0xdb", + "0x23", + "0x49", + "0x12", + "0xe4", + "0x19", + "0x7d", + "0xbd", + "0x61", + "0xab", + "0x8a", + "0x70", + "0x13", + "0xad", + "0xa1", + "0x43", + "0x4f", + "0xee", + "0x95", + "0xcc", + "0xee", + "0x34", + "0x5b", + "0x10", + "0xca", + "0x48", + "0xa4", + "0x35", + "0xc1", + "0x81", + "0x01", + "0x65", + "0x83", + "0x1d", + "0x62", + "0xb8", + "0xba", + "0xbe", + "0x9d", + "0xc2", + "0x34", + "0x12", + "0x3f", + "0xbb", + "0x4e", + "0xab", + "0x79", + "0xb8", + "0x7c", + "0xb2", + "0xb7", + "0xc5", + "0x84", + "0x2d", + "0xe3", + "0x53", + "0xa9", + "0x21", + "0xd3", + "0xf3", + "0x3d", + "0xf9", + "0xf5", + "0x63", + "0x83", + "0x42", + "0xf8", + "0x11", + "0x5d", + "0x29", + "0x06", + "0x54", + "0x84", + "0x8c", + "0x44", + "0xa5", + "0x35", + "0xf6", + "0x4c", + "0xf1", + "0x68", + "0x1a", + "0xc5", + "0xbd", + "0x89", + "0x2a", + "0x91", + "0xbc", + "0x5d", + "0xb3", + "0xcd", + "0x6b", + "0x2d", + "0x02", + "0x37", + "0x0e", + "0xca", + "0xf4", + "0xff", + "0xc8", + "0x9d", + "0xfa", + "0x8a", + "0x31", + "0x23", + "0x55", + "0x5f", + "0x4e", + "0xfb", + "0xf3", + "0x56", + "0x7d", + "0x9b", + "0xf1", + "0x51", + "0xfb", + "0x76", + "0xeb", + "0xf3", + "0x4d", + "0x0d", + "0x13", + "0xe1", + "0xa6", + "0x7c", + "0x57", + "0x1c", + "0x51", + "0x9e", + "0x8b", + "0x5d", + "0x2a", + "0x28", + "0x63", + "0x18", + "0xca", + "0x6f", + "0xec", + "0x78", + "0x5a", + "0xf9", + "0xf8", + "0x79", + "0xb6", + "0x6e", + "0x97", + "0x33", + "0x2d", + "0xfa", + "0x59", + "0xb5", + "0xf4", + "0x2d", + "0xfc", + "0x81", + "0xca", + "0x83", + "0xc2", + "0xf2", + "0xaf", + "0xcb", + "0x8c", + "0xa0", + "0x02", + "0xb9", + "0x62", + "0x16", + "0x2b", + "0x4e", + "0xa2", + "0x98", + "0xe4", + "0x30", + "0xe8", + "0xda", + "0x30", + "0x8f", + "0x1a", + "0x72", + "0x1b", + "0x83", + "0x06", + "0x09", + "0x50", + "0x34", + "0x11", + "0x2f", + "0x7e", + "0x04", + "0x7a", + "0x0b", + "0xe7", + "0x77", + "0xa4", + "0xf4", + "0x03", + "0xa5", + "0xda", + "0x53", + "0x4c", + "0xbe", + "0x49", + "0x76", + "0xdb", + "0x7d", + "0xb9", + "0x36", + "0xbc", + "0x7c", + "0x9b", + "0x55", + "0x9c", + "0x2e", + "0x18", + "0x4a", + "0x1b", + "0x4d", + "0x86", + "0x5a", + "0x6c", + "0x4d", + "0x9b", + "0x36", + "0xd", + "0x2b", + "0x99", + "0xd6", + "0x31", + "0xe0", + "0xb2", + "0x6f", + "0x38", + "0x39", + "0x76", + "0x64", + "0x53", + "0x7b", + "0x59", + "0x9e", + "0x62", + "0xb3", + "0x25", + "0x0", + "0xb4", + "0x12", + "0x49", + "0x6b", + "0x5e", + "0x8f", + "0xcb", + "0x63", + "0xdf", + "0x2c", + "0x1c", + "0x5f", + "0xac", + "0x24", + "0x9c", + "0x56", + "0x94", + "0x9", + "0xaf", + "0xa5", + "0xdd", + "0x91", + "0xae", + "0x9e", + "0x52", + "0xb1", + "0xc0", + "0xe3", + "0x0", + "0x13", + "0xed", + "0x5f", + "0xab", + "0xdc", + "0xd0", + "0x99", + "0xb2", + "0x55", + "0x9", + "0xc9", + "0x9", + "0x32", + "0xe2", + "0x50", + "0xe3", + "0xb5", + "0xa7", + "0x2", + "0x56", + "0xc4", + "0x68", + "0xd8", + "0xe3", + "0x4c", + "0x1a", + "0xe5", + "0xa4", + "0x52", + "0x1f", + "0x71", + "0xab", + "0x29", + "0xd1", + "0x9", + "0xf", + "0x39", + "0x77", + "0x6d", + "0x52", + "0xb7", + "0xec", + "0x40", + "0xa3", + "0x8a", + "0x65", + "0xfd", + "0x5d", + "0x25", + "0x77", + "0x51", + "0x5e", + "0x53", + "0xab", + "0xe", + "0x54", + "0x6c", + "0xd5", + "0xe6", + "0x81", + "0xe8", + "0xb2", + "0x38", + "0xb7", + "0x4b", + "0x80", + "0xc5", + "0x65", + "0x9f", + "0x94", + "0x65", + "0xb2", + "0x9d", + "0x1", + "0xc", + "0x2a", + "0x47", + "0xe5", + "0x18", + "0xf8", + "0x34", + "0x4d", + "0xd1", + "0x5b", + "0x79", + "0xd4", + "0xc6", + "0x61", + "0x79", + "0x9d", + "0x58", + "0x60", + "0x97", + "0x7c", + "0xd1", + "0x95", + "0xf8", + "0xd", + "0x3b", + "0x21", + "0xb3", + "0xa7", + "0xde", + "0x48", + "0x9a", + "0x64", + "0xb6", + "0xe3", + "0x81", + "0x58", + "0x91", + "0x9f", + "0xb4", + "0x5c", + "0xdd", + "0x6c", + "0x82", + "0x1c", + "0x94", + "0x91", + "0xb6", + "0xf4", + "0xa2", + "0x9b", + "0xc1", + "0x2a", + "0x51", + "0xdb", + "0x9c", + "0x6", + "0x2a", + "0x71", + "0x5a", + "0x7c", + "0x8d", + "0xab", + "0xc0", + "0x8b", + "0x4d", + "0x8b", + "0x30", + "0x93", + "0x56", + "0x4c", + "0x5a", + "0xfd", + "0xa4", + "0x27", + "0x4d", + "0x81", + "0x78", + "0x3c", + "0x68", + "0x41", + "0x98", + "0xbb", + "0xb4", + "0xcd", + "0xf1", + "0x29", + "0x68", + "0x8c", + "0xf7", + "0xa6", + "0x6a", + "0x4c", + "0x50", + "0xee", + "0xd3", + "0x3c", + "0x4d", + "0x5a", + "0x62", + "0x3c", + "0x95", + "0xf3", + "0x16", + "0xa4", + "0x48", + "0x90", + "0x38", + "0x88", + "0x33", + "0x10", + "0x23", + "0x76", + "0x7b", + "0x9f", + "0xfe", + "0x9e", + "0x17", + "0xb3", + "0xc5", + "0xc7", + "0x2f", + "0xea", + "0x50", + "0xdb", + "0xb3", + "0x1f", + "0x39", + "0x95", + "0xdc", + "0xfa", + "0x32", + "0xbc", + "0xe8", + "0xc8", + "0xb", + "0xc1", + "0x8d", + "0x9d", + "0x66", + "0x94", + "0x77", + "0xf", + "0x52", + "0x97", + "0x4", + "0xeb", + "0xff", + "0x62", + "0xd4", + "0xcd", + "0xe", + "0x1f", + "0x86", + "0xe7", + "0x2", + "0xca", + "0x42", + "0x0", + "0x1d", + "0xc8", + "0x1a", + "0xc2", + "0xd7", + "0x3", + "0xff", + "0xbc", + "0x21", + "0x81", + "0xad", + "0x59", + "0xfc", + "0xb7", + "0xce", + "0x3d", + "0x13", + "0x85", + "0xd4", + "0x97", + "0xca", + "0xc3", + "0xb6", + "0xbc", + "0x1f", + "0x4b", + "0xc4", + "0x45", + "0x7d", + "0xd6", + "0xb", + "0x8d", + "0xbb", + "0x2c", + "0x78", + "0xdb", + "0xbd", + "0xb8", + "0x40", + "0xc3", + "0x42", + "0xa7", + "0x49", + "0xfc", + "0x88", + "0x3c", + "0xca", + "0x24", + "0xe3", + "0xd1", + "0xf6", + "0xd2", + "0x2d", + "0xe8", + "0x64", + "0xe7", + "0x47", + "0x40", + "0x4d", + "0x30", + "0xc5", + "0x88", + "0xff", + "0xd4", + "0x3", + "0xc3", + "0xf0", + "0x97", + "0xd4", + "0xfd", + "0x39", + "0x4c", + "0x5b", + "0x5b", + "0xa6", + "0x45", + "0x50", + "0x11", + "0x67", + "0xca", + "0x21", + "0x58", + "0xb1", + "0x74", + "0xa1", + "0x97", + "0x28", + "0x84", + "0x4a", + "0x9e", + "0xc5", + "0xa8", + "0xe7", + "0x29", + "0x11", + "0x0", + "0xad", + "0xf5", + "0x6f", + "0xbc", + "0x1a", + "0xe8", + "0xc8", + "0x5b", + "0xc8", + "0xe7", + "0x24", + "0x60", + "0x47", + "0x8b", + "0xd0", + "0x6a", + "0x94", + "0xc8", + "0xd1", + "0x13", + "0xc2", + "0x9a", + "0x2e", + "0x2d", + "0x35", + "0xbc", + "0x35", + "0xd5", + "0x98", + "0x32", + "0xe3", + "0x7b", + "0x27", + "0x28", + "0x6d", + "0xa9", + "0x55", + "0x84", + "0x76", + "0x4b", + "0x82", + "0x3f", + "0xe", + "0xf", + "0x6b", + "0x70", + "0xae", + "0xf", + "0x96", + "0xbd", + "0xf4", + "0xd5", + "0x32", + "0x1b", + "0x15", + "0x10", + "0x13", + "0xd0", + "0x21", + "0x3e", + "0xbe", + "0xa5", + "0x0", + "0x8e", + "0xe", + "0x7a", + "0x96", + "0x4c", + "0x5c", + "0xe", + "0x75", + "0x31", + "0x31", + "0x6f", + "0xe9", + "0xf6", + "0xa0", + "0xd4", + "0xd9", + "0xb2", + "0xb", + "0x6b", + "0x2a", + "0x64", + "0x5f", + "0x2a", + "0xf5", + "0xe9", + "0x28", + "0x99", + "0xc5", + "0xcf", + "0x5b", + "0x32", + "0xf6", + "0x4", + "0x55", + "0x50", + "0x73", + "0xb5", + "0xc6", + "0xf2", + "0x53", + "0xab", + "0x88", + "0xf8", + "0x92", + "0xc5", + "0xae", + "0xe8", + "0x8f", + "0x97", + "0x89", + "0x87", + "0x1e", + "0xfe", + "0x88", + "0xca", + "0x52", + "0x48", + "0x73", + "0xb1", + "0xc9", + "0xd6", + "0xf2", + "0xf5", + "0x82", + "0x74", + "0x53", + "0x3f", + "0x76", + "0xc1", + "0x6", + "0xfc", + "0x39", + "0xab", + "0x21", + "0x25", + "0xd0", + "0xa4", + "0xba", + "0xc2", + "0x8a", + "0xde", + "0x83", + "0x1d", + "0x51", + "0x1", + "0xb3", + "0xec", + "0xcf", + "0xc", + "0x51", + "0xad", + "0x34", + "0x7e", + "0xcd", + "0xfc", + "0x55", + "0xf6", + "0xd5", + "0xa", + "0xb8", + "0x2e", + "0x7d", + "0x5", + "0x91", + "0xe5", + "0x9a", + "0x90", + "0xb9", + "0x60", + "0x50", + "0xa", + "0xdb", + "0x2", + "0xf2", + "0x53", + "0x57", + "0x79", + "0xad", + "0xc", + "0xa1", + "0x30", + "0xde", + "0x32", + "0x48", + "0xf", + "0xf", + "0x39", + "0x80", + "0xfa", + "0xae", + "0x3f", + "0x34", + "0xc", + "0x46", + "0x47", + "0x5d", + "0xc", + "0xe8", + "0x4e", + "0xf7", + "0xd0", + "0x22", + "0x2b", + "0x4f", + "0xa7", + "0x8d", + "0xae", + "0x9c", + "0x44", + "0x11", + "0x18", + "0xc2", + "0x90", + "0xb7", + "0xf3", + "0xea", + "0x96", + "0x34", + "0xfc", + "0x3", + "0xf9", + "0x41", + "0x53", + "0x90", + "0xd9", + "0x71", + "0xcf", + "0xc", + "0xde", + "0x19", + "0x5", + "0x92", + "0x50", + "0xe9", + "0xf", + "0x22", + "0x17", + "0x2a", + "0xec", + "0xb", + "0x91", + "0xdd", + "0x73", + "0xba", + "0x23", + "0xeb", + "0xc3", + "0x39", + "0x2", + "0xdb", + "0xb1", + "0x99", + "0xd1", + "0x26", + "0x44", + "0xbd", + "0xb", + "0xd4", + "0x8b", + "0x7c", + "0x55", + "0x79", + "0xf7", + "0xaf", + "0xc8", + "0x57", + "0x58", + "0xf2", + "0x50", + "0x1e", + "0x2", + "0x53", + "0xf5", + "0xef", + "0x3e", + "0x7b", + "0x13", + "0xeb", + "0xca", + "0xe", + "0x31", + "0xbd", + "0x1a", + "0xea", + "0x3e", + "0xb1", + "0x7e", + "0xc8", + "0xd6", + "0xa0", + "0x72", + "0x35", + "0x40", + "0x69", + "0x31", + "0x23", + "0xb8", + "0x52", + "0x43", + "0x8c", + "0x3f", + "0xda", + "0x2d", + "0x44", + "0x14", + "0xe8", + "0x46", + "0x3c", + "0x43", + "0xd5", + "0x16", + "0xfe", + "0x94", + "0x47", + "0x46", + "0x9", + "0x4c", + "0x1c", + "0x16", + "0x6e", + "0xbb", + "0xec", + "0xa2", + "0xfa", + "0x85", + "0x1f", + "0x5e", + "0xdc", + "0xe9", + "0xbd", + "0x3d", + "0x69", + "0x19", + "0x17", + "0xa2", + "0xe9", + "0x5a", + "0xa1", + "0xfe", + "0xaa", + "0x7b", + "0x7d", + "0xfa", + "0x53", + "0xd5", + "0xc6", + "0x6" + ], + "padding": 5 + }, + "hashCount": 13, + "insertionCount": 1000, + "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "bits": { + "bitmap": [ + "0x9f", + "0xed", + "0xfa", + "0xa9", + "0xfe", + "0x14", + "0x81", + "0x65", + "0xcb", + "0xc5", + "0x16", + "0x9b", + "0x1f", + "0xa", + "0xb0", + "0xbd", + "0xaf", + "0x23", + "0xa5", + "0x79", + "0x59", + "0xef", + "0x27", + "0xdd", + "0xa", + "0x34", + "0x4d", + "0xc0", + "0x74", + "0x39", + "0x30", + "0x19", + "0xa0", + "0x73", + "0x7e", + "0x6d", + "0x18", + "0xd5", + "0x85", + "0xbd", + "0x38", + "0x2b", + "0x5b", + "0x27", + "0xe6", + "0xce", + "0x7b", + "0xb3", + "0xd6", + "0x3d", + "0x30", + "0x31", + "0xa6", + "0xc7", + "0xdb", + "0xda", + "0x51", + "0xf3", + "0x83", + "0x23", + "0x8d", + "0x61", + "0xa0", + "0x3", + "0x12", + "0xe1", + "0xd", + "0x75", + "0x37", + "0x77", + "0x26", + "0x13", + "0x63", + "0x9d", + "0x39", + "0xf3", + "0x5d", + "0xbe", + "0x5", + "0x84", + "0xce", + "0xe4", + "0x65", + "0xc4", + "0x3", + "0x21", + "0xa8", + "0x51", + "0x98", + "0x5c", + "0x6", + "0x55", + "0x19", + "0x3c", + "0xaf", + "0x91", + "0x2", + "0xa4", + "0x99", + "0xfb", + "0xd7", + "0xb7", + "0xab", + "0xd1", + "0xb1", + "0xa6", + "0x6a", + "0x1e", + "0xb3", + "0xfe", + "0x22", + "0x9", + "0xbc", + "0x49", + "0x15", + "0xce", + "0x5e", + "0x7b", + "0xd", + "0x3e", + "0xf7", + "0x9b", + "0xf9", + "0x67", + "0x48", + "0x79", + "0x7e", + "0xf9", + "0x45", + "0xd9", + "0x8f", + "0x62", + "0x44", + "0x10", + "0xee", + "0xd8", + "0xf5", + "0x82", + "0xd6", + "0x95", + "0x46", + "0xb9", + "0xcf", + "0xe3", + "0xdd", + "0x6f", + "0xb7", + "0xe3", + "0xee", + "0x48", + "0xc0", + "0xfb", + "0x43", + "0x2c", + "0xf6", + "0xed", + "0x7e", + "0xf6", + "0x21", + "0x9e", + "0x88", + "0x53", + "0x7d", + "0x73", + "0xf4", + "0xda", + "0xfb", + "0x1f", + "0xdb", + "0xfe", + "0xfb", + "0x62", + "0xa1", + "0x2d", + "0x7e", + "0x63", + "0x15", + "0x15", + "0xf2", + "0xc", + "0x64", + "0x9e", + "0x5e", + "0xee", + "0xe2", + "0xce", + "0x3", + "0xea", + "0xdc", + "0x99", + "0x0", + "0xb9", + "0x7c", + "0x57", + "0xf1", + "0x8e", + "0xe6", + "0xc9", + "0x7c", + "0xa4", + "0x79", + "0x47", + "0xe4", + "0x73", + "0xc3", + "0xf5", + "0x16", + "0x77", + "0x41", + "0x20", + "0xde", + "0x8", + "0xbe", + "0x14", + "0x25", + "0x8", + "0x93", + "0xf5", + "0x94", + "0x3f", + "0x9f", + "0x77", + "0xf1", + "0x1e", + "0x2d", + "0x3c", + "0x7d", + "0xdf", + "0x9e", + "0xbb", + "0x50", + "0x8d", + "0xc9", + "0x6f", + "0xb1", + "0x98", + "0x6d", + "0x8f", + "0x97", + "0x5a", + "0x93", + "0xb5", + "0x96", + "0xc3", + "0x53", + "0xe1", + "0xe1", + "0x91", + "0x5d", + "0x24", + "0x4d", + "0x97", + "0x74", + "0x50", + "0x47", + "0xd4", + "0x94", + "0xaf", + "0x82", + "0x2", + "0x39", + "0xb4", + "0x52", + "0x87", + "0xe5", + "0x65", + "0x1e", + "0x20", + "0x19", + "0x47", + "0x62", + "0x3f", + "0x95", + "0xdc", + "0x7a", + "0x26", + "0x43", + "0x68", + "0x3", + "0xaf", + "0x3", + "0x17", + "0x1a", + "0xc2", + "0x9", + "0xa2", + "0x47", + "0x30", + "0x42", + "0x2d", + "0x6a", + "0x4d", + "0x48", + "0xc4", + "0xa", + "0x7c", + "0x18", + "0x1a", + "0x53", + "0xa5", + "0xfc", + "0x54", + "0x63", + "0x65", + "0x8", + "0x3b", + "0x87", + "0x74", + "0x28", + "0x4a", + "0x4c", + "0xb1", + "0x80", + "0x19", + "0xe9", + "0xeb", + "0xe", + "0xd7", + "0x2a", + "0xdb", + "0x5c", + "0xfc", + "0x42", + "0x5f", + "0xfb", + "0x6e", + "0xfd", + "0x58", + "0xb9", + "0x2f", + "0x9b", + "0xa2", + "0xbf", + "0xb1", + "0x3b", + "0x90", + "0x88", + "0x5b", + "0xe", + "0x1a", + "0xa7", + "0x50", + "0x43", + "0xe7", + "0x3a", + "0xa2", + "0xcb", + "0xbd", + "0x4b", + "0x32", + "0x2", + "0x9f", + "0xb4", + "0x6d", + "0xbb", + "0x8f", + "0x91", + "0xce", + "0x67", + "0xf1", + "0x80", + "0x2c", + "0x75", + "0x8b", + "0x6a", + "0xd7", + "0xd4", + "0xeb", + "0xd5", + "0xb7", + "0xe0", + "0xcb", + "0x59", + "0xaf", + "0x3f", + "0x2b", + "0x94", + "0xe5", + "0x2e", + "0xf5", + "0x4c", + "0xec", + "0x6a", + "0x97", + "0x88", + "0x77", + "0x9a", + "0x2e", + "0xeb", + "0xe4", + "0x6b", + "0x3e", + "0x2e", + "0x47", + "0xbe", + "0x78", + "0x4f", + "0x52", + "0x2e", + "0xae", + "0x9f", + "0x3f", + "0x3e", + "0xcd", + "0xb2", + "0x25", + "0xd5", + "0xd8", + "0x1c", + "0xbc", + "0x86", + "0x9d", + "0xd2", + "0x5a", + "0xfb", + "0xb0", + "0xc9", + "0xd4", + "0x13", + "0xec", + "0x18", + "0xaf", + "0x19", + "0x61", + "0xb6", + "0x5", + "0x37", + "0xb8", + "0xc6", + "0x6a", + "0x61", + "0xc5", + "0xf5", + "0xd7", + "0xbe", + "0xdc", + "0xaf", + "0xec", + "0xca", + "0x9d", + "0x6b", + "0x68", + "0x39", + "0x6d", + "0xb0", + "0xd5", + "0x31", + "0x50", + "0x60", + "0x1a", + "0x30", + "0x18", + "0x21", + "0x2b", + "0x59", + "0xc8", + "0x44", + "0x3b", + "0x47", + "0x2d", + "0x21", + "0xc1", + "0xb5", + "0x59", + "0x2e", + "0xc6", + "0xf5", + "0x24", + "0x3f", + "0x78", + "0x95", + "0x22", + "0x49", + "0xba", + "0xa4", + "0x4a", + "0x74", + "0x2b", + "0xfd", + "0xa7", + "0xa5", + "0x85", + "0x4", + "0x2", + "0xc6", + "0xd8", + "0x56", + "0x4b", + "0xa0", + "0xe0", + "0x8b", + "0xfb", + "0xaa", + "0x19", + "0xcb", + "0x4c", + "0x6c", + "0xc", + "0x51", + "0x73", + "0xf7", + "0xa6", + "0x24", + "0xcc", + "0xc9", + "0x22", + "0xcb", + "0xa1", + "0x9f", + "0x5b", + "0x19", + "0x8d", + "0x24", + "0xd7", + "0x71", + "0x4c", + "0x5f", + "0xb8", + "0x7f", + "0xb3", + "0xbf", + "0x5d", + "0x24", + "0x37", + "0x8", + "0x21", + "0xfe", + "0x1f", + "0x47", + "0xd4", + "0xb4", + "0x48", + "0xde", + "0x9f", + "0x59", + "0x72", + "0x9d", + "0x64", + "0xe0", + "0x4b", + "0x17", + "0x3c", + "0x97", + "0x19", + "0xcc", + "0x5b", + "0xf", + "0xea", + "0x34", + "0xa3", + "0x73", + "0x4e", + "0xfd", + "0x43", + "0x99", + "0xe", + "0x9", + "0x93", + "0x7a", + "0xdd", + "0xa8", + "0xaf", + "0xca", + "0xef", + "0x8a", + "0x9a", + "0xf8", + "0xb4", + "0x60", + "0xf2", + "0x1a", + "0x5b", + "0x94", + "0x9d", + "0x6d", + "0x68", + "0xfd", + "0xf5", + "0x8f", + "0x94", + "0x6b", + "0xc4", + "0x22", + "0x8f", + "0xfb", + "0x12", + "0x9e", + "0x9a", + "0xbc", + "0x6c", + "0xb0", + "0xee", + "0x38", + "0xa5", + "0x2c", + "0xa6", + "0x22", + "0xba", + "0x70", + "0x0" + ], + "padding": 7 + }, + "hashCount": 7, + "insertionCount": 1000, + "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "bits": { + "bitmap": [ + "0xc5", + "0xd4", + "0x1c", + "0x67", + "0xc3", + "0x4e", + "0x32", + "0x3b", + "0xdd", + "0x25", + "0x6c", + "0xc0", + "0xfd", + "0x64", + "0xae", + "0x58", + "0x2d", + "0xf6", + "0x6", + "0x3d", + "0xf6", + "0xac", + "0x88", + "0xec", + "0x7d", + "0x10", + "0xf5", + "0xb9", + "0x50", + "0x6c", + "0xe7", + "0x59", + "0xf6", + "0x7d", + "0xe3", + "0x96", + "0x9b", + "0xd", + "0x4d", + "0x54", + "0xbd", + "0x76", + "0x82", + "0x42", + "0x76", + "0xfc", + "0x4e", + "0x9a", + "0x58", + "0xbc", + "0x67", + "0x7e", + "0x8d", + "0x3b", + "0x18", + "0x10", + "0xcf", + "0xa", + "0x40", + "0x9d", + "0x26", + "0x15", + "0x66", + "0xaa", + "0x65", + "0xf3", + "0x22", + "0xaa", + "0x40", + "0x1d", + "0xb4", + "0xf1", + "0xd1", + "0x64", + "0xdc", + "0xee", + "0xbf", + "0xba", + "0xc9", + "0xb2", + "0x67", + "0x1e", + "0x22", + "0x58", + "0xa2", + "0x7b", + "0xf8", + "0x56", + "0xfb", + "0x5e", + "0xdc", + "0x40", + "0x6e", + "0xff", + "0xe3", + "0x5d", + "0xf5", + "0x14", + "0xa9", + "0xd2", + "0x58", + "0xb2", + "0xfc", + "0x5c", + "0x56", + "0xe3", + "0x97", + "0x63", + "0x81", + "0x9", + "0x55", + "0xa8", + "0xab", + "0x58", + "0x8c", + "0xad", + "0x1c", + "0xcb", + "0xcc", + "0x8d", + "0x3f", + "0x64", + "0x0", + "0x35", + "0x46", + "0x21", + "0x1e", + "0xd4", + "0x51", + "0x1e", + "0xe", + "0xe7", + "0xd5", + "0x10", + "0xbf", + "0x9e", + "0xcc", + "0xde", + "0xe6", + "0x82", + "0xd4", + "0xb1", + "0x83", + "0x82", + "0x92", + "0x33", + "0xf", + "0x15", + "0x94", + "0x25", + "0x18", + "0x5c", + "0x91", + "0x75", + "0x75", + "0xe8", + "0x1b", + "0xdd", + "0x1", + "0xd0", + "0x87", + "0x8f", + "0xc7", + "0x7e", + "0xb5", + "0xb4", + "0xb5", + "0xd8", + "0x20", + "0x35", + "0x1c", + "0x4a", + "0x24", + "0xc", + "0x5a", + "0xf", + "0xf1", + "0xb", + "0xd4", + "0xe7", + "0x4a", + "0x24", + "0x35", + "0x88", + "0x6e", + "0x37", + "0xd3", + "0xce", + "0x7d", + "0x80", + "0x25", + "0xc6", + "0x98", + "0xdd", + "0x27", + "0x9f", + "0xe1", + "0xd0", + "0xa1", + "0x9b", + "0xde", + "0x19", + "0x87", + "0x9a", + "0x13", + "0xd1", + "0x83", + "0x16", + "0x6a", + "0x81", + "0x41", + "0x1d", + "0xcb", + "0x85", + "0x92", + "0x81", + "0x86", + "0x89", + "0xd1", + "0x65", + "0x20", + "0xe5", + "0x5f", + "0xfc", + "0xa8", + "0xda", + "0x1a", + "0x66", + "0x3e", + "0xd0", + "0xda", + "0xc5", + "0x8c", + "0x27", + "0x56", + "0x7b", + "0x84", + "0x18", + "0x5e", + "0x61", + "0xce", + "0xd5", + "0xc3", + "0x57", + "0x61", + "0x5e", + "0x4c", + "0x51", + "0x95", + "0x88", + "0x68", + "0x2a", + "0xbf", + "0x67", + "0x0", + "0xcf", + "0xc0", + "0x26", + "0x93", + "0xb0", + "0x1f", + "0x78", + "0xd6", + "0xb2", + "0x17", + "0x59", + "0x32", + "0x9c", + "0x90", + "0xd8", + "0x6b", + "0x5f", + "0xd2", + "0xb7", + "0x29", + "0xe0", + "0xfa", + "0xd5", + "0xa2", + "0x7a", + "0xa", + "0xff", + "0x81", + "0x98", + "0xb1", + "0x37", + "0x46", + "0x5b", + "0x48", + "0xac", + "0x5d", + "0xe2", + "0x9f", + "0xd8", + "0x17", + "0xfa", + "0xe1", + "0x44", + "0xa4", + "0xce", + "0xb1", + "0x94", + "0xb5", + "0x57", + "0x8a", + "0x9c", + "0xc2", + "0x6e", + "0x76", + "0x4b", + "0x25", + "0xad", + "0x40", + "0x3d", + "0x9c", + "0xdf", + "0x9c", + "0x1b", + "0xfa", + "0x2e", + "0x43", + "0xd3", + "0xdd", + "0xf4", + "0x25", + "0x93", + "0xbd", + "0x88", + "0xba", + "0xce", + "0x18", + "0x26", + "0x36", + "0x6f", + "0xc8", + "0xc", + "0x87", + "0x29", + "0x39", + "0xee", + "0x60", + "0x7d", + "0x7f", + "0x9c", + "0xc4", + "0x93", + "0x3f", + "0x83", + "0x20", + "0x7a", + "0x48", + "0x5e", + "0x51", + "0x7e", + "0x95", + "0x53", + "0x75", + "0xb1", + "0x40", + "0x9", + "0x3a", + "0xeb", + "0x6", + "0xa8", + "0xf2", + "0x96", + "0x7f", + "0x6c", + "0x1b", + "0x48", + "0x62", + "0x18", + "0xc5", + "0xb4", + "0x63", + "0xba", + "0xfa", + "0x3e", + "0x62", + "0xe3", + "0xb8", + "0x6d", + "0xed", + "0x38", + "0x13", + "0x73", + "0x28", + "0xc9", + "0xf7", + "0x62", + "0x91", + "0x98", + "0x66", + "0xaf", + "0xe2", + "0xad", + "0x22", + "0xf1", + "0x77", + "0x64", + "0x15", + "0xa5", + "0xc9", + "0xac", + "0x4d", + "0x5d", + "0xa6", + "0x11", + "0xb5", + "0xfc", + "0x5", + "0x72", + "0xd6", + "0xf", + "0x5e", + "0xda", + "0x5", + "0x32", + "0x27", + "0xe8", + "0xe8", + "0x56", + "0xd3", + "0xf9", + "0xff", + "0x28", + "0x4", + "0x7", + "0x24", + "0x39", + "0x7b", + "0xea", + "0x32", + "0xea", + "0x77", + "0xbb", + "0x61", + "0xf9", + "0x7d", + "0x8c", + "0x0", + "0xf", + "0xc6", + "0xa8", + "0x39", + "0x4e", + "0x10", + "0x7a", + "0xe6", + "0x95", + "0x52", + "0xb6", + "0x93", + "0xba", + "0x5c", + "0x84", + "0xab", + "0x7b", + "0x48", + "0xe2", + "0x79", + "0xdb", + "0x23", + "0x9", + "0x89", + "0x9c", + "0x1d", + "0x6b", + "0x17", + "0x87", + "0x4f", + "0xf3", + "0x1c", + "0xf0", + "0x8f", + "0xa2", + "0x30", + "0x1a", + "0x4d", + "0xab", + "0xcf", + "0x5b", + "0x38", + "0x1", + "0x29", + "0x78", + "0x42", + "0x46", + "0x57", + "0x51", + "0x48", + "0xd9", + "0x88", + "0xdf", + "0x8", + "0xf7", + "0xf8", + "0x85", + "0xd1", + "0x6", + "0x22", + "0x8d", + "0x5d", + "0x9b", + "0x67", + "0xa7", + "0xe8", + "0xe3", + "0x34", + "0x84", + "0x53", + "0xe", + "0x75", + "0x40", + "0xa8", + "0xf9", + "0x2a", + "0x26", + "0x13", + "0x49", + "0x20", + "0x79", + "0xb2", + "0x44", + "0x47", + "0x15", + "0x6f", + "0x63", + "0x2c", + "0xe", + "0x0", + "0x24", + "0xa5", + "0x23", + "0x83", + "0x20", + "0xe6", + "0x95", + "0x84", + "0xe6", + "0xe4", + "0xe7", + "0x28", + "0xa2", + "0x4a", + "0xfd", + "0xa7", + "0x45", + "0x41", + "0x27", + "0xfa", + "0x77", + "0xca", + "0x8c", + "0x13", + "0x9b", + "0xbc", + "0x97", + "0x6f", + "0x91", + "0x43", + "0xb1", + "0xc9", + "0x1a", + "0xe2", + "0x3c", + "0x61", + "0x96", + "0x38", + "0x2e", + "0x8a", + "0x4f", + "0x60", + "0xd5", + "0x80", + "0x5c", + "0xe1", + "0x77", + "0x43", + "0xa7", + "0x4d", + "0x7d", + "0x9f", + "0x7", + "0x68", + "0x4a", + "0x72", + "0x7f", + "0x14", + "0x7e", + "0x11", + "0xd0", + "0xa9", + "0x74", + "0x12", + "0xcc", + "0x64", + "0x18", + "0x9e", + "0xf4", + "0xd5", + "0xf0", + "0xec", + "0xd8", + "0x69", + "0x7f", + "0xf1", + "0xce", + "0x18", + "0x2d", + "0xb7", + "0xf5", + "0xbb", + "0xa6", + "0xa0", + "0x68", + "0xe9", + "0x5b", + "0x42", + "0x95", + "0x66", + "0xe4", + "0x13", + "0x24", + "0xce", + "0x80", + "0x3c", + "0xfc", + "0xb4", + "0xd", + "0x9b", + "0xc", + "0x43", + "0xb0", + "0xb1", + "0x81", + "0x9d", + "0xc", + "0x14", + "0x69", + "0xc5", + "0x94", + "0xa3", + "0xc", + "0x18", + "0xe7", + "0x4", + "0x2", + "0x7", + "0x15", + "0xbf", + "0xcb", + "0x2e", + "0xe1", + "0x17", + "0xf4", + "0xe7", + "0x17", + "0x3b", + "0x32", + "0xb0", + "0x1", + "0xd3", + "0x17", + "0x18", + "0xa8", + "0x65", + "0xdd", + "0x86", + "0x1d", + "0xbb", + "0x77", + "0x2d", + "0x66", + "0xe5", + "0x7", + "0x62", + "0x9b", + "0x98", + "0x9a", + "0x95", + "0x34", + "0xb", + "0x2c", + "0xae", + "0x4d", + "0xf6", + "0xf3", + "0x87", + "0x3e", + "0x8d", + "0x12", + "0xd1", + "0x1a", + "0x2d", + "0x24", + "0xa", + "0xbf", + "0xa", + "0x72", + "0x25", + "0x33", + "0xb4", + "0x80", + "0x67", + "0x25", + "0xf6", + "0x8c", + "0x89", + "0x66", + "0xfe", + "0x89", + "0xf0", + "0xf9", + "0x8c", + "0xd0", + "0xc3", + "0x66", + "0x28", + "0x3b", + "0xe1", + "0xe4", + "0x57", + "0x88", + "0x11", + "0x8", + "0x70", + "0xc", + "0x8e", + "0xe6", + "0xc4", + "0x83", + "0xff", + "0x4e", + "0xa8", + "0x7f", + "0x91", + "0x45", + "0x7c", + "0xe2", + "0x15", + "0x9d", + "0x81", + "0x69", + "0x2d", + "0xe7", + "0x73", + "0x56", + "0x46", + "0xf", + "0x1c", + "0xc3", + "0xcd", + "0x5e", + "0xb2", + "0x3f", + "0xd2", + "0x21", + "0xbe", + "0xf0", + "0xf4", + "0x89", + "0xcf", + "0x84", + "0x33", + "0x1a", + "0x6a", + "0xe7", + "0xe8", + "0xf4", + "0x22", + "0xc3", + "0x73", + "0xa3", + "0xe8", + "0x14", + "0xe2", + "0x7a", + "0x46", + "0x3d", + "0x8b", + "0x84", + "0xf7", + "0x82", + "0x54", + "0x49", + "0x89", + "0x16", + "0x15", + "0xf", + "0x17", + "0x5a", + "0x81", + "0x64", + "0x79", + "0x3b", + "0xa1", + "0x1a", + "0x40", + "0xff", + "0xb7", + "0x65", + "0x20", + "0x6e", + "0x62", + "0xe9", + "0xa3", + "0x65", + "0xfa", + "0x45", + "0x17", + "0x8d", + "0x8b", + "0xd8", + "0x94", + "0xac", + "0x74", + "0xfb", + "0xc3", + "0x7d", + "0xd1", + "0x2e", + "0xe9", + "0x2f", + "0x70", + "0x53", + "0xda", + "0x4c", + "0xf4", + "0xf0", + "0xa9", + "0xa6", + "0xd9", + "0xc4", + "0xf9", + "0x5c", + "0x6c", + "0x97", + "0x7a", + "0x17", + "0x0", + "0xe1", + "0x7a", + "0xfd", + "0x47", + "0x7e", + "0xa4", + "0xec", + "0xb6", + "0x87", + "0x6d", + "0x2e", + "0xd2", + "0x45", + "0x58", + "0x4c", + "0xd1", + "0x96", + "0x42", + "0x67", + "0x8c", + "0xb7", + "0xa2", + "0x4a", + "0xc4", + "0x9", + "0xc2", + "0x31", + "0x72", + "0xa0", + "0xe3", + "0x41", + "0xc7", + "0x54", + "0x3c", + "0x8f", + "0x43", + "0x4", + "0x55", + "0x9e", + "0xb7", + "0x94", + "0x37", + "0x99", + "0x66", + "0xba", + "0x8b", + "0x74", + "0xbd", + "0x42", + "0x70", + "0x75", + "0x6b", + "0xcc", + "0xd7", + "0x24", + "0x5", + "0x53", + "0xcc", + "0xcd", + "0xf", + "0x85", + "0x94", + "0x59", + "0xb8", + "0xf", + "0xe8", + "0x19", + "0xdf", + "0xe7", + "0xc1", + "0x69", + "0x98", + "0xec", + "0x5", + "0x43", + "0xda", + "0x39", + "0xa1", + "0xd7", + "0x4", + "0x9c", + "0x7a", + "0x8a", + "0xca", + "0x7e", + "0x35", + "0xd1", + "0xed", + "0x46", + "0xc9", + "0x3e", + "0x81", + "0x6c", + "0xf6", + "0x6d", + "0x0", + "0xf6", + "0x78", + "0x81", + "0x25", + "0x3", + "0x8b", + "0xac", + "0xf1", + "0x5e", + "0xa", + "0x49", + "0x53", + "0xe2", + "0xc3", + "0xa", + "0xa5", + "0x35", + "0xd3", + "0x8c", + "0x8b", + "0x6b", + "0x36", + "0x70", + "0x20", + "0x98", + "0x4e", + "0xd6", + "0xa2", + "0x3", + "0x64", + "0x20", + "0x1d", + "0xbe", + "0xba", + "0xdf", + "0x51", + "0x36", + "0x78", + "0x16", + "0x61", + "0x1", + "0xbb", + "0xdb", + "0x40", + "0x7a", + "0x95", + "0x5b", + "0xab", + "0xf0", + "0x57", + "0xf0", + "0xad", + "0x52", + "0x70", + "0xdf", + "0xea", + "0x56", + "0xa2", + "0x66", + "0x52", + "0x72", + "0x19", + "0xc2", + "0xfd", + "0xb6", + "0x2", + "0xb2", + "0x60", + "0x6", + "0xf5", + "0x44", + "0x73", + "0xe5", + "0x9f", + "0x21", + "0xb6", + "0x5b", + "0x6c", + "0xb4", + "0xc6", + "0xfc", + "0x23", + "0xb1", + "0x49", + "0x89", + "0xeb", + "0xbd", + "0xf0", + "0xa9", + "0x2", + "0x5a", + "0xea", + "0xba", + "0xf0", + "0xb7", + "0x77", + "0xf5", + "0x40", + "0x9", + "0xd3", + "0x2c", + "0xe4", + "0x9c", + "0x8", + "0x2d", + "0x26", + "0x89", + "0xa0", + "0x66", + "0x86", + "0x61", + "0x26", + "0x1e", + "0xbc", + "0xc2", + "0xa1", + "0xf", + "0x29", + "0xff", + "0xd3", + "0x52", + "0x98", + "0xf9", + "0x13", + "0x95", + "0xeb", + "0x36", + "0x9d", + "0x4", + "0xca", + "0x42", + "0xee", + "0x8", + "0x3e", + "0xee", + "0x28", + "0x8f", + "0x94", + "0x91", + "0xc4", + "0xd6", + "0xef", + "0xfa", + "0x10", + "0xcd", + "0x31", + "0x7e", + "0xe1", + "0xf9", + "0xea", + "0x22", + "0x3d", + "0xbb", + "0x90", + "0x1a", + "0x87", + "0xd", + "0xe1", + "0x4", + "0x2e", + "0xb2", + "0x9", + "0x7a", + "0x95", + "0xc6", + "0xc6", + "0x8d", + "0xb", + "0x79", + "0x5b", + "0xd6", + "0x76", + "0xa1", + "0xcf", + "0xf4", + "0x3b", + "0xe7", + "0xa", + "0x57", + "0x1f", + "0x14", + "0x66", + "0x54", + "0x31", + "0x24", + "0x7d", + "0x5e", + "0x81", + "0x9", + "0x9c", + "0xb5", + "0x36", + "0x89", + "0x76", + "0x9b", + "0x63", + "0xf4", + "0xbc", + "0x20", + "0x35", + "0xb4", + "0xcc", + "0xc6", + "0x82", + "0x4a", + "0xa8", + "0x95", + "0x4", + "0xdf", + "0x73", + "0x4f", + "0xf2", + "0x30", + "0x9d", + "0x3b", + "0x59", + "0x57", + "0x62", + "0xca", + "0x60", + "0xda", + "0xad", + "0xb", + "0xf0", + "0x51", + "0xf9", + "0xbf", + "0x52", + "0x1a", + "0x0", + "0x1d", + "0xfb", + "0x1d", + "0xdc", + "0x2", + "0x82", + "0x86", + "0x4f", + "0xc9", + "0xca", + "0x47", + "0xfc", + "0xf5", + "0x6d", + "0xe8", + "0x32", + "0x25", + "0x46", + "0xb", + "0xbd", + "0xe5", + "0x43", + "0xb6", + "0x47", + "0x54", + "0xc3", + "0x8f", + "0xc", + "0xb8", + "0x44", + "0x41", + "0xef", + "0x7", + "0x47", + "0xf6", + "0xef", + "0xba", + "0xb0", + "0x91", + "0xf", + "0xb3", + "0x8b", + "0xd9", + "0x3c", + "0x45", + "0x14", + "0x32", + "0x34", + "0xab", + "0x57", + "0x31", + "0x83", + "0x8a", + "0xfe", + "0x62", + "0x9e", + "0x9f", + "0x64", + "0x21", + "0x2c", + "0xc2", + "0x85", + "0x1e", + "0x2b", + "0xbe", + "0x7a", + "0x7", + "0xd", + "0xf2", + "0xe", + "0x6e", + "0x15", + "0x80", + "0x4", + "0xf", + "0xef", + "0x62", + "0xe8", + "0x3b", + "0xd3", + "0xfc", + "0xe4", + "0xcb", + "0x67", + "0x12", + "0x80", + "0x4a", + "0x77", + "0x15", + "0x5b", + "0x4", + "0x40", + "0x44", + "0x1e", + "0x9d", + "0xe3", + "0xa", + "0xf", + "0xab", + "0x1d", + "0x1b", + "0xf1", + "0xc8", + "0x61", + "0xb0", + "0x42", + "0xec", + "0xf8", + "0xb3", + "0xee", + "0xa7", + "0xdd", + "0xe7", + "0xe0", + "0x87", + "0x9f", + "0xe0", + "0xbd", + "0xd8", + "0xbe", + "0x46", + "0xf4", + "0xc7", + "0x16", + "0xa9", + "0x77", + "0x46", + "0xc8", + "0x65", + "0x8c", + "0x5", + "0x4e", + "0x23", + "0x6e", + "0x8c", + "0x95", + "0x6f", + "0xf7", + "0x32", + "0xeb", + "0x53", + "0xa4", + "0xbf", + "0x15", + "0xd8", + "0x86", + "0x8b", + "0xc7", + "0xbc", + "0x72", + "0x53", + "0x69", + "0x8c", + "0x6", + "0xc6", + "0xa0", + "0x8", + "0x60", + "0x4", + "0x1e", + "0x1f", + "0x3c", + "0xd8", + "0xed", + "0xe1", + "0x86", + "0x4e", + "0xb1", + "0x5a", + "0x4e", + "0xd9", + "0x7f", + "0xfd", + "0xba", + "0x20", + "0x1a", + "0x2f", + "0x61", + "0x7f", + "0x80", + "0x59", + "0x4b", + "0xdd", + "0xdb", + "0x21", + "0x75", + "0xc8", + "0x34", + "0x9f", + "0xe6", + "0x6", + "0xfd", + "0x29", + "0xbe", + "0x22", + "0x78", + "0x15", + "0x2f", + "0x48", + "0x16", + "0xfd", + "0x10", + "0x46", + "0xfb", + "0xf1", + "0x73", + "0x87", + "0x9e", + "0x56", + "0xb8", + "0x76", + "0x1", + "0x53", + "0x56", + "0xde", + "0x39", + "0xfa", + "0x6e", + "0xe9", + "0x49", + "0xce", + "0x40", + "0x3b", + "0x12", + "0x54", + "0x25", + "0xd2", + "0x5", + "0xf", + "0xbf", + "0xa0", + "0xbf", + "0xb3", + "0xab", + "0x3b", + "0xe2", + "0x12", + "0x26", + "0x4a", + "0xeb", + "0xa0", + "0x1b", + "0x87", + "0xaf", + "0xf4", + "0x18", + "0xb9", + "0xcb", + "0x7", + "0xce", + "0xf4", + "0x21", + "0x9f", + "0x36", + "0xa3", + "0xfa", + "0x4a", + "0x5a", + "0x54", + "0x51", + "0x66", + "0x4b", + "0x1b", + "0x40", + "0x60", + "0xe9", + "0x4d", + "0x5f", + "0x12", + "0xaf", + "0xee", + "0x97", + "0xa4", + "0x7", + "0xa9", + "0x50", + "0xd1", + "0x1f", + "0x61", + "0x9c", + "0x65", + "0xa8", + "0x80", + "0x11", + "0x8f", + "0x77", + "0xd0", + "0xa8", + "0x1e", + "0xf4", + "0x9f", + "0x17", + "0x2c", + "0x53", + "0x7e", + "0x54", + "0xf5", + "0x5b", + "0x1e", + "0xa4", + "0x69", + "0x42", + "0x1", + "0x65", + "0xb0", + "0xc4", + "0x1d", + "0xc7", + "0x7f", + "0x88", + "0x3c", + "0xdf", + "0x2c", + "0xae", + "0xf5", + "0x63", + "0x9e", + "0x7d", + "0x30", + "0x7f", + "0x0", + "0xe8", + "0x80", + "0xa0", + "0x75", + "0x40", + "0x7", + "0x8d", + "0xb8", + "0x79", + "0x16", + "0x58", + "0x21", + "0x2b", + "0xe4", + "0x67", + "0xdf", + "0x16", + "0xf4", + "0xd8", + "0xa7", + "0x67", + "0xb5", + "0x76", + "0xac", + "0xe5", + "0x58", + "0xf3", + "0x61", + "0x42", + "0xe0", + "0xe0", + "0x3a", + "0xd5", + "0x66", + "0x95", + "0x47", + "0x6d", + "0x4e", + "0x19", + "0xc6", + "0x61", + "0x28", + "0xe8", + "0x49", + "0x37", + "0x83", + "0x70", + "0x23", + "0x4a", + "0xcf", + "0x2d", + "0xf0", + "0x97", + "0xf5", + "0xda", + "0x68", + "0x45", + "0x7d", + "0xc9", + "0xa2", + "0x1", + "0x74", + "0xec", + "0x5d", + "0xb4", + "0x31", + "0x6", + "0x38", + "0x55", + "0xa1", + "0x4c", + "0xd4", + "0xa0", + "0xfb", + "0x29", + "0xb7", + "0xac", + "0x31", + "0xb7", + "0xa4", + "0x19", + "0x67", + "0xd5", + "0xac", + "0xf6", + "0x4d", + "0x2f", + "0x14", + "0xb", + "0x7", + "0xa5", + "0x1d", + "0x45", + "0xc9", + "0xa1", + "0x9c", + "0xd8", + "0xbb", + "0x93", + "0xd5", + "0x3b", + "0xb6", + "0xe1", + "0xba", + "0xa", + "0xd6", + "0xae", + "0xd3", + "0xcc", + "0x15", + "0x56", + "0x75", + "0x7d", + "0xca", + "0x96", + "0x28", + "0x7c", + "0x96", + "0x34", + "0x33", + "0x23", + "0x8c", + "0x22", + "0xda", + "0x32", + "0xdd", + "0x9b", + "0xff", + "0xa0", + "0x86", + "0x3d", + "0xdc", + "0xd8", + "0x55", + "0x17", + "0x82", + "0xbd", + "0xb3", + "0xce", + "0x73", + "0x48", + "0x2a", + "0xec", + "0xe7", + "0xec", + "0x2f", + "0xd6", + "0x36", + "0xab", + "0x1a", + "0x2a", + "0x60", + "0x5e", + "0xcd", + "0x3c", + "0xee", + "0xab", + "0xce", + "0x1d", + "0xb9", + "0xbc", + "0x7d", + "0xac", + "0x7c", + "0x11", + "0x23", + "0x7f", + "0x3e", + "0x85", + "0x50", + "0x8", + "0x47", + "0x25", + "0x76", + "0x8a", + "0x2b", + "0x97", + "0xf0", + "0x87", + "0x18", + "0xbe", + "0xdb", + "0x94", + "0xe9", + "0xc4", + "0xac", + "0x11", + "0x68", + "0xba", + "0xc7", + "0xd0", + "0x41", + "0x25", + "0x34", + "0xb4", + "0x64", + "0x87", + "0x52", + "0x72", + "0x7d", + "0xa", + "0x20", + "0xb", + "0xef", + "0x56", + "0xb7", + "0x75", + "0x14", + "0x97", + "0xaa", + "0x4d", + "0x9b", + "0x30", + "0xef", + "0x73", + "0x7d", + "0x64", + "0xf", + "0xa9", + "0x28", + "0xc2", + "0x56", + "0xd", + "0x29", + "0x5e", + "0x47", + "0x4f", + "0x2", + "0x36", + "0x34", + "0x6a", + "0xf", + "0x3d", + "0xff", + "0xb7", + "0x8b", + "0x63", + "0x88", + "0x51", + "0x87", + "0x25", + "0x80", + "0x70", + "0x12", + "0x5d", + "0xc4", + "0xb5", + "0xea", + "0xcf", + "0x48", + "0x9d", + "0x94", + "0xb", + "0x6e", + "0x1f", + "0x92", + "0x59", + "0x82", + "0x72", + "0xfc", + "0x3a", + "0xa1", + "0x4b", + "0x8d", + "0xab", + "0x12", + "0x9c", + "0xca", + "0x4a", + "0x2a", + "0xa8", + "0xe9", + "0xbe", + "0xe3", + "0xba", + "0x29", + "0x24", + "0xbd", + "0x22", + "0x9c", + "0x19", + "0x5e", + "0x17", + "0x97", + "0x94", + "0xc2", + "0x98", + "0x64", + "0xc1", + "0xcf", + "0xff", + "0x5c", + "0x99", + "0xd5", + "0x7", + "0x3c", + "0xa0", + "0x7", + "0x51", + "0xa6", + "0x6", + "0x15", + "0x3b", + "0xbf", + "0x84", + "0x25", + "0x75", + "0xc2", + "0xf3", + "0xd8", + "0x8a", + "0x9b", + "0xbc", + "0x14", + "0xc1", + "0xc", + "0xdd", + "0x47", + "0x11", + "0x87", + "0x98", + "0xdb", + "0x21", + "0x73", + "0x9", + "0xae", + "0x12", + "0x11", + "0x5c", + "0x59", + "0x91", + "0x6a", + "0x31", + "0x3d", + "0x56", + "0x2", + "0x49", + "0xba", + "0x73", + "0x6", + "0xe5", + "0xd9", + "0x24", + "0x88", + "0xc3", + "0x89", + "0xb7", + "0x7", + "0xa7", + "0x5b", + "0xf8", + "0xa8", + "0x3", + "0x58", + "0x7c", + "0x5f", + "0x74", + "0x7f", + "0x54", + "0xed", + "0x76", + "0x92", + "0x8e", + "0x2a", + "0xbc", + "0xce", + "0xc2", + "0xae", + "0x2d", + "0x2a", + "0x2e", + "0x58", + "0x16", + "0x0", + "0x40", + "0x21", + "0x9c", + "0x7c", + "0x78", + "0x4f", + "0xd5", + "0x64", + "0x97", + "0x0", + "0x85", + "0x87", + "0xc4", + "0x32", + "0x3d", + "0x44", + "0x8", + "0xb8", + "0x44", + "0xfb", + "0x30", + "0x27", + "0x40", + "0x35", + "0xd4", + "0xbd", + "0x99", + "0xe0", + "0x77", + "0x35", + "0x83", + "0xa4", + "0x2c", + "0x0", + "0x28", + "0x45", + "0x35", + "0x42", + "0xfd", + "0xa6", + "0x1", + "0xe0", + "0xe9", + "0x6f", + "0xbe", + "0x2b", + "0x9", + "0xfb", + "0xd7", + "0x63", + "0xa6", + "0xfd", + "0x42", + "0xa8", + "0x20", + "0xcd", + "0x7e", + "0xc7", + "0x9b", + "0xa", + "0xca", + "0xc3", + "0x42", + "0xe7", + "0x2d", + "0x33", + "0xbd", + "0x91", + "0xd5", + "0x17", + "0x5b", + "0x98", + "0x8d", + "0xc4", + "0x8b", + "0x39", + "0x66", + "0x16", + "0xa", + "0xc6", + "0x5c", + "0xe8", + "0x87", + "0xc5", + "0x86", + "0x9", + "0x2e", + "0x33", + "0xdd", + "0xc7", + "0x4c", + "0x61", + "0x72", + "0xb9", + "0x92", + "0xd", + "0xde", + "0xcc", + "0x3c", + "0xea", + "0x4e", + "0x43", + "0xa8", + "0xe8", + "0x8b", + "0x1c", + "0x81", + "0x33", + "0xda", + "0xea", + "0xe4", + "0xb8", + "0xf0", + "0xd9", + "0x6e", + "0xa7", + "0x3d", + "0xe0", + "0x37", + "0x9d", + "0x8f", + "0x55", + "0xf6", + "0xf9", + "0x1e", + "0x6b", + "0xaa", + "0xc9", + "0x1b", + "0x4f", + "0xf7", + "0x9d", + "0xf6", + "0x30", + "0x6", + "0xc2", + "0x90", + "0xa4", + "0xee", + "0x30", + "0x8f", + "0xeb", + "0x47", + "0xa3", + "0xd", + "0xb8", + "0x3b", + "0x77", + "0x27", + "0x37", + "0xa1", + "0x83", + "0x74", + "0x54", + "0x18", + "0xa2", + "0x20", + "0x92", + "0xe6", + "0x3a", + "0x6e", + "0x23", + "0x67", + "0x4", + "0x11", + "0x8d", + "0x8d", + "0x63", + "0x50", + "0x76", + "0x8d", + "0x73", + "0x86", + "0xbc", + "0x28", + "0xcd", + "0x43", + "0x12", + "0xef", + "0xef", + "0x4e", + "0x8e", + "0xa4", + "0x98", + "0xce", + "0x6d", + "0x2e", + "0xc8", + "0x30", + "0x2d", + "0x88", + "0xbb", + "0xb8", + "0x84", + "0x26", + "0x15", + "0xfa", + "0x68", + "0x4c", + "0xe8", + "0xd", + "0x62", + "0x60", + "0x32", + "0xa2", + "0xa5", + "0x33", + "0x5d", + "0x8c", + "0x73", + "0x10", + "0x94", + "0xdd", + "0x57", + "0x2c", + "0xe0", + "0x15", + "0x17", + "0x5c", + "0xa0", + "0xb1", + "0xb8", + "0xe", + "0x5b", + "0x6d", + "0xfb", + "0xf8", + "0xce", + "0x28", + "0x2a", + "0x68", + "0xe", + "0x89", + "0xe7", + "0x37", + "0xb4", + "0x88", + "0x79", + "0x71", + "0x0", + "0x24", + "0xc9", + "0x9", + "0x40", + "0xee", + "0x46", + "0x6e", + "0xc9", + "0xd9", + "0xee", + "0x1b", + "0xea", + "0x5d", + "0x98", + "0x20", + "0xa8", + "0xf0", + "0xb9", + "0x82", + "0xc9", + "0x6b", + "0x7", + "0xf2", + "0x8b", + "0x38", + "0xae", + "0x2c", + "0x55", + "0x62", + "0x5d", + "0x3", + "0x81", + "0xd6", + "0xbb", + "0xff", + "0xf2", + "0x10", + "0xd7", + "0xa1", + "0x89", + "0x3f", + "0xe6", + "0xd1", + "0x77", + "0x72", + "0x78", + "0x17", + "0x7a", + "0x2e", + "0x5c", + "0xc6", + "0x50", + "0x44", + "0xad", + "0x1e", + "0x76", + "0xab", + "0x84", + "0xc3", + "0xc5", + "0x35", + "0x37", + "0xba", + "0xbf", + "0x50", + "0xb1", + "0x72", + "0x9e", + "0xf0", + "0x6d", + "0xea", + "0x79", + "0x3c", + "0x1", + "0xa7", + "0x3e", + "0xa1", + "0x24", + "0xa6", + "0x5e", + "0x69", + "0x90", + "0x2e", + "0x27", + "0x94", + "0x61", + "0xee", + "0xd5", + "0x27", + "0x99", + "0xb6", + "0x15", + "0xda", + "0xea", + "0x71", + "0xff", + "0x28", + "0x8", + "0x18", + "0x6f", + "0x9", + "0x4", + "0xec", + "0xf5", + "0x4d", + "0x4e", + "0xbe", + "0xcb", + "0xa4", + "0xd9", + "0x0", + "0xe0", + "0xd7", + "0xd3", + "0x82", + "0x55", + "0x7b", + "0x2b", + "0xa1", + "0x38", + "0x65", + "0x18", + "0x2f", + "0x9a", + "0xb5", + "0x24", + "0xaf", + "0xb0", + "0x54", + "0xd", + "0x84", + "0x41", + "0xfb", + "0xfb", + "0xf", + "0x69", + "0x66", + "0xdf", + "0x2a", + "0x79", + "0x3b", + "0x2", + "0x4f", + "0x43", + "0x46", + "0x38", + "0xdf", + "0x3e", + "0xb1", + "0xa5", + "0x5b", + "0x69", + "0x7c", + "0x80", + "0x64", + "0xd0", + "0x75", + "0x54", + "0x44", + "0xc6", + "0xac", + "0xf2", + "0x8a", + "0x8c", + "0x2d", + "0xdb", + "0x7f", + "0x34", + "0xbc", + "0x6a", + "0x69", + "0x6a", + "0xb3", + "0x6e", + "0x17", + "0xfe", + "0xf2", + "0x2e", + "0x20", + "0xa6", + "0x3e", + "0xb9", + "0xd2", + "0x2b", + "0xbd", + "0x3a", + "0x41", + "0x8e", + "0x59", + "0xd8", + "0x32", + "0x65", + "0xe8", + "0xd4", + "0x5f", + "0xf7", + "0x4d", + "0x95", + "0x25", + "0xf8", + "0x5c", + "0x63", + "0x71", + "0xea", + "0x6a", + "0x8d", + "0x8", + "0xfe", + "0x96", + "0x92", + "0xdf", + "0x68", + "0x70", + "0xc2", + "0x1a", + "0xc", + "0xba", + "0xe6", + "0xa2", + "0x60", + "0x5b", + "0x40", + "0x3e", + "0x91", + "0xb5", + "0xdc", + "0xd7", + "0x6b", + "0x69", + "0x3", + "0xab", + "0x73", + "0xca", + "0x3a", + "0x17", + "0x52", + "0xb3", + "0x55", + "0x36", + "0x37", + "0xdf", + "0xb6", + "0x5e", + "0x46", + "0x90", + "0x83", + "0xa9", + "0xb0", + "0xfa", + "0xb3", + "0xc9", + "0xf0", + "0xcd", + "0x42", + "0xe7", + "0xf6", + "0x16", + "0x38", + "0x22", + "0x6", + "0x38", + "0x8e", + "0x9d", + "0xdd", + "0xa3", + "0x8a", + "0xb6", + "0xcd", + "0xc6", + "0xd8", + "0xf0", + "0x2b", + "0xf4", + "0xa9", + "0xe9", + "0xf9", + "0xe9", + "0x68", + "0xd6", + "0xe9", + "0x32", + "0xab", + "0xeb", + "0x61", + "0x9e", + "0xe0", + "0x0", + "0x82", + "0x4", + "0x48", + "0x9a", + "0x25", + "0x26", + "0x5d", + "0xa7", + "0x18", + "0x0", + "0x68", + "0x6a", + "0xa0", + "0x9d", + "0x5b", + "0x5a", + "0x40", + "0x23", + "0xc3", + "0xd2", + "0x79", + "0xb9", + "0x75", + "0x74", + "0x9a", + "0x20", + "0x1a", + "0x62", + "0x8b", + "0x0", + "0xaa", + "0xe4", + "0x8e", + "0xbb", + "0xa6", + "0x9d", + "0x42", + "0xec", + "0xb2", + "0x67", + "0x71", + "0xe1", + "0x1", + "0x41", + "0xcf", + "0xb9", + "0xbe", + "0x84", + "0x5b", + "0x79", + "0x2", + "0x2", + "0x6e", + "0x89", + "0x89", + "0x98", + "0x8a", + "0xbe", + "0x2f", + "0x41", + "0x60", + "0x20", + "0x41", + "0x2d", + "0x13", + "0xeb", + "0x17", + "0x60", + "0xce", + "0x64", + "0x91", + "0x35", + "0x0", + "0x4f", + "0x4", + "0xc5", + "0xe7", + "0x2b", + "0xc8", + "0xd5", + "0x8a", + "0x81", + "0x1a", + "0x67", + "0xe7", + "0x84", + "0xd3", + "0x30", + "0x37", + "0x75", + "0xfd", + "0xbe", + "0x35", + "0xd", + "0xe6", + "0x9", + "0xc2", + "0x9a", + "0x54", + "0xc2", + "0x86", + "0x98", + "0xef", + "0x34", + "0x15", + "0x7a", + "0xc4", + "0xe9", + "0xfe", + "0xb3", + "0xf4", + "0xad", + "0xf0", + "0xe6", + "0x87", + "0x3d", + "0xb", + "0x8", + "0xac", + "0xf5", + "0x31", + "0xe", + "0x0", + "0x57", + "0x73", + "0x1", + "0x8f", + "0x88", + "0x91", + "0x8b", + "0x3e", + "0x1f", + "0xc9", + "0x84", + "0x1d", + "0xc", + "0x15", + "0x48", + "0x70", + "0xd0", + "0x75", + "0xfa", + "0x34", + "0xf9", + "0x15", + "0x7c", + "0xab", + "0x9d", + "0x69", + "0x12", + "0x80", + "0x79", + "0xe8", + "0xec", + "0xca", + "0x3d", + "0xe7", + "0x46", + "0x9f", + "0x52", + "0xe2", + "0x4d", + "0xfc", + "0xd5", + "0x54", + "0xb1", + "0x62", + "0x45", + "0x4b", + "0xb", + "0xf3", + "0xdd", + "0xad", + "0x2b", + "0xd7", + "0xae", + "0x92", + "0xd0", + "0xe7", + "0x9d", + "0x9e", + "0xb2", + "0xe6", + "0xc0", + "0xcb", + "0x36", + "0x9e", + "0xac", + "0xd2", + "0xc9", + "0x83", + "0x39", + "0x13", + "0xaa", + "0x42", + "0xe2", + "0xf2", + "0xf9", + "0x1e", + "0x15", + "0x7b", + "0x21", + "0x4c", + "0xd4", + "0xed", + "0x19", + "0xb8", + "0x48", + "0xe3", + "0x12", + "0x3b", + "0x50", + "0xd", + "0x9d", + "0xc8", + "0xa1", + "0xbc", + "0xcc", + "0xf4", + "0xe3", + "0x66", + "0x9f", + "0x3f", + "0x21", + "0x1f", + "0xba", + "0x8f", + "0x53", + "0xf1", + "0xd8", + "0x26", + "0xae", + "0xc9", + "0x81", + "0xb9", + "0xdd", + "0x61", + "0xb4", + "0x9f", + "0x46", + "0x9b", + "0x9d", + "0xaa", + "0x3e", + "0x6e", + "0x0", + "0x2c", + "0xb2", + "0xb3", + "0x50", + "0xc3", + "0xe4", + "0xa4", + "0x62", + "0x52", + "0xf2", + "0xcd", + "0x59", + "0x1a", + "0x74", + "0x67", + "0x3a", + "0x82", + "0x6c", + "0x7c", + "0xe4", + "0x9e", + "0x31", + "0xd9", + "0x6e", + "0xf6", + "0xba", + "0xab", + "0xce", + "0x49", + "0xff", + "0x35", + "0x94", + "0x5f", + "0x70", + "0x67", + "0x4e", + "0x5", + "0xbc", + "0x5d", + "0xb0", + "0xcb", + "0x82", + "0x95", + "0xd3", + "0xa2", + "0x35", + "0x84", + "0x2a", + "0x4b", + "0xf", + "0x3b", + "0xd", + "0xb3", + "0xbb", + "0x7", + "0x14", + "0x46", + "0xab", + "0x18", + "0x39", + "0x6f", + "0x87", + "0xa7", + "0x61", + "0x25", + "0x60", + "0x98", + "0xc1", + "0x39", + "0x30", + "0xe3", + "0x10", + "0x38", + "0x47", + "0xb", + "0xb4", + "0xef", + "0x97", + "0x7e", + "0x99", + "0xb4", + "0xb0", + "0xdd", + "0x7", + "0x83", + "0x70", + "0xe", + "0x32", + "0x66", + "0x77", + "0x15", + "0xce", + "0x5c", + "0x94", + "0x72", + "0xff", + "0xac", + "0xbb", + "0xc5", + "0xe0", + "0xe1", + "0x4e", + "0x22", + "0x9a", + "0x2b", + "0x27", + "0x85", + "0x33", + "0x2c", + "0x5", + "0x52", + "0xf5", + "0x60", + "0xb3", + "0x81", + "0x44", + "0xa0", + "0x29", + "0xcd", + "0xba", + "0x11", + "0x8e", + "0xa5", + "0xc1", + "0x54", + "0x7b", + "0x49", + "0x47", + "0xb9", + "0x83", + "0x38", + "0xb6", + "0x9e", + "0x8a", + "0x82", + "0x7c", + "0x96", + "0x90", + "0xe5", + "0x88", + "0xee", + "0xea", + "0xad", + "0x4b", + "0x5b", + "0x97", + "0x99", + "0x84", + "0xc9", + "0x1", + "0x3a", + "0x2d", + "0x39", + "0x76", + "0xa6", + "0xc7", + "0x8c", + "0xbd", + "0xe", + "0x47", + "0x97", + "0x60", + "0x33", + "0xd", + "0xc6", + "0x5e", + "0xd0", + "0xb1", + "0x14", + "0x84", + "0x2b", + "0x7e", + "0x79", + "0x1", + "0x5c", + "0x20", + "0xeb", + "0xe8", + "0x8c", + "0x8", + "0x4a", + "0xa1", + "0xce", + "0x4e", + "0x82", + "0xe6", + "0xca", + "0xfa", + "0xad", + "0x53", + "0xa0", + "0x75", + "0xea", + "0x4", + "0x88", + "0x7d", + "0x9", + "0x12", + "0x1e", + "0xb", + "0x9d", + "0x1d", + "0xd2", + "0x6d", + "0xfa", + "0xd5", + "0xf5", + "0x76", + "0x5", + "0xf4", + "0x1d", + "0x3f", + "0x6", + "0x67", + "0x87", + "0xaa", + "0x49", + "0x7d", + "0x43", + "0x9", + "0xac", + "0xd0", + "0xd6", + "0x4e", + "0xbb", + "0x15", + "0xe2", + "0x20", + "0x46", + "0x9a", + "0x94", + "0xf", + "0xb", + "0x6b", + "0xe3", + "0x48", + "0xb9", + "0x48", + "0x64", + "0x23", + "0x73", + "0xa8", + "0x1d", + "0xe3", + "0x5e", + "0x6c", + "0x9", + "0x1c", + "0xa1", + "0x80", + "0xc8", + "0xfd", + "0x27", + "0xcf", + "0x65", + "0x9f", + "0x44", + "0x38", + "0x61", + "0xc1", + "0xad", + "0x6a", + "0x7d", + "0xa7", + "0xf8", + "0x5e", + "0xaa", + "0xb1", + "0x18", + "0xe2", + "0xfe", + "0x13", + "0x3c", + "0xeb", + "0xe3", + "0x91", + "0x7a", + "0x6e", + "0x5e", + "0x68", + "0x1a", + "0xb2", + "0xf3", + "0x2e", + "0xc7", + "0x30", + "0x1d", + "0x94", + "0xd0", + "0xec", + "0xac", + "0x4d", + "0xe0", + "0xfd", + "0x5e", + "0xa5", + "0xb4", + "0x97", + "0x5e", + "0x3f", + "0xe2", + "0x80", + "0xa6", + "0xd2", + "0x11", + "0x51", + "0x78", + "0x3a", + "0x74", + "0xf3", + "0x9", + "0xdb", + "0xd5", + "0x6b", + "0xe8", + "0xf4", + "0x61", + "0x72", + "0x86", + "0xa1", + "0x3f", + "0xc3", + "0x24", + "0x78", + "0x18", + "0xc1", + "0x8", + "0x45", + "0x1e", + "0x8", + "0x96", + "0xe", + "0xc0", + "0x9", + "0x5b", + "0xa7", + "0x91", + "0x3e", + "0x64", + "0xf0", + "0x5e", + "0x3d", + "0xdb", + "0x9c", + "0x87", + "0x88", + "0x8f", + "0x53", + "0x49", + "0x1f", + "0x6d", + "0x66", + "0x48", + "0x3b", + "0x13", + "0x56", + "0xe1", + "0x60", + "0xca", + "0xbe", + "0x13", + "0x9c", + "0x1d", + "0xf3", + "0xf0", + "0x4e", + "0xcd", + "0x71", + "0x7f", + "0x3c", + "0x93", + "0x3f", + "0x7b", + "0x7", + "0x23", + "0x96", + "0xed", + "0x6f", + "0xac", + "0xf0", + "0x4a", + "0x91", + "0x9c", + "0x27", + "0xd3", + "0xd0", + "0x6f", + "0x1e", + "0xe0", + "0x2c", + "0xd9", + "0x37", + "0xa4", + "0xc7", + "0xbe", + "0x4", + "0x2a", + "0x16", + "0x5c", + "0xb0", + "0x6d", + "0x1c", + "0xed", + "0x2b", + "0xd9", + "0x34", + "0xf5", + "0x3f", + "0x86", + "0x9", + "0x4b", + "0x14", + "0x89", + "0xd2", + "0x26", + "0xe", + "0xf", + "0x38", + "0xd5", + "0xe3", + "0x72", + "0xd1", + "0x48", + "0x3e", + "0x13", + "0xb9", + "0xc", + "0x29", + "0x2a", + "0xac", + "0xec", + "0x70", + "0x87", + "0x64", + "0xa6", + "0x7f", + "0x2b", + "0x9a", + "0xaa", + "0xe4", + "0xe2", + "0x6", + "0x1b", + "0x14", + "0x7", + "0x17", + "0xfd", + "0x17", + "0xfe", + "0x39", + "0xf4", + "0x0", + "0xa5", + "0x8d", + "0xb2", + "0x11", + "0xbd", + "0xbd", + "0xd2", + "0x91", + "0x10", + "0x35", + "0xe4", + "0xc6", + "0x9b", + "0xf7", + "0x50", + "0x6a", + "0xe1", + "0x2a", + "0xce", + "0xa", + "0xe5", + "0x28", + "0x8b", + "0x15", + "0x7", + "0xa8", + "0x3d", + "0x37", + "0x14", + "0x0", + "0x2b", + "0x94", + "0x94", + "0x76", + "0xe3", + "0xfd", + "0xa8", + "0x2f", + "0x42", + "0xa6", + "0x92", + "0xf6", + "0x48", + "0x47", + "0x89", + "0x80", + "0xa2", + "0xb9", + "0xe2", + "0x46", + "0xb6", + "0xa1", + "0x60", + "0xe2", + "0xd2", + "0xf3", + "0x2e", + "0xbc", + "0x9b", + "0xc1", + "0xa6", + "0x36", + "0x89", + "0xf4", + "0xb", + "0x87", + "0xbf", + "0xa0", + "0x7f", + "0x36", + "0x87", + "0xed", + "0x6c", + "0xdd", + "0x10", + "0x6f", + "0xfe", + "0xed", + "0x4a", + "0x79", + "0x5", + "0x1", + "0x7b", + "0x27", + "0x7f", + "0x75", + "0xe6", + "0x9", + "0x29", + "0x8b", + "0x8e", + "0x2b", + "0xa3", + "0x6c", + "0x40", + "0xe4", + "0xbb", + "0xee", + "0xb7", + "0x78", + "0x61", + "0x35", + "0x90", + "0x44", + "0x2f", + "0x11", + "0xa8", + "0x4", + "0xb1", + "0x2a", + "0x92", + "0x92", + "0xd5", + "0x4f", + "0x9a", + "0x61", + "0xec", + "0x6a", + "0x6e", + "0x2b", + "0x5d", + "0xfd", + "0xd5", + "0x19", + "0x34", + "0x79", + "0x18", + "0xb4", + "0xaa", + "0xa8", + "0xc7", + "0x56", + "0x7", + "0x34", + "0xd7", + "0x33", + "0x83", + "0xd4", + "0x2b", + "0x2e", + "0x6e", + "0xd8", + "0x37", + "0x80", + "0xa9", + "0xbe", + "0x6c", + "0x2d", + "0x81", + "0x8f", + "0xcb", + "0x75", + "0x6d", + "0xca", + "0xdb", + "0x9a", + "0x4e", + "0x45", + "0xd5", + "0x2", + "0x12", + "0x7a", + "0x23", + "0x6f", + "0xc0", + "0x6c", + "0x2e", + "0xb7", + "0x5a", + "0xfe", + "0xa2", + "0x6b", + "0x1f", + "0xa3", + "0xf1", + "0x57", + "0x99", + "0x3a", + "0x15", + "0x10", + "0x6a", + "0x5", + "0x2a", + "0x8", + "0x7f", + "0x86", + "0x8e", + "0x68", + "0x83", + "0x4c", + "0x8c", + "0xde", + "0x4c", + "0x7b", + "0x9", + "0xe1", + "0xed", + "0xa", + "0xf2", + "0xe3", + "0x57", + "0x64", + "0xcb", + "0x7f", + "0x6c", + "0x65", + "0x51", + "0x50", + "0x92", + "0xce", + "0x9d", + "0xbe", + "0x18", + "0x58", + "0x53", + "0xf2", + "0x2c", + "0x49", + "0xcb", + "0x61", + "0xdb", + "0x85", + "0x3e", + "0x74", + "0x5e", + "0x90", + "0x5e", + "0xb9", + "0x71", + "0xfb", + "0xb0", + "0x4d", + "0xb6", + "0xc7", + "0x11", + "0x40", + "0x20", + "0xaf", + "0xd6", + "0x5e", + "0xce", + "0x2", + "0xa4", + "0x3", + "0x28", + "0x2", + "0x8c", + "0x5f", + "0x6d", + "0x22", + "0x26", + "0x26", + "0x76", + "0xac", + "0xc4", + "0xa7", + "0xee", + "0xa3", + "0x89", + "0xc5", + "0xbd", + "0x63", + "0x84", + "0xf3", + "0x25", + "0xbe", + "0xad", + "0x7", + "0x1b", + "0x31", + "0x2a", + "0x3a", + "0x9e", + "0xd5", + "0x80", + "0x18", + "0x85", + "0xb1", + "0x7", + "0xc0", + "0x78", + "0x50", + "0x94", + "0x6d", + "0x28", + "0x43", + "0xc1", + "0x5d", + "0x29", + "0x40", + "0x76", + "0x15", + "0x63", + "0xee", + "0xd6", + "0xec", + "0x8b", + "0xf9", + "0x3b", + "0x61", + "0xb7", + "0x53", + "0x28", + "0xbe", + "0x11", + "0x2c", + "0xa4", + "0x36", + "0xd8", + "0x69", + "0x39", + "0x8a", + "0x50", + "0xab", + "0x63", + "0xc0", + "0x96", + "0x4d", + "0xde", + "0x80", + "0x6f", + "0xcd", + "0xaf", + "0x14", + "0x51", + "0x76", + "0xe2", + "0x2d", + "0xa3", + "0x44", + "0x43", + "0x3f", + "0xde", + "0xfb", + "0x1c", + "0xca", + "0x24", + "0x62", + "0x3b", + "0x70", + "0xc4", + "0x85", + "0xd8", + "0x85", + "0xee", + "0x70", + "0xe4", + "0xd9", + "0xd0", + "0xb7", + "0xd3", + "0x67", + "0xe1", + "0x12", + "0xad", + "0x46", + "0x40", + "0xae", + "0xd1", + "0xf5", + "0x1d", + "0xf3", + "0x4e", + "0xcf", + "0x9b", + "0xd6", + "0xbd", + "0x71", + "0x95", + "0x62", + "0xd3", + "0xef", + "0xa8", + "0xf5", + "0xdb", + "0xdd", + "0x35", + "0x43", + "0xd5", + "0xe6", + "0x70", + "0x57", + "0x14", + "0x5a", + "0x3f", + "0x7e", + "0xec", + "0xb", + "0x75", + "0xd1", + "0x3a", + "0x64", + "0x3a", + "0xc2", + "0x3e", + "0xa8", + "0x10", + "0x16", + "0x8f", + "0xc8", + "0x60", + "0x9d", + "0x0", + "0x76", + "0x69", + "0x6", + "0x39", + "0x89", + "0xef", + "0x77", + "0xb0", + "0xdc", + "0x58", + "0xff", + "0xcf", + "0xfc", + "0x58", + "0xd4", + "0x30", + "0x93", + "0x93", + "0xd5", + "0xa0", + "0xd4", + "0xeb", + "0xce", + "0x53", + "0x99", + "0xc8", + "0x94", + "0xa9", + "0xc0", + "0x2b", + "0xb8", + "0x38", + "0xdf", + "0xa7", + "0xc", + "0x68", + "0xe3", + "0xd2", + "0xcf", + "0xa6", + "0xc1", + "0xea", + "0xbc", + "0x17", + "0x3d", + "0x57", + "0xca", + "0xff", + "0x47", + "0xd0", + "0xa9", + "0x6f", + "0x75", + "0x85", + "0x7a", + "0x7a", + "0x2c", + "0xe5", + "0xbd", + "0xfc", + "0x97", + "0xbf", + "0xaa", + "0x86", + "0x38", + "0x52", + "0xbd", + "0x7a", + "0x2e", + "0x4", + "0xa9", + "0x43", + "0x41", + "0x91", + "0x90", + "0x9", + "0xb6", + "0xda", + "0xd1", + "0x63", + "0xf5", + "0xb6", + "0x99", + "0x5f", + "0x9d", + "0xd8", + "0xec", + "0x15", + "0xa8", + "0xf4", + "0x61", + "0x96", + "0xbb", + "0xea", + "0xc6", + "0x58", + "0x6f", + "0xd7", + "0xd8", + "0x25", + "0x2a", + "0xe7", + "0x3", + "0x9c", + "0xec", + "0xa7", + "0xd2", + "0x26", + "0x35", + "0xd", + "0x48", + "0x44", + "0xfd", + "0xf7", + "0x11", + "0xea", + "0x7c", + "0x3c", + "0x81", + "0x5e", + "0xb0", + "0x9b", + "0xf6", + "0x90", + "0xce", + "0x35", + "0x97", + "0xf2", + "0x73", + "0x49", + "0xfc", + "0x3d", + "0xcb", + "0xe7", + "0x49", + "0x21", + "0x2d", + "0x5f", + "0xd6", + "0xee", + "0xf4", + "0xeb", + "0xb9", + "0x7c", + "0xe5", + "0x68", + "0xe4", + "0xd8", + "0xed", + "0xf7", + "0xa9", + "0x51", + "0x36", + "0x29", + "0x6", + "0x8d", + "0xed", + "0xa3", + "0xe8", + "0xaf", + "0x4", + "0x1c", + "0x15", + "0xa7", + "0xbe", + "0xa2", + "0xb0", + "0x8d", + "0xcc", + "0xbf", + "0xe8", + "0x89", + "0x4d", + "0x41", + "0xc7", + "0x23", + "0x85", + "0xd6", + "0x36", + "0x15", + "0xc0", + "0x2c", + "0x3", + "0x3e", + "0x38", + "0x11", + "0xcc", + "0x3e", + "0x28", + "0x33", + "0xc7", + "0x2e", + "0x98", + "0xcd", + "0x92", + "0x5a", + "0xb0", + "0x96", + "0xde", + "0x92", + "0x4", + "0xd7", + "0xba", + "0xe9", + "0x10", + "0x1d", + "0xd7", + "0xc1", + "0xdd", + "0xf6", + "0x8e", + "0x9", + "0xc1", + "0xa3", + "0x71", + "0xe4", + "0xc1", + "0xa5", + "0xce", + "0x19", + "0x6", + "0xaf", + "0x52", + "0x49", + "0xfc", + "0x68", + "0xec", + "0x96", + "0xa7", + "0xa0", + "0x4b", + "0x64", + "0x1d", + "0xe0", + "0x68", + "0x86", + "0x23", + "0x58", + "0x93", + "0xf5", + "0xbe", + "0x78", + "0x1f", + "0xf8", + "0x4c", + "0x1e", + "0x68", + "0x23", + "0xa2", + "0x83", + "0xda", + "0x4", + "0xc2", + "0x24", + "0xa2", + "0x9c", + "0xe", + "0x2e", + "0x3d", + "0xfd", + "0x2c", + "0x96", + "0xeb", + "0xe1", + "0x1f", + "0x73", + "0xe5", + "0xa2", + "0xc7", + "0x3b", + "0xa1", + "0x4c", + "0x98", + "0xf0", + "0xde", + "0x20", + "0xf7", + "0xdc", + "0xde", + "0x17", + "0x8d", + "0xb3", + "0xc", + "0x1a", + "0x70", + "0x93", + "0xbd", + "0x66", + "0xf", + "0x4e", + "0x30", + "0xe3", + "0xbe", + "0x47", + "0xe0", + "0x0", + "0xe7", + "0x62", + "0x17", + "0x1b", + "0x20", + "0xff", + "0x41", + "0xb8", + "0x75", + "0x1f", + "0x74", + "0x4e", + "0xa9", + "0xac", + "0x4d", + "0xd5", + "0x5f", + "0x67", + "0x4c", + "0x1d", + "0x48", + "0xf0", + "0x4c", + "0x2e", + "0xe0", + "0x77", + "0x3f", + "0xcf", + "0x82", + "0xfa", + "0x2d", + "0x8b", + "0xcf", + "0xe4", + "0x1d", + "0xb3", + "0x40", + "0xb9", + "0x91", + "0xc9", + "0x11", + "0x25", + "0xa8", + "0x19", + "0x1b", + "0x81", + "0xe3", + "0x35", + "0x15", + "0x48", + "0x90", + "0x28", + "0xd9", + "0xd0", + "0xb0", + "0x5f", + "0x4", + "0x14", + "0x55", + "0x46", + "0x7", + "0x2e", + "0x8b", + "0x9e", + "0x2d", + "0x2d", + "0xae", + "0x1d", + "0xbc", + "0xd6", + "0x7b", + "0xb3", + "0xd0", + "0x79", + "0xc", + "0xed", + "0xbf", + "0x48", + "0xad", + "0x75", + "0x63", + "0x52", + "0x61", + "0xaf", + "0x2", + "0x78", + "0x1c", + "0x7f", + "0x3c", + "0x62", + "0xfc", + "0x9d", + "0x36", + "0x40", + "0x5b", + "0x5a", + "0xea", + "0x21", + "0x41", + "0xd0", + "0xba", + "0xfc", + "0x32", + "0x29", + "0x36", + "0x27", + "0xd3", + "0x2d", + "0x92", + "0xa3", + "0xef", + "0x50", + "0x6e", + "0x13", + "0xf8", + "0x5b", + "0x92", + "0x4e", + "0x69", + "0xdd", + "0x51", + "0xaf", + "0x53", + "0xd0", + "0xc1", + "0xa9", + "0x7", + "0x92", + "0x5a", + "0x76", + "0x59", + "0x20", + "0x3a", + "0x19", + "0x93", + "0x63", + "0xc5", + "0x14", + "0x77", + "0xa9", + "0x71", + "0xe7", + "0xe6", + "0x1c", + "0xd0", + "0xf6", + "0xe7", + "0x52", + "0xfa", + "0x7f", + "0xcc", + "0x80", + "0x70", + "0x65", + "0xb", + "0xce", + "0xb", + "0x72", + "0x42", + "0x86", + "0x8d", + "0x6b", + "0x5", + "0x9", + "0x48", + "0x35", + "0x4b", + "0x8", + "0x5c", + "0xff", + "0x52", + "0xd", + "0xb4", + "0x36", + "0xe9", + "0x26", + "0x9", + "0x54", + "0xb9", + "0x42", + "0xed", + "0x63", + "0xa1", + "0xa0", + "0x68", + "0xf0", + "0x77", + "0x2e", + "0x30", + "0x49", + "0x80", + "0x88", + "0x65", + "0x8e", + "0x2", + "0x47", + "0xfa", + "0x1a", + "0x4e", + "0x77", + "0x39", + "0x57", + "0x29", + "0x82", + "0x18", + "0xea", + "0xe2", + "0xd1", + "0x94", + "0x75", + "0xe", + "0xa9", + "0xc5", + "0xc7", + "0xd6", + "0x7f", + "0x92", + "0x85", + "0x57", + "0x61", + "0xc0", + "0x5f", + "0x24", + "0xd7", + "0x5d", + "0x76", + "0x52", + "0x51", + "0xd5", + "0x60", + "0x5b", + "0x85", + "0x43", + "0x82", + "0x71", + "0xf5", + "0x3f", + "0x1d", + "0xc8", + "0x90", + "0xbf", + "0x3a", + "0x4", + "0x47", + "0xac", + "0x5a", + "0x8a", + "0x39", + "0xb3", + "0x96", + "0x55", + "0x42", + "0x17", + "0x2c", + "0x61", + "0x9e", + "0x15", + "0x9c", + "0x32", + "0xd0", + "0x6e", + "0x56", + "0x2c", + "0x89", + "0xa4", + "0x60", + "0x55", + "0x45", + "0x80", + "0x63", + "0xea", + "0x48", + "0xad", + "0x8e", + "0x30", + "0x4f", + "0x2e", + "0xfa", + "0x2", + "0x28", + "0x1a", + "0x18", + "0xae", + "0x7d", + "0x15", + "0xc2", + "0x30", + "0x8f", + "0x51", + "0xc0", + "0x36", + "0x25", + "0x9", + "0x4b", + "0x97", + "0xaf", + "0x91", + "0x3e", + "0xa9", + "0xe0", + "0xdb", + "0xb7", + "0xcb", + "0x76", + "0x17", + "0xd2", + "0x44", + "0x77", + "0x14", + "0xbf", + "0xfc", + "0xcd", + "0xc6", + "0x2e", + "0xdf", + "0x65", + "0xc4", + "0xd", + "0xed", + "0x97", + "0xa9", + "0xd1", + "0xf7", + "0x4d", + "0xf8", + "0xa5", + "0x60", + "0x82", + "0x3f", + "0xad", + "0x14", + "0xd5", + "0x1d", + "0x58", + "0xbf", + "0x1a", + "0x1", + "0xa", + "0xb3", + "0x43", + "0x21", + "0xe6", + "0x3c", + "0x19", + "0xcd", + "0x78", + "0x52", + "0x5d", + "0x9f", + "0xed", + "0x75", + "0x39", + "0xce", + "0x15", + "0xd8", + "0x9b", + "0xa8", + "0xd", + "0x50", + "0x44", + "0xa7", + "0x28", + "0xc5", + "0xa", + "0x46", + "0x8c", + "0x3", + "0xa1", + "0x7d", + "0xaa", + "0xc5", + "0xd7", + "0xfd", + "0x14", + "0x24", + "0x74", + "0x18", + "0x93", + "0xf8", + "0x9", + "0xd6", + "0x76", + "0xcb", + "0x31", + "0xda", + "0x44", + "0xf0", + "0x72", + "0x6a", + "0xdd", + "0x6d", + "0x86", + "0xdc", + "0x82", + "0x37", + "0x96", + "0xa5", + "0xf8", + "0x12", + "0xa6", + "0xab", + "0x93", + "0xd9", + "0x2b", + "0x57", + "0xb3", + "0x7", + "0x1b", + "0xcb", + "0xb8", + "0xb7", + "0x17", + "0xd8", + "0xac", + "0x9a", + "0xe4", + "0xc", + "0x35", + "0x4c", + "0x48", + "0x10", + "0x84", + "0x18", + "0x71", + "0xca", + "0x5f", + "0x3a", + "0xd4", + "0xed", + "0x2f", + "0xd7", + "0xf7", + "0x5e", + "0x2b", + "0xd8", + "0x81", + "0xf8", + "0xe7", + "0x56", + "0x69", + "0x29", + "0xe9", + "0xbc", + "0x8", + "0x61", + "0xf7", + "0x2e", + "0x2d", + "0xd3", + "0x73", + "0x8c", + "0x39", + "0x5c", + "0xf3", + "0xda", + "0x74", + "0x82", + "0x23", + "0xb7", + "0x54", + "0xbc", + "0x6e", + "0x7d", + "0xba", + "0x22", + "0x85", + "0x5d", + "0xed", + "0xca", + "0xd8", + "0x5b", + "0x9", + "0xd", + "0xed", + "0x7b", + "0xd5", + "0xa1", + "0x7a", + "0xbc", + "0xb0", + "0x61", + "0xc2", + "0xfd", + "0x64", + "0xe1", + "0xc1", + "0xf4", + "0x40", + "0x9f", + "0xda", + "0xef", + "0x7a", + "0x1d", + "0x76", + "0xc1", + "0x4a", + "0x42", + "0x22", + "0xd9", + "0x2a", + "0x9a", + "0x8f", + "0x82", + "0x12", + "0x98", + "0xbd", + "0x1f", + "0xe4", + "0xa1", + "0x4d", + "0xd3", + "0xb9", + "0x1", + "0x2f", + "0x28", + "0x2", + "0xb6", + "0x6a", + "0xa3", + "0xcd", + "0x1a", + "0xf6", + "0xd2", + "0x5b", + "0xa7", + "0xd1", + "0x7b", + "0x44", + "0x30", + "0xe6", + "0xa8", + "0x96", + "0xf2", + "0xe3", + "0x6c", + "0x7d", + "0xa2", + "0xe4", + "0x56", + "0x73", + "0x36", + "0xd2", + "0xfe", + "0x19", + "0xc5", + "0x21", + "0x55", + "0x16", + "0xc6", + "0x87", + "0x9a", + "0xbc", + "0xd7", + "0x42", + "0x8b", + "0xa4", + "0x1a", + "0xdb", + "0x85", + "0x7d", + "0x3d", + "0xa5", + "0xd2", + "0xda", + "0x39", + "0xd", + "0x10", + "0x80", + "0xa8", + "0x76", + "0xc", + "0x8b", + "0xcc", + "0x49", + "0xe0", + "0xda", + "0x98", + "0xf1", + "0x8", + "0xef", + "0x9a", + "0x26", + "0x34", + "0x13", + "0x6b", + "0x1c", + "0x50", + "0xe0", + "0xe7", + "0x18", + "0x3d", + "0xde", + "0xf6", + "0x45", + "0x14", + "0x57", + "0x73", + "0x1a", + "0x87", + "0x4b", + "0x4e", + "0x9d", + "0x4d", + "0x2e", + "0xe8", + "0x82", + "0x47", + "0x5a", + "0x6b", + "0xb3", + "0xc3", + "0xae", + "0xdc", + "0x11", + "0x1", + "0x58", + "0xfc", + "0x73", + "0x5d", + "0xcd", + "0x92", + "0xbd", + "0x19", + "0xe3", + "0x3d", + "0xe7", + "0xb4", + "0x8d", + "0x53", + "0xf5", + "0x32", + "0x57", + "0xfd", + "0x52", + "0x67", + "0x36", + "0x85", + "0x7c", + "0x45", + "0xa1", + "0xd", + "0xd0", + "0x57", + "0x6e", + "0x77", + "0x8f", + "0xe6", + "0x69", + "0xc6", + "0x2e", + "0x4b", + "0x52", + "0x85", + "0xab", + "0xf0", + "0x36", + "0x66", + "0xe4", + "0xbe", + "0xb6", + "0xed", + "0x8c", + "0x9e", + "0x2b", + "0xcf", + "0xa0", + "0x9a", + "0x1a", + "0x24", + "0x74", + "0x74", + "0x59", + "0xb2", + "0xa8", + "0x14", + "0xa1", + "0xa5", + "0x1c", + "0x53", + "0x8c", + "0x62", + "0x92", + "0x8c", + "0x8a", + "0xd4", + "0xaa", + "0x77", + "0x2e", + "0x97", + "0xd8", + "0xa7", + "0x2", + "0xc9", + "0xde", + "0xc6", + "0xa2", + "0x55", + "0xe2", + "0x67", + "0x83", + "0xd7", + "0x3e", + "0x80", + "0xe6", + "0xd7", + "0xcd", + "0xc6", + "0x4e", + "0x38", + "0x80", + "0x7f", + "0x20", + "0xef", + "0xe2", + "0x94", + "0xa5", + "0x46", + "0x9a", + "0xc9", + "0x7b", + "0x5", + "0xf1", + "0x56", + "0x3", + "0xe7", + "0x25", + "0x83", + "0x9f", + "0x21", + "0x34", + "0x9a", + "0x6a", + "0xe3", + "0x41", + "0x43", + "0xc2", + "0x33", + "0x75", + "0xcc", + "0xcc", + "0xae", + "0xde", + "0x15", + "0x62", + "0x7b", + "0xd8", + "0x88", + "0x8f", + "0x86", + "0xe9", + "0xda", + "0x37", + "0xcb", + "0x64", + "0x34", + "0x12", + "0xac", + "0x8d", + "0xb1", + "0x86", + "0x29", + "0x17", + "0x4", + "0x74", + "0xe5", + "0x9f", + "0xf6", + "0x95", + "0x92", + "0xe5", + "0xeb", + "0xf5", + "0x4d", + "0x95", + "0xed", + "0xc8", + "0x7a", + "0x45", + "0xc4", + "0x17", + "0x7f", + "0x9d", + "0x2b", + "0x38", + "0xf1", + "0x5e", + "0x14", + "0xf", + "0xf0", + "0xe9", + "0xe9", + "0x60", + "0xbc", + "0x85", + "0x46", + "0xcd", + "0x23", + "0xe6", + "0x2f", + "0x72", + "0xbd", + "0xdd", + "0xcc", + "0xcd", + "0x42", + "0x41", + "0xe5", + "0x27", + "0x1", + "0x34", + "0xa8", + "0xc1", + "0x91", + "0x1", + "0xc4", + "0x36", + "0x3b", + "0x7e", + "0x24", + "0x7c", + "0x63", + "0x9b", + "0x84", + "0x35", + "0x6e", + "0xf6", + "0xcd", + "0x99", + "0x5", + "0x5a", + "0x82", + "0x53", + "0x23", + "0x42", + "0xd1", + "0xe5", + "0x5c", + "0x97", + "0x65", + "0x3f", + "0xbb", + "0x19", + "0xd6", + "0xc2", + "0x10", + "0x6a", + "0xa4", + "0x92", + "0x9c", + "0x24", + "0x3f", + "0x1d", + "0x6e", + "0x12", + "0x6f", + "0xf4", + "0x96", + "0xa", + "0xb0", + "0xec", + "0x16", + "0x8d", + "0xf8", + "0xc1", + "0xe", + "0x11", + "0x7a", + "0xc7", + "0x3d", + "0x23", + "0xd2", + "0x4", + "0xf", + "0x2b", + "0x7b", + "0xdb", + "0x7f", + "0xd1", + "0x90", + "0xc5", + "0xc1", + "0xda", + "0x4b", + "0x75", + "0xf7", + "0xb4", + "0xad", + "0xfa", + "0xe8", + "0x97", + "0x47", + "0x14", + "0xc0", + "0x70", + "0xdb", + "0x67", + "0xce", + "0x8d", + "0xbc", + "0xbb", + "0x2d", + "0x9a", + "0x51", + "0x19", + "0xeb", + "0xd1", + "0xd7", + "0xe8", + "0xcf", + "0x58", + "0x7c", + "0xcf", + "0x28", + "0x55", + "0x8", + "0xd0", + "0xf7", + "0x6b", + "0x92", + "0x5e", + "0x6a", + "0x4e", + "0x52", + "0xe9", + "0x4a", + "0x6c", + "0xf0", + "0x2f", + "0xa9", + "0xa", + "0x28", + "0x4d", + "0x26", + "0xea", + "0xc8", + "0x3", + "0x99", + "0x53", + "0xcf", + "0xb9", + "0xb7", + "0xde", + "0xf3", + "0xb0", + "0x75", + "0x3", + "0x91", + "0xc6", + "0xd8", + "0xc1", + "0x12", + "0x48", + "0xaf", + "0x21", + "0xac", + "0x8", + "0x6f", + "0x7a", + "0xd", + "0xad", + "0xe6", + "0xf2", + "0xc2", + "0xa2", + "0x5", + "0xac", + "0x1", + "0xd2", + "0xb", + "0x0", + "0x67", + "0xbc", + "0x3f", + "0x2d", + "0xd6", + "0xe6", + "0x93", + "0x81", + "0xf1", + "0x9b", + "0xce", + "0xac", + "0x60", + "0xcd", + "0x43", + "0x59", + "0xb2", + "0xc4", + "0xae", + "0x19", + "0x6d", + "0xf3", + "0xdd", + "0x8f", + "0xa7", + "0x93", + "0x17", + "0xbc", + "0x3b", + "0x6d", + "0x70", + "0x3f", + "0xe4", + "0xdb", + "0x43", + "0x3b", + "0xe5", + "0x22", + "0x75", + "0x83", + "0xd6", + "0x42", + "0x7", + "0x2f", + "0xc", + "0x26", + "0x85", + "0xa8", + "0xf1", + "0x25", + "0xe4", + "0xdb", + "0x7e", + "0xe4", + "0x56", + "0xa6", + "0x3b", + "0x51", + "0xb6", + "0xa6", + "0x0", + "0x16", + "0xd9", + "0xa8", + "0x97", + "0xba", + "0xf6", + "0xe3", + "0x32", + "0x20", + "0xd1", + "0x5b", + "0x15", + "0x19", + "0xed", + "0x8a", + "0x8e", + "0x62", + "0xc2", + "0x62", + "0x74", + "0xc5", + "0xa7", + "0xe3", + "0xb9", + "0x9c", + "0xab", + "0xbf", + "0x2a", + "0xa9", + "0xc0", + "0x3a", + "0x9f", + "0xd1", + "0x3b", + "0x87", + "0x7", + "0x20", + "0x2a", + "0x46", + "0x80", + "0x6d", + "0x2e", + "0x75", + "0x3b", + "0x68", + "0x7c", + "0xb4", + "0x52", + "0x73", + "0xd2", + "0x41", + "0xf4", + "0x91", + "0xcb", + "0xda", + "0x83", + "0xc0", + "0xab", + "0xe4", + "0x16", + "0x87", + "0x58", + "0xcb", + "0xf9", + "0x2c", + "0x80", + "0x7f", + "0x5e", + "0xb3", + "0xd3", + "0x52", + "0xfe", + "0x85", + "0x9", + "0x81", + "0xef", + "0x56", + "0x26", + "0xed", + "0x63", + "0x32", + "0x10", + "0x3d", + "0xa6", + "0xe4", + "0xb0", + "0xc2", + "0x11", + "0x3b", + "0x7", + "0x8d", + "0xe6", + "0x41", + "0xd8", + "0x92", + "0x3a", + "0x10", + "0x29", + "0xaa", + "0xa9", + "0xe0", + "0xff", + "0x31", + "0xbe", + "0x57", + "0xe7", + "0x0", + "0x97", + "0x58", + "0xef", + "0xa1", + "0xbd", + "0xa5", + "0xf", + "0x29", + "0xfa", + "0x6e", + "0xdb", + "0xc5", + "0xb8", + "0x51", + "0x85", + "0xcc", + "0x30", + "0x38", + "0xcf", + "0x29", + "0x87", + "0xa1", + "0xa8", + "0x28", + "0x37", + "0x85", + "0x2c", + "0xa6", + "0x45", + "0xfa", + "0x9d", + "0x30", + "0x43", + "0xa3", + "0xba", + "0x29", + "0x36", + "0xc0", + "0xb3", + "0x5b", + "0x28", + "0x1e", + "0xf8", + "0x6b", + "0x4a", + "0x13", + "0x6e", + "0x40", + "0x90", + "0xd3", + "0xf8", + "0xf", + "0x7f", + "0x77", + "0x47", + "0x3a", + "0x71", + "0x5e", + "0xa8", + "0x7e", + "0x75", + "0x56", + "0xc2", + "0xd7", + "0x12", + "0xc0", + "0x5", + "0xa1", + "0xd2", + "0x21", + "0x12", + "0xbe", + "0x32", + "0x87", + "0xf9", + "0xb", + "0x5b", + "0xd5", + "0x2c", + "0x41", + "0xdb", + "0xfa", + "0xaf", + "0xb8", + "0x32", + "0x7", + "0x69", + "0x8a", + "0x3e", + "0x6e", + "0xc1", + "0x83", + "0x84", + "0x19", + "0x5f", + "0x74", + "0xe1", + "0x3b", + "0x93", + "0xbe", + "0x9c", + "0x76", + "0x7e", + "0x8b", + "0xf2", + "0x67", + "0x32", + "0x8", + "0x82", + "0xc8", + "0xf9", + "0xe6", + "0xdd", + "0xb0", + "0x3b", + "0x62", + "0xf9", + "0xc8", + "0x35", + "0xf1", + "0xd2", + "0xa3", + "0xae", + "0x8b", + "0x51", + "0x8c", + "0xc4", + "0x6f", + "0x1a", + "0x4f", + "0xfe", + "0xf2", + "0x31", + "0x8b", + "0xb7", + "0xf", + "0xc4", + "0x3e", + "0x33", + "0x10", + "0x61", + "0x71", + "0xcd", + "0x4a", + "0x6c", + "0xec", + "0xdd", + "0x2", + "0xaa", + "0x34", + "0x14", + "0x23", + "0x58", + "0x90", + "0xee", + "0x9b", + "0xea", + "0xf", + "0x6b", + "0x12", + "0x7d", + "0xea", + "0x1c", + "0xe8", + "0xe8", + "0xa4", + "0x50", + "0xc2", + "0xdd", + "0x79", + "0x60", + "0xf4", + "0x76", + "0x7e", + "0x89", + "0x6", + "0x97", + "0xe7", + "0xcf", + "0xd1", + "0xc5", + "0x18", + "0x52", + "0x84", + "0x38", + "0x14", + "0x46", + "0x10", + "0x2c", + "0xcb", + "0xe5", + "0x1c", + "0xf7", + "0xf2", + "0xe8", + "0x64", + "0xe8", + "0x2", + "0xad", + "0xad", + "0xad", + "0x27", + "0x30", + "0x3e", + "0xe2", + "0xa4", + "0x18", + "0x4c", + "0xe", + "0x58", + "0x34", + "0x30", + "0x67", + "0xd1", + "0x51", + "0x11", + "0xc8", + "0x6e", + "0x46", + "0xba", + "0x19", + "0x40", + "0x3d", + "0xee", + "0x33", + "0x83", + "0xb6", + "0xa2", + "0xef", + "0xca", + "0x13", + "0x39", + "0xa1", + "0x3e", + "0x40", + "0x2a", + "0x5d", + "0x73", + "0xb9", + "0xdc", + "0x6a", + "0x49", + "0xf5", + "0xcf", + "0x5b", + "0x93", + "0x11", + "0x1c", + "0x9", + "0x70", + "0x38", + "0x7e", + "0x68", + "0x5c", + "0x45", + "0x35", + "0xd1", + "0x9c", + "0x62", + "0x58", + "0x55", + "0xb3", + "0x47", + "0x93", + "0x21", + "0x28", + "0x21", + "0xec", + "0x55", + "0xa6", + "0x34", + "0x8b", + "0xf6", + "0xef", + "0xda", + "0x30", + "0xf6", + "0x9b", + "0x12", + "0x71", + "0x5", + "0x4a", + "0x6d", + "0xe2", + "0x6c", + "0x41", + "0xf3", + "0x11", + "0xd", + "0xc3", + "0x81", + "0xf6", + "0xa4", + "0xd", + "0xad", + "0x31", + "0x36", + "0xfd", + "0x78", + "0x72", + "0x37", + "0x53", + "0x1", + "0x90", + "0x84", + "0xc", + "0x96", + "0xb5", + "0x15", + "0x70", + "0x66", + "0x19", + "0xcb", + "0x3f", + "0x1f", + "0xde", + "0x11", + "0x64", + "0x7f", + "0x90", + "0x52", + "0xe9", + "0x5d", + "0x23", + "0x6a", + "0xfc", + "0xfe", + "0x85", + "0xc1", + "0x95", + "0x5f", + "0x5", + "0x45", + "0xc7", + "0x57", + "0x93", + "0xb6", + "0x28", + "0x88", + "0x2", + "0x3f", + "0x7a", + "0x16", + "0x4b", + "0xb4", + "0x90", + "0x2a", + "0xb3", + "0x83", + "0x35", + "0x43", + "0x90", + "0x4c", + "0x6", + "0xac", + "0xa2", + "0x37", + "0x40", + "0xe6", + "0x4d", + "0x8d", + "0xed", + "0xe1", + "0x6e", + "0xfe", + "0x9a", + "0x7e", + "0xc", + "0x73", + "0x74", + "0x86", + "0xef", + "0xce", + "0xf8", + "0x29", + "0xe8", + "0x11", + "0x66", + "0xf2", + "0x97", + "0x3a", + "0x50", + "0x89", + "0x8c", + "0xa0", + "0x75", + "0xe1", + "0x9d", + "0xd2", + "0xbb", + "0x36", + "0xec", + "0x89", + "0xf1", + "0xf5", + "0x52", + "0xb1", + "0x92", + "0xeb", + "0xca", + "0x4d", + "0x5a", + "0x9c", + "0x26", + "0x5", + "0x96", + "0xaf", + "0x4e", + "0x8d", + "0xe4", + "0xf2", + "0x3e", + "0x56", + "0x0", + "0x3d", + "0xed", + "0xe6", + "0x6d", + "0x5", + "0xbb", + "0x46", + "0x7c", + "0x2", + "0x3a", + "0xb7", + "0xae", + "0xc5", + "0x49", + "0xae", + "0x3d", + "0xdb", + "0x10", + "0x5a", + "0x3b", + "0x42", + "0xaf", + "0x1e", + "0x31", + "0x5f", + "0x56", + "0xbc", + "0x98", + "0x5", + "0x41", + "0xb2", + "0xf9", + "0xda", + "0xbe", + "0x34", + "0x5a", + "0x3b", + "0x25", + "0x0", + "0xa2", + "0x1d", + "0x86", + "0x43", + "0x60", + "0x3d", + "0x87", + "0xa6", + "0x2b", + "0xcf", + "0xf5", + "0xcf", + "0x55", + "0x7f", + "0x55", + "0x74", + "0x39", + "0xa1", + "0x9d", + "0xd2", + "0xd", + "0xa4", + "0xf4", + "0xe1", + "0x13", + "0x65", + "0x26", + "0xc8", + "0x7", + "0x33", + "0xf", + "0xd6", + "0xad", + "0x4b", + "0x58", + "0xf7", + "0x13", + "0x80", + "0x52", + "0x4d", + "0x9b", + "0xa9", + "0xd8", + "0x31", + "0x29", + "0x74", + "0xf4", + "0xca", + "0x8e", + "0xbf", + "0xe1", + "0x98", + "0x28", + "0x5f", + "0x60", + "0x24", + "0x49", + "0xb5", + "0x2", + "0x71", + "0xf5", + "0x80", + "0x0", + "0x2f", + "0xbd", + "0x85", + "0x8f", + "0x23", + "0x17", + "0xeb", + "0x6b", + "0x30", + "0xd3", + "0x62", + "0x97", + "0xff", + "0xfd", + "0xce", + "0xdb", + "0x53", + "0x14", + "0x86", + "0xc0", + "0x40", + "0xd1", + "0xbd", + "0x33", + "0x2e", + "0x8", + "0x1f", + "0xa0", + "0xe2", + "0xd0", + "0x14", + "0xd0", + "0x8", + "0x31", + "0xf6", + "0xc9", + "0xe1", + "0x99", + "0x86", + "0x4c", + "0xc4", + "0xba", + "0xb", + "0xd9", + "0x18", + "0xb4", + "0x3d", + "0x75", + "0x16", + "0x59", + "0x47", + "0x5d", + "0x69", + "0x29", + "0x2d", + "0xb0", + "0x88", + "0x2e", + "0x2e", + "0xca", + "0xce", + "0x88", + "0x47", + "0x18", + "0xa0", + "0xb0", + "0x61", + "0xa8", + "0x5a", + "0xec", + "0x5b", + "0x7a", + "0xe2", + "0xc5", + "0x83", + "0x7d", + "0xfd", + "0xe4", + "0xd", + "0x6e", + "0xd6", + "0x32", + "0xe5", + "0xa4", + "0x60", + "0x0", + "0x2a", + "0x3f", + "0xcb", + "0xe9", + "0xb5", + "0x8c", + "0x79", + "0xa9", + "0xf0", + "0x9b", + "0x9", + "0xc7", + "0x8d", + "0xd4", + "0xf8", + "0xef", + "0x16", + "0x1c", + "0x56", + "0x32", + "0x46", + "0x54", + "0xf2", + "0x57", + "0x41", + "0x98", + "0x47", + "0xd7", + "0xb0", + "0xd2", + "0xf3", + "0x3c", + "0x9a", + "0x1a", + "0x93", + "0x56", + "0x8e", + "0x4d", + "0x2", + "0x40", + "0x27", + "0xea", + "0xef", + "0xab", + "0xf1", + "0x95", + "0x8d", + "0x3f", + "0x98", + "0xce", + "0x18", + "0xbc", + "0xa0", + "0x6f", + "0x6c", + "0xf5", + "0x40", + "0x83", + "0x1", + "0x8", + "0x37", + "0xcd", + "0x45", + "0xda", + "0x45", + "0xf4", + "0x8", + "0x91", + "0x5a", + "0xf7", + "0x42", + "0xc3", + "0x1b", + "0xbb", + "0x9f", + "0x84", + "0xcb", + "0x11", + "0xe", + "0x53", + "0x28", + "0xa1", + "0xb8", + "0x17", + "0x51", + "0xda", + "0xea", + "0xf1", + "0xaa", + "0x9f", + "0x43", + "0xb6", + "0x5c", + "0x5c", + "0xa4", + "0xa3", + "0x42", + "0xac", + "0x3a", + "0x19", + "0xa8", + "0xd", + "0x66", + "0x8", + "0xd8", + "0x91", + "0x32", + "0xfb", + "0x8", + "0xeb", + "0x14", + "0xf9", + "0x6f", + "0x35", + "0x63", + "0x9c", + "0x44", + "0x47", + "0x70", + "0xf3", + "0x9c", + "0x21", + "0x25", + "0xbe", + "0x19", + "0x99", + "0xc7", + "0xef", + "0xe1", + "0x84", + "0x38", + "0x90", + "0xb0", + "0xc", + "0x43", + "0xe3", + "0xe", + "0xf9", + "0x6e", + "0xf", + "0x9a", + "0x25", + "0xdd", + "0x27", + "0x45", + "0x24", + "0xe4", + "0x6a", + "0xee", + "0x74", + "0x77", + "0xda", + "0xa0", + "0x99", + "0x8e", + "0xff", + "0xa8", + "0xf8", + "0x18", + "0xa5", + "0x61", + "0xc8", + "0xb5", + "0x8b", + "0x76", + "0x37", + "0xf6", + "0x66", + "0xef", + "0x91", + "0x20", + "0x7c", + "0x40", + "0x6a", + "0xfc", + "0x7e", + "0x68", + "0x8f", + "0x39", + "0x1e", + "0xa4", + "0x7a", + "0x4b", + "0x62", + "0xe4", + "0xd9", + "0x57", + "0xf2", + "0xb0", + "0x50", + "0xe2", + "0x60", + "0xa7", + "0x1a", + "0x25", + "0xb8", + "0x53", + "0x5d", + "0xfd", + "0xca", + "0xca", + "0xdc", + "0xe8", + "0x39", + "0x16", + "0x79", + "0x2a", + "0xc0", + "0xa9", + "0xbc", + "0x37", + "0x5a", + "0xa3", + "0x3f", + "0xbb", + "0xe4", + "0x36", + "0xb5", + "0x1b", + "0xc3", + "0x77", + "0xe9", + "0xb1", + "0x83", + "0x6d", + "0x58", + "0xee", + "0x7b", + "0xe6", + "0x63", + "0x20", + "0x80", + "0xd6", + "0x6a", + "0x7d", + "0x11", + "0x1f", + "0x15", + "0xdd", + "0xac", + "0xe6", + "0xe", + "0x62", + "0xab", + "0x84", + "0x1d", + "0x31", + "0xf7", + "0x2c", + "0x78", + "0x2d", + "0x81", + "0x4", + "0xd1", + "0x8b", + "0xcc", + "0x6f", + "0x2a", + "0xf2", + "0x65", + "0x8e", + "0xa4", + "0x1", + "0x82", + "0x27", + "0xab", + "0x63", + "0x7e", + "0x3d", + "0x2", + "0x5a", + "0x82", + "0x84", + "0xe5", + "0x8", + "0x84", + "0x4b", + "0xa6", + "0xda", + "0x66", + "0xf5", + "0x84", + "0x51", + "0x8e", + "0x43", + "0xbc", + "0x34", + "0x24", + "0x44", + "0x8d", + "0xb7", + "0x24", + "0x7c", + "0x69", + "0xba", + "0xbc", + "0x78", + "0x9b", + "0x59", + "0xdf", + "0xc2", + "0x44", + "0x39", + "0x80", + "0x12", + "0x5e", + "0xeb", + "0x9f", + "0x1f", + "0x22", + "0x5b", + "0x8e", + "0xba", + "0xae", + "0x7e", + "0x4f", + "0xaa", + "0x56", + "0xe", + "0x8a", + "0x87", + "0xb0", + "0x9b", + "0x17", + "0xa4", + "0xfc", + "0x9b", + "0xc6", + "0x50", + "0xae", + "0xf8", + "0xc0", + "0x18", + "0xfa", + "0x67", + "0x41", + "0x1b", + "0xc9", + "0xbf", + "0x5c", + "0x5c", + "0xc5", + "0xc6", + "0x25", + "0xd6", + "0x6c", + "0x80", + "0xc", + "0x6c", + "0xdb", + "0x61", + "0x62", + "0xda", + "0x8a", + "0x68", + "0x79", + "0xb6", + "0xef", + "0x3b", + "0x8d", + "0xa", + "0xe3", + "0xd4", + "0xb1", + "0x67", + "0x51", + "0x2", + "0x7f", + "0x13", + "0x8c", + "0x6a", + "0xee", + "0xea", + "0x19", + "0x81", + "0xab", + "0xba", + "0xa7", + "0xdd", + "0x45", + "0xf6", + "0xad", + "0x9a", + "0xaf", + "0x9a", + "0xcc", + "0xa9", + "0x4e", + "0xc9", + "0xa3", + "0x44", + "0xb3", + "0x97", + "0xac", + "0x92", + "0xfd", + "0x9f", + "0x79", + "0x6a", + "0xf7", + "0x67", + "0x6c", + "0x90", + "0xb1", + "0xc2", + "0xfe", + "0xb2", + "0x1b", + "0x3b", + "0xd2", + "0x1a", + "0x96", + "0x60", + "0x36", + "0xe4", + "0x52", + "0x46", + "0x9f", + "0xcb", + "0x70", + "0x7b", + "0xde", + "0xb6", + "0x74", + "0x9", + "0x57", + "0x92", + "0x4e", + "0xb5", + "0x14", + "0x45", + "0x2c", + "0x19", + "0xf7", + "0x9", + "0x6c", + "0x67", + "0xf3", + "0x4", + "0x61", + "0x52", + "0x99", + "0x3e", + "0x52", + "0x88", + "0x34", + "0xbf", + "0x8c", + "0xe5", + "0xb2", + "0x46", + "0xce", + "0x85", + "0xd5", + "0x2", + "0x73", + "0xc", + "0xf9", + "0x7a", + "0x44", + "0x51", + "0x3", + "0x2a", + "0x29", + "0xc8", + "0x8f", + "0x8f", + "0xe3", + "0x8f", + "0x49", + "0x82", + "0xd6", + "0xbd", + "0x37", + "0xdc", + "0x13", + "0xf7", + "0xcc", + "0xf6", + "0xd4", + "0xad", + "0x12", + "0xe2", + "0x26", + "0x55", + "0x89", + "0x93", + "0x71", + "0x2e", + "0xb4", + "0x3", + "0xc6", + "0x4a", + "0x18", + "0x37", + "0x54", + "0x47", + "0x33", + "0x2a", + "0x55", + "0xfc", + "0x7d", + "0xe", + "0xf8", + "0x9", + "0xbc", + "0xc8", + "0x71", + "0xb5", + "0xe8", + "0xaa", + "0xbf", + "0x41", + "0x21", + "0x33", + "0xb6", + "0x2b", + "0xe8", + "0x65", + "0xee", + "0xfc", + "0x48", + "0x5a", + "0x33", + "0x93", + "0x7b", + "0x35", + "0xd9", + "0x54", + "0x31", + "0xf3", + "0x45", + "0xf5", + "0x99", + "0xd6", + "0x12", + "0x8c", + "0x98", + "0xc", + "0xfb", + "0x81", + "0x1e", + "0xb3", + "0x9d", + "0x71", + "0xcb", + "0xa", + "0x68", + "0x77", + "0x15", + "0xbd", + "0xb4", + "0x91", + "0xab", + "0x96", + "0x31", + "0xb9", + "0x2", + "0x90", + "0xe2", + "0x72", + "0x8c", + "0xbd", + "0xab", + "0x12", + "0xb5", + "0x31", + "0x1c", + "0x2d", + "0x36", + "0xd1", + "0x20", + "0x8", + "0xb2", + "0x44", + "0x5d", + "0xdd", + "0x22", + "0xe9", + "0xbc", + "0x67", + "0x68", + "0xf5", + "0x24", + "0x90", + "0x53", + "0xce", + "0x2", + "0xc2", + "0x91", + "0xb", + "0x33", + "0xe3", + "0x3", + "0xc9", + "0x6c", + "0x2f", + "0x3", + "0x50", + "0x8e", + "0x1a", + "0xe7", + "0x51", + "0x19", + "0xd", + "0x1d", + "0x9b", + "0x8e", + "0xa4", + "0xc2", + "0x81", + "0x5f", + "0x93", + "0x3b", + "0x9", + "0x26", + "0x1e", + "0x56", + "0xdb", + "0x75", + "0x64", + "0xac", + "0x92", + "0x8b", + "0x39", + "0xf9", + "0xad", + "0x9c", + "0xb9", + "0x15", + "0x94", + "0x7a", + "0x3f", + "0xe", + "0xd", + "0x2a", + "0x5f", + "0xb8", + "0xbb", + "0xaa", + "0xaa", + "0xb1", + "0x62", + "0xed", + "0xeb", + "0x4a", + "0x3d", + "0x8a", + "0xc0", + "0x52", + "0x43", + "0x4b", + "0x8f", + "0xf3", + "0x33", + "0x9b", + "0xf1", + "0x61", + "0xa3", + "0x8c", + "0x2c", + "0xb4", + "0x8c", + "0xaa", + "0x97", + "0xf8", + "0x8e", + "0x73", + "0xea", + "0xc5", + "0xbe", + "0xf5", + "0x84", + "0x77", + "0xab", + "0x6e", + "0x1b", + "0x68", + "0xbe", + "0xf2", + "0x1e", + "0x91", + "0x6b", + "0x47", + "0xc8", + "0x1b", + "0xeb", + "0x98", + "0x6d", + "0x94", + "0x49", + "0x2b", + "0xc7", + "0x1d", + "0x53", + "0x83", + "0xed", + "0x1b", + "0xe6", + "0xfd", + "0x1", + "0x8e", + "0x64", + "0x55", + "0xaa", + "0xda", + "0x21", + "0x31", + "0xb9", + "0xb5", + "0x11", + "0x54", + "0x39", + "0xf", + "0x3b", + "0x86", + "0x1", + "0x9a", + "0xd4", + "0xf8", + "0x53", + "0x61", + "0xae", + "0x83", + "0xcf", + "0x90", + "0x2c", + "0xa0", + "0x96", + "0xd6", + "0x1d", + "0xab", + "0xc9", + "0x3b", + "0x4e", + "0xa8", + "0x28", + "0xe6", + "0x72", + "0x11", + "0x5f", + "0xbb", + "0x44", + "0xd3", + "0x95", + "0x7", + "0x6", + "0x2b", + "0x10", + "0xaa", + "0xa3", + "0x33", + "0x69", + "0xf0", + "0x8", + "0x42", + "0xef", + "0xb7", + "0x83", + "0x41", + "0x7", + "0x77", + "0xd0", + "0x9a", + "0xcd", + "0x4b", + "0xd4", + "0x3e", + "0xd6", + "0x8a", + "0xb6", + "0xa4", + "0x1", + "0x2", + "0x5", + "0xf", + "0xe2", + "0x6a", + "0x26", + "0x93", + "0x0", + "0xf2", + "0xd0", + "0x35", + "0xf2", + "0x62", + "0x58", + "0x4c", + "0x41", + "0xd9", + "0x90", + "0x46", + "0xd2", + "0xa6", + "0x4e", + "0x13", + "0x5a", + "0xd1", + "0x67", + "0xfe", + "0x94", + "0x47", + "0x80", + "0x3a", + "0xb1", + "0x80", + "0x7c", + "0xce", + "0xce", + "0x31", + "0x72", + "0x25", + "0x23", + "0x36", + "0xc0", + "0x39", + "0xfa", + "0x47", + "0x1", + "0x81", + "0xed", + "0x94", + "0x25", + "0xe9", + "0xeb", + "0x2b", + "0x13", + "0xf", + "0xb4", + "0x4e", + "0x7a", + "0x26", + "0xe2", + "0x19", + "0x42", + "0xa7", + "0x20", + "0xec", + "0x45", + "0xf0", + "0x44", + "0x12", + "0x2d", + "0x9d", + "0x67", + "0xd6", + "0x6a", + "0x70", + "0xc5", + "0x1c", + "0x96", + "0x72", + "0x28", + "0xd9", + "0x3e", + "0x9b", + "0x53", + "0x0", + "0xa", + "0x13", + "0xa8", + "0x5f", + "0xd8", + "0x3b", + "0xab", + "0x6f", + "0x32", + "0x2a", + "0xdc", + "0x8e", + "0x3d", + "0x24", + "0x11", + "0xd7", + "0x7d", + "0x5c", + "0x1", + "0x3c", + "0x40", + "0x6c", + "0x87", + "0xfd", + "0x91", + "0xf1", + "0x15", + "0x39", + "0xdc", + "0xe0", + "0xd7", + "0xdc", + "0x54", + "0xe8", + "0x50", + "0xb5", + "0x7f", + "0x16", + "0x70", + "0x2c", + "0xf8", + "0xf2", + "0x49", + "0x3b", + "0x82", + "0x6f", + "0x7", + "0x1d", + "0x6a", + "0x2", + "0xe5", + "0x2d", + "0xe4", + "0xe0", + "0xf5", + "0xfb", + "0xbd", + "0x2e", + "0x60", + "0x7e", + "0xd3", + "0x5d", + "0x92", + "0xe6", + "0x87", + "0xce", + "0xea", + "0x8c", + "0xe8", + "0x2e", + "0x14", + "0x3", + "0x5c", + "0x57", + "0x84", + "0x49", + "0x10", + "0xf", + "0xee", + "0x44", + "0xd9", + "0xec", + "0x13", + "0x65", + "0x29", + "0x92", + "0x2d", + "0x4b", + "0x29", + "0x42", + "0xe8", + "0x7d", + "0xe6", + "0x6d", + "0x3b", + "0x60", + "0x8", + "0x77", + "0xeb", + "0x69", + "0x3d", + "0x25", + "0xde", + "0x1", + "0x3d", + "0x1e", + "0xe2", + "0x52", + "0x66", + "0x51", + "0xa2", + "0x7", + "0x68", + "0x61", + "0xce", + "0x14", + "0x41", + "0x65", + "0x84", + "0xb6", + "0xdf", + "0x22", + "0xad", + "0xba", + "0x36", + "0x51", + "0xe0", + "0x6d", + "0xb0", + "0x42", + "0x86", + "0x61", + "0x3a", + "0x6b", + "0xc9", + "0xdf", + "0x6e", + "0x4d", + "0xad", + "0x5c", + "0xde", + "0x89", + "0xc5", + "0x7c", + "0x5e", + "0x5a", + "0xbe", + "0x40", + "0x9a", + "0x5b", + "0xe5", + "0x47", + "0x5d", + "0xbf", + "0x8d", + "0x4", + "0x23", + "0x5d", + "0x68", + "0x5c", + "0x54", + "0x46", + "0x6b", + "0x91", + "0x9a", + "0xa0", + "0xff", + "0xf8", + "0xde", + "0x8f", + "0xdc", + "0x56", + "0xd", + "0xd4", + "0x2d", + "0x57", + "0x32", + "0x33", + "0xce", + "0x2b", + "0xd0", + "0x7d", + "0xa", + "0x51", + "0x4f", + "0xaf", + "0xeb", + "0x89", + "0xb8", + "0xc3", + "0xe0", + "0x32", + "0x61", + "0xd3", + "0xfa", + "0x16", + "0x82", + "0xbf", + "0xd4", + "0x48", + "0xb", + "0x98", + "0xbe", + "0x45", + "0x8f", + "0xcc", + "0x3c", + "0xa7", + "0x7", + "0x2b", + "0xfd", + "0xdd", + "0x3f", + "0x6a", + "0x92", + "0x41", + "0xec", + "0x3a", + "0x90", + "0xb5", + "0xa4", + "0xdd", + "0x4b", + "0x72", + "0x5a", + "0xa3", + "0x33", + "0x4e", + "0x5a", + "0xd0", + "0x50", + "0xa0", + "0xdc", + "0x2e", + "0xf4", + "0xf2", + "0x3", + "0xf8", + "0x55", + "0xeb", + "0x26", + "0x13", + "0xf3", + "0xc5", + "0x34", + "0xbf", + "0x4a", + "0xbb", + "0xbf", + "0x8a", + "0x3", + "0x14", + "0x48", + "0x19", + "0x5b", + "0xcb", + "0x28", + "0x1", + "0x56", + "0x45", + "0x6f", + "0x2", + "0x98", + "0x2e", + "0x93", + "0x99", + "0x76", + "0xef", + "0xb9", + "0x4e", + "0x69", + "0x21", + "0x2c", + "0x50", + "0x11", + "0xe0", + "0x18", + "0x7a", + "0x3b", + "0x94", + "0x4", + "0x65", + "0xa7", + "0x6", + "0x54", + "0xe4", + "0x37", + "0x29", + "0x7", + "0x3c", + "0x42", + "0x8b", + "0x48", + "0x4b", + "0xad", + "0x9a", + "0xfd", + "0xf5", + "0x55", + "0x5f", + "0x3", + "0x83", + "0xdb", + "0x3e", + "0x59", + "0x94", + "0x93", + "0x5a", + "0xc9", + "0x5d", + "0x60", + "0xf2", + "0xf6", + "0xdf", + "0x26", + "0xa0", + "0x20", + "0x6b", + "0x38", + "0xb", + "0xc1", + "0xe8", + "0xf9", + "0x58", + "0xfe", + "0x7", + "0xca", + "0x69", + "0x26", + "0xae", + "0x67", + "0x73", + "0x5", + "0x69", + "0x3", + "0x8", + "0xab", + "0x28", + "0xd5", + "0x3c", + "0xfa", + "0xe1", + "0xb9", + "0xa8", + "0xf3", + "0xab", + "0x39", + "0x77", + "0x12", + "0x5d", + "0x6c", + "0x15", + "0xde", + "0x39", + "0x90", + "0xe4", + "0x49", + "0x0", + "0x13", + "0x9f", + "0x43", + "0x45", + "0x6", + "0xe0", + "0x2b", + "0x7", + "0x90", + "0x73", + "0x26", + "0x95", + "0xee", + "0xa1", + "0x5a", + "0xb8", + "0x4e", + "0xe0", + "0x14", + "0xcb", + "0xb0", + "0x33", + "0xe4", + "0x69", + "0xbd", + "0xbc", + "0xa4", + "0xcd", + "0x32", + "0x1c", + "0xc8", + "0x21", + "0x66", + "0x5d", + "0x15", + "0xb", + "0xa4", + "0xaa", + "0x5", + "0x45", + "0x96", + "0x9f", + "0x3e", + "0x8c", + "0x75", + "0x84", + "0x7a", + "0xec", + "0xf9", + "0x65", + "0x9", + "0x30", + "0xe0", + "0xe5", + "0x32", + "0x5c", + "0x51", + "0x5a", + "0x65", + "0x40", + "0x19", + "0xe5", + "0xb7", + "0xfd", + "0x99", + "0x78", + "0xe9", + "0xa0", + "0xac", + "0xb", + "0x33", + "0x13", + "0xbb", + "0xf7", + "0x91", + "0x3e", + "0x73", + "0x1e", + "0xf", + "0xb2", + "0xbf", + "0x76", + "0x19", + "0x9b", + "0xef", + "0x3a", + "0xa", + "0x42", + "0x4c", + "0x3a", + "0x43", + "0x49", + "0x3f", + "0x19", + "0x27", + "0x42", + "0xd6", + "0xc7", + "0x4", + "0x95", + "0x3a", + "0xb5", + "0x13", + "0x4e", + "0x22", + "0x1b", + "0x4c", + "0x23", + "0xd1", + "0xe8", + "0xe4", + "0x6c", + "0x9b", + "0xcb", + "0x31", + "0x0", + "0x48", + "0x59", + "0x33", + "0x7b", + "0x20", + "0x2c", + "0xe3", + "0x34", + "0x95", + "0x3b", + "0x8a", + "0x34", + "0x53", + "0x79", + "0x16", + "0xc", + "0xf8", + "0xbc", + "0xaf", + "0xa6", + "0x22", + "0x84", + "0xe8", + "0xae", + "0xf4", + "0xff", + "0x69", + "0xa9", + "0x94", + "0xd2", + "0xf2", + "0xfd", + "0x79", + "0xf9", + "0xab", + "0x64", + "0x94", + "0x5e", + "0x17", + "0x1a", + "0x23", + "0xe", + "0xb6", + "0xde", + "0xc3", + "0x9d", + "0xa0", + "0xd2", + "0xb9", + "0x1a", + "0xc4", + "0x3d", + "0xd6", + "0x66", + "0x75", + "0x15", + "0x1f", + "0x3b", + "0xb7", + "0x91", + "0x44", + "0x17", + "0xb5", + "0x3e", + "0x40", + "0x3a", + "0xfd", + "0x47", + "0x3e", + "0x56", + "0xd7", + "0xce", + "0x65", + "0x11", + "0x9d", + "0xf1", + "0x5", + "0x6f", + "0xbf", + "0xd9", + "0x47", + "0x31", + "0x73", + "0x82", + "0xd8", + "0x52", + "0xc", + "0x58", + "0x28", + "0xb5", + "0xc8", + "0x4e", + "0xa2", + "0x71", + "0x5e", + "0x43", + "0x9", + "0x81", + "0xe8", + "0xb7", + "0x9e", + "0xa8", + "0x22", + "0x11", + "0x9", + "0x65", + "0x92", + "0x58", + "0x56", + "0x6d", + "0xbd", + "0xc2", + "0x4c", + "0x35", + "0x40", + "0x12", + "0xe2", + "0x1f", + "0x13", + "0x39", + "0xb5", + "0x4a", + "0x20", + "0xa0", + "0x7c", + "0xfc", + "0xfc", + "0x30", + "0x41", + "0xd3", + "0x83", + "0x14", + "0x87", + "0xa0", + "0x7", + "0x79", + "0x2c", + "0xcc", + "0x3e", + "0x61", + "0x5", + "0x7b", + "0x52", + "0x87", + "0x51", + "0xdd", + "0x24", + "0x71", + "0xf0", + "0x6", + "0xc2", + "0xa8", + "0xf1", + "0xb2", + "0x13", + "0xb6", + "0x24", + "0xb4", + "0x3a", + "0xe7", + "0x2b", + "0xa9", + "0x2", + "0x0", + "0xfe", + "0xc2", + "0x40", + "0x2e", + "0x30", + "0x68", + "0x64", + "0xd2", + "0x27", + "0x50", + "0x48", + "0xa3", + "0x80", + "0x3", + "0x58", + "0xb2", + "0xc0", + "0x77", + "0x89", + "0xa4", + "0x43", + "0xbf", + "0x68", + "0x38", + "0xb7", + "0x8d", + "0xdb", + "0xbe", + "0xc3", + "0x7b", + "0x25", + "0x30", + "0xdf", + "0x91", + "0xb2", + "0xb8", + "0xaf", + "0x4e", + "0x44", + "0x8f", + "0x4f", + "0xc7", + "0x1d", + "0x9d", + "0xeb", + "0x63", + "0x34", + "0x2a", + "0xa1", + "0x11", + "0x95", + "0x7e", + "0x55", + "0xe3", + "0xc2", + "0xa1", + "0xb8", + "0xdc", + "0xd6", + "0x3e", + "0x3f", + "0x2c", + "0x1e", + "0x81", + "0x64", + "0x2e", + "0x50", + "0x7c", + "0x0", + "0xf6", + "0xa", + "0xdf", + "0x21", + "0xc1", + "0xb7", + "0xfe", + "0x5", + "0x18", + "0x5a", + "0x42", + "0x6d", + "0xc2", + "0x3a", + "0x88", + "0xc1", + "0x16", + "0x8f", + "0xe3", + "0x7c", + "0x27", + "0xe8", + "0x29", + "0xec", + "0x6", + "0x94", + "0x50", + "0xe4", + "0x93", + "0x62", + "0x83", + "0x8e", + "0xba", + "0x4b", + "0x58", + "0xf7", + "0x4c", + "0xc6", + "0xa4", + "0x69", + "0x9", + "0x7", + "0x67", + "0x58", + "0x79", + "0x6", + "0xe", + "0x8c", + "0xba", + "0x60", + "0x5d", + "0xee", + "0xe", + "0xe9", + "0x47", + "0x5f", + "0xc5", + "0x31", + "0x6d", + "0x6a", + "0x46", + "0x90", + "0x8", + "0x50", + "0x30", + "0xb5", + "0xd7", + "0xa8", + "0xcf", + "0x78", + "0x9d", + "0x3d", + "0xd5", + "0xbc", + "0xfc", + "0xb", + "0xa5", + "0x40", + "0xab", + "0xdc", + "0x5", + "0xb7", + "0x33", + "0x6d", + "0x49", + "0x7", + "0x14", + "0xea", + "0x9", + "0xad", + "0x1b", + "0xce", + "0x86", + "0xbb", + "0x3f", + "0xac", + "0xd6", + "0x14", + "0xe3", + "0xc2", + "0x8b", + "0x8a", + "0xd0", + "0x66", + "0x6a", + "0xa1", + "0x36", + "0xc0", + "0x85", + "0x48", + "0xac", + "0xa3", + "0x73", + "0x61", + "0x2d", + "0x5c", + "0xa8", + "0x93", + "0xd4", + "0x19", + "0xc2", + "0x6b", + "0x1f", + "0xfa", + "0xda", + "0x7d", + "0x16", + "0xbb", + "0x92", + "0x9d", + "0x60", + "0xdb", + "0x4d", + "0x5e", + "0x95", + "0x55", + "0x27", + "0xc1", + "0xfe", + "0xa2", + "0x6d", + "0x51", + "0x1b", + "0x95", + "0xf1", + "0x1a", + "0x5d", + "0xe4", + "0xd3", + "0xa5", + "0xd1", + "0x54", + "0x4", + "0xfb", + "0xa5", + "0xda", + "0xc", + "0x1d", + "0x78", + "0xc", + "0x9d", + "0x59", + "0xa2", + "0xf2", + "0x4", + "0x6b", + "0x14", + "0x2b", + "0x3f", + "0xea", + "0x4", + "0x8e", + "0x70", + "0xfb", + "0x6c", + "0x5d", + "0x61", + "0x99", + "0x68", + "0x69", + "0x33", + "0x8d", + "0xc4", + "0xd2", + "0xa6", + "0x6a", + "0x99", + "0x98", + "0x4f", + "0xa1", + "0xb8", + "0x26", + "0x2a", + "0xef", + "0xbb", + "0xd7", + "0x2d", + "0xb5", + "0xcb", + "0xd7", + "0xea", + "0x68", + "0x9", + "0x40", + "0x30", + "0xc", + "0xdb", + "0x94", + "0x19", + "0x67", + "0xe4", + "0x5c", + "0x8c", + "0x19", + "0x2e", + "0xed", + "0xd3", + "0x4", + "0x9a", + "0x62", + "0xbf", + "0xf9", + "0x99", + "0xa5", + "0x89", + "0x5f", + "0x75", + "0x48", + "0x6c", + "0x39", + "0x9b", + "0xe6", + "0xeb", + "0xc5", + "0x37", + "0x83", + "0x10", + "0xf7", + "0xc6", + "0x4", + "0x1a", + "0x95", + "0x6b", + "0xb8", + "0xbc", + "0xc8", + "0x60", + "0x36", + "0x7", + "0x9b", + "0x9a", + "0x54", + "0x70", + "0xb9", + "0xf6", + "0x52", + "0x53", + "0xdb", + "0x3d", + "0xd4", + "0x2d", + "0x1d", + "0xfd", + "0x0", + "0x32", + "0x84", + "0xd8", + "0x60", + "0xc3", + "0x30", + "0xe5", + "0xd5", + "0x93", + "0xba", + "0x47", + "0x82", + "0xd5", + "0x94", + "0x64", + "0x80", + "0xd2", + "0x12", + "0x81", + "0x7c", + "0x79", + "0x89", + "0x49", + "0x2a", + "0xa0", + "0x4d", + "0xe6", + "0x88", + "0xd2", + "0xcb", + "0xe3", + "0xc4", + "0xfe", + "0xd8", + "0x45", + "0xe0", + "0xc1", + "0x16", + "0xe0", + "0x81", + "0x66", + "0x3e", + "0x61", + "0xf3", + "0x82", + "0x21", + "0xc0", + "0x99", + "0x2e", + "0x54", + "0x39", + "0x2f", + "0xd7", + "0xce", + "0x41", + "0x6f", + "0xb4", + "0x61", + "0xe0", + "0x8c", + "0x20", + "0x72", + "0x72", + "0xc2", + "0x9d", + "0xc3", + "0x85", + "0x86", + "0x47", + "0x94", + "0x1c", + "0xa8", + "0xc5", + "0x51", + "0x4f", + "0x87", + "0xa6", + "0xdb", + "0x82", + "0x7f", + "0x5e", + "0xc0", + "0x45", + "0x7e", + "0x1c", + "0xdb", + "0x68", + "0x22", + "0xcd", + "0xbf", + "0x38", + "0x6", + "0x2c", + "0x1d", + "0xda", + "0xaa", + "0xe9", + "0x8c", + "0x9d", + "0x14", + "0x89", + "0x9f", + "0x9", + "0xd6", + "0x7e", + "0x16", + "0xa5", + "0x98", + "0xb6", + "0xaa", + "0xb2", + "0xff", + "0xa1", + "0x1c", + "0x93", + "0x70", + "0x4b", + "0x99", + "0x45", + "0x64", + "0x45", + "0x54", + "0xf9", + "0x9f", + "0x63", + "0xba", + "0xaf", + "0x71", + "0xa0", + "0x2", + "0x4f", + "0xb7", + "0xeb", + "0x4e", + "0xd2", + "0x37", + "0x6c", + "0x36", + "0x6e", + "0x8", + "0x33", + "0xa2", + "0x4b", + "0xc0", + "0xe", + "0x90", + "0x9", + "0x87", + "0x3d", + "0x78", + "0x54", + "0x10", + "0xcb", + "0xe4", + "0x8a", + "0x75", + "0xc2", + "0x1", + "0xf5", + "0xec", + "0x92", + "0xd0", + "0x94", + "0x1c", + "0x9c", + "0x19", + "0x1c", + "0xf8", + "0x7f", + "0x73", + "0xf9", + "0x4", + "0x8e", + "0x15", + "0xc3", + "0xc1", + "0x76", + "0x10", + "0xdb", + "0x18", + "0xe1", + "0x9f", + "0x3", + "0x3c", + "0xc3", + "0xe9", + "0x2a", + "0x6a", + "0x41", + "0xf1", + "0x91", + "0x15", + "0x6d", + "0xdf", + "0xb0", + "0x25", + "0xb3", + "0x90", + "0xf9", + "0x3d", + "0xfb", + "0x65", + "0xa9", + "0xa8", + "0x5", + "0xb0", + "0xf", + "0xc9", + "0xd2", + "0x2e", + "0x35", + "0xb2", + "0x4a", + "0x6a", + "0xdd", + "0xd9", + "0x86", + "0xa8", + "0xac", + "0x73", + "0x46", + "0x1f", + "0xd0", + "0x5a", + "0x44", + "0xb", + "0xe5", + "0x3f", + "0x9c", + "0x74", + "0x39", + "0x9f", + "0xbe", + "0x33", + "0xdc", + "0x70", + "0x8f", + "0x94", + "0xce", + "0xf", + "0x4", + "0x81", + "0x9c", + "0xc1", + "0x4c", + "0xee", + "0xb2", + "0x8e", + "0xeb", + "0x2f", + "0x73", + "0x88", + "0xf9", + "0xdc", + "0x89", + "0x56", + "0xed", + "0xd3", + "0x74", + "0x8", + "0xf7", + "0x39", + "0x23", + "0xb4", + "0x17", + "0x4c", + "0x4d", + "0x52", + "0x35", + "0xb1", + "0xb3", + "0x6c", + "0x84", + "0x20", + "0xe7", + "0x19", + "0xe6", + "0x99", + "0x4c", + "0x1d", + "0xbd", + "0x92", + "0x59", + "0xde", + "0x93", + "0x76", + "0xec", + "0x7f", + "0x71", + "0x1", + "0xd9", + "0xf0", + "0xb6", + "0xd1", + "0xc5", + "0x23", + "0x99", + "0xc", + "0xa1", + "0x4c", + "0x13", + "0x91", + "0x64", + "0x46", + "0xa1", + "0x48", + "0x91", + "0xb6", + "0xba", + "0x6e", + "0xec", + "0x35", + "0x21", + "0x54", + "0x8d", + "0xa0", + "0x48", + "0xe1", + "0x78", + "0x1d", + "0x3b", + "0x4c", + "0xa0", + "0x49", + "0xe0", + "0x21", + "0xb6", + "0x95", + "0xce", + "0xcd", + "0x66", + "0x70", + "0xae", + "0xcd", + "0xb3", + "0x6f", + "0x7d", + "0xab", + "0x7", + "0x41", + "0x83", + "0xde", + "0x3c", + "0x75", + "0x82", + "0x31", + "0xe9", + "0x7", + "0x4e", + "0x9", + "0xa5", + "0xf8", + "0x8", + "0xdd", + "0xc6", + "0x79", + "0x6", + "0x54", + "0x3a", + "0x40", + "0xe3", + "0x48", + "0x71", + "0xf9", + "0x95", + "0xda", + "0xb5", + "0xb0", + "0x34", + "0x71", + "0x36", + "0xfd", + "0x66", + "0x92", + "0xa9", + "0x71", + "0x36", + "0xe2", + "0x66", + "0x35", + "0x77", + "0x94", + "0x9a", + "0x30", + "0x7", + "0x8d", + "0xad", + "0x3f", + "0x9", + "0x2e", + "0x1f", + "0x71", + "0x85", + "0x6", + "0x6", + "0x73", + "0xf3", + "0xb4", + "0xe8", + "0xf", + "0xb2", + "0xd5", + "0x84", + "0xb6", + "0x3f", + "0xd8", + "0xe8", + "0x1a", + "0x4c", + "0xa1", + "0x37", + "0x7f", + "0x23", + "0xb0", + "0x56", + "0x67", + "0x89", + "0xd1", + "0x5b", + "0x9a", + "0x20", + "0x42", + "0x2", + "0x2c", + "0x31", + "0xdc", + "0x76", + "0xb0", + "0xef", + "0xd7", + "0x12", + "0x71", + "0x1", + "0x60", + "0x63", + "0x9a", + "0x75", + "0x13", + "0x9f", + "0xd9", + "0xa0", + "0xdc", + "0x23", + "0xfe", + "0x22", + "0x9", + "0x7", + "0xee", + "0xb3", + "0x26", + "0x6c", + "0x40", + "0x7d", + "0xa3", + "0x41", + "0x4f", + "0xae", + "0x54", + "0x8b", + "0x45", + "0x4e", + "0xad", + "0x5c", + "0x1d", + "0x76", + "0xdc", + "0x44", + "0x3", + "0xc", + "0x85", + "0xeb", + "0x68", + "0x43", + "0xea", + "0xec", + "0x7e", + "0xa9", + "0x86", + "0xf7", + "0x7c", + "0xcc", + "0xbf", + "0x36", + "0xa6", + "0x34", + "0x26", + "0x99", + "0xd3", + "0x44", + "0x72", + "0xd0", + "0xf0", + "0xe", + "0xf7", + "0x2b", + "0x32", + "0xb1", + "0x60", + "0x9b", + "0x6e", + "0x9b", + "0x2c", + "0x5c", + "0xec", + "0xad", + "0x56", + "0x74", + "0xc7", + "0x7", + "0x5", + "0x3c", + "0xe", + "0x80", + "0x64", + "0x0", + "0x42", + "0xc8", + "0x44", + "0xe4", + "0x84", + "0x2e", + "0xc2", + "0x66", + "0x85", + "0x91", + "0xa", + "0x92", + "0x3a", + "0x63", + "0xd7", + "0xf4", + "0x3b", + "0xb9", + "0x56", + "0x9a", + "0x6e", + "0x4a", + "0x58", + "0xb7", + "0x62", + "0xe8", + "0x97", + "0xa2", + "0x4b", + "0x69", + "0xa8", + "0x27", + "0x28", + "0x18", + "0x4e", + "0xad", + "0xc2", + "0x8", + "0x91", + "0x2", + "0xba", + "0xe1", + "0xdd", + "0xac", + "0xb0", + "0x44", + "0x48", + "0x5f", + "0xca", + "0xdd", + "0xc3", + "0x20", + "0x51", + "0xa3", + "0x0", + "0xa", + "0x45", + "0xed", + "0xe0", + "0x33", + "0xca", + "0xed", + "0x2a", + "0xbc", + "0x4c", + "0x2c", + "0x40", + "0xf8", + "0xc3", + "0x89", + "0xf1", + "0x36", + "0xc2", + "0xad", + "0x80", + "0x16", + "0x63", + "0xea", + "0xd4", + "0xe9", + "0x94", + "0xd9", + "0xa2", + "0x18", + "0x86", + "0x82", + "0x92", + "0x9c", + "0xb6", + "0x31", + "0x1c", + "0xf2", + "0x9c", + "0x45", + "0x70", + "0xbf", + "0xec", + "0x41", + "0x49", + "0x95", + "0xd2", + "0xe7", + "0x43", + "0x2b", + "0x55", + "0x1b", + "0x22", + "0xcb", + "0x12", + "0x9e", + "0xfd", + "0x79", + "0x52", + "0x61", + "0x94", + "0xdd", + "0x39", + "0x7e", + "0x41", + "0x1d", + "0xb2", + "0xa3", + "0x68", + "0x75", + "0xbb", + "0x7e", + "0xa8", + "0x4c", + "0x67", + "0x91", + "0x19", + "0x30", + "0xb6", + "0xcf", + "0x1b", + "0xc4", + "0x2c", + "0x45", + "0x2", + "0x22", + "0x8a", + "0x80", + "0x64", + "0x62", + "0xbb", + "0x2f", + "0xe7", + "0x53", + "0x46", + "0xd0", + "0x91", + "0x80", + "0xca", + "0x3a", + "0xc6", + "0x29", + "0x3d", + "0x54", + "0x6d", + "0xf0", + "0xe5", + "0xae", + "0xd3", + "0x97", + "0x88", + "0xaf", + "0xb6", + "0x36", + "0xbf", + "0x86", + "0xb8", + "0x11", + "0x7a", + "0xd", + "0x48", + "0x80", + "0xda", + "0x31", + "0x4c", + "0x39", + "0x54", + "0x79", + "0xea", + "0xc3", + "0x85", + "0x99", + "0xa7", + "0x43", + "0xcd", + "0x83", + "0xf", + "0xe8", + "0xb7", + "0x6d", + "0x63", + "0xdf", + "0xf", + "0x70", + "0x19", + "0x5e", + "0x7", + "0x54", + "0x1f", + "0xcd", + "0x7b", + "0x30", + "0xbb", + "0x4d", + "0xa", + "0x24", + "0xec", + "0x83", + "0xe5", + "0x40", + "0x3f", + "0x29", + "0xa4", + "0x49", + "0xa7", + "0xff", + "0x8d", + "0xa8", + "0x9d", + "0xff", + "0xcc", + "0x3b", + "0x16", + "0xee", + "0xad", + "0x80", + "0x90", + "0xa3", + "0xd5", + "0xcf", + "0x1e", + "0x36", + "0x79", + "0x39", + "0xc9", + "0xee", + "0x76", + "0xd6", + "0xcd", + "0xe", + "0x6c", + "0x80", + "0xdb", + "0x41", + "0xba", + "0xdb", + "0x6a", + "0x9b", + "0xfe", + "0xe2", + "0xb9", + "0xd3", + "0x7a", + "0x13", + "0xc", + "0xcd", + "0x98", + "0xb9", + "0xed", + "0xe3", + "0x16", + "0x1d", + "0xa3", + "0xaf", + "0xf3", + "0xbf", + "0x34", + "0x29", + "0x50", + "0xa6", + "0xda", + "0x6d", + "0x68", + "0x48", + "0x5d", + "0x70", + "0xea", + "0x10", + "0x99", + "0xa2", + "0xac", + "0xdd", + "0xe5", + "0x2d", + "0xcd", + "0xdb", + "0x35", + "0x84", + "0x9e", + "0x29", + "0x42", + "0xc3", + "0xd0", + "0x94", + "0xba", + "0x9c", + "0xe1", + "0x48", + "0xeb", + "0xae", + "0x13", + "0x93", + "0x75", + "0x1e", + "0x82", + "0x82", + "0x2a", + "0x5d", + "0x5b", + "0x8f", + "0x88", + "0xcd", + "0x4a", + "0x22", + "0x88", + "0x84", + "0x2", + "0x4b", + "0xf9", + "0xfc", + "0x13", + "0x1c", + "0x53", + "0x15", + "0xa1", + "0x2e", + "0x3f", + "0x28", + "0xf1", + "0x43", + "0xe1", + "0x73", + "0x54", + "0x15", + "0xc9", + "0x3b", + "0xd8", + "0xdc", + "0x25", + "0x92", + "0x1e", + "0x14", + "0xc4", + "0x7", + "0x7f", + "0xa9", + "0xa7", + "0xe6", + "0xb8", + "0x32", + "0x4a", + "0x81", + "0x25", + "0xda", + "0x46", + "0xa5", + "0x23", + "0x92", + "0xf3", + "0x65", + "0x5d", + "0xd6", + "0x28", + "0x37", + "0x61", + "0x81", + "0xaf", + "0x3c", + "0x20", + "0x52", + "0x66", + "0x17", + "0x59", + "0x93", + "0xe0", + "0xfe", + "0x1e", + "0x14", + "0xd3", + "0x60", + "0xa2", + "0x45", + "0x45", + "0xd9", + "0x2a", + "0x5c", + "0xcf", + "0x92", + "0x37", + "0xb7", + "0xc4", + "0xc2", + "0x47", + "0x7a", + "0x13", + "0x1f", + "0x64", + "0xfe", + "0xbe", + "0xf0", + "0x71", + "0x84", + "0x38", + "0x17", + "0xbb", + "0x2f", + "0x43", + "0x66", + "0x8d", + "0x93", + "0xc4", + "0x2f", + "0xd8", + "0xe8", + "0x6d", + "0xa5", + "0x95", + "0xf", + "0x8d", + "0x3b", + "0xab", + "0x6d", + "0x2c", + "0x69", + "0x47", + "0x3a", + "0x3d", + "0x7e", + "0x14", + "0xfb", + "0x92", + "0x32", + "0x7", + "0xb5", + "0xb1", + "0xb5", + "0x43", + "0x70", + "0x46", + "0x42", + "0x39", + "0xca", + "0x68", + "0x52", + "0x9a", + "0x75", + "0xae", + "0x53", + "0x28", + "0x7c", + "0xa7", + "0xa2", + "0xe1", + "0x65", + "0xb5", + "0xd7", + "0xf8", + "0xf0", + "0xf8", + "0xb5", + "0x85", + "0xd6", + "0x6b", + "0x2f", + "0x22", + "0xc2", + "0xc9", + "0xf9", + "0xe", + "0x57", + "0x4a", + "0x88", + "0x28", + "0xb6", + "0x86", + "0xc8", + "0x4", + "0x59", + "0x47", + "0xec", + "0x6c", + "0x9a", + "0x14", + "0xa3", + "0xf7", + "0x14", + "0xfc", + "0x1f", + "0x36", + "0x7a", + "0xac", + "0x46", + "0x87", + "0x86", + "0xd5", + "0x68", + "0xd8", + "0x22", + "0x2", + "0xc2", + "0x3e", + "0x63", + "0x71", + "0xd5", + "0xf6", + "0xe7", + "0x9e", + "0x58", + "0xd0", + "0x62", + "0x99", + "0xea", + "0x9c", + "0x69", + "0x91", + "0xe3", + "0x7d", + "0xc1", + "0x6c", + "0xed", + "0x25", + "0x15", + "0x79", + "0xf1", + "0xe0", + "0xf1", + "0x30", + "0xb1", + "0x36", + "0x69", + "0x20", + "0xb8", + "0xc", + "0x78", + "0x4b", + "0x9b", + "0xc0", + "0x32", + "0xf9", + "0xb0", + "0x26", + "0x11", + "0x72", + "0x66", + "0x15", + "0xcc", + "0x6f", + "0x96", + "0xd7", + "0x4d", + "0x4b", + "0x57", + "0xcf", + "0x7", + "0x36", + "0x51", + "0x8e", + "0x4", + "0xbe", + "0xa9", + "0xa9", + "0xdd", + "0xad", + "0x41", + "0x79", + "0xac", + "0xa8", + "0xfb", + "0x9", + "0x1d", + "0xf9", + "0x5", + "0x65", + "0xa2", + "0x9d", + "0x63", + "0x9f", + "0xc2", + "0x2e", + "0x23", + "0xa1", + "0xb3", + "0xb1", + "0x38", + "0x47", + "0xb1", + "0x80", + "0x74", + "0xa5", + "0xcd", + "0x82", + "0x44", + "0xb", + "0xad", + "0x95", + "0x53", + "0x63", + "0xe1", + "0xc8", + "0x97", + "0x81", + "0xb2", + "0xc5", + "0xc0", + "0xef", + "0x5", + "0x33", + "0x8d", + "0x1b", + "0xcf", + "0xd1", + "0x3a", + "0x56", + "0x93", + "0xe2", + "0x96", + "0xe", + "0x95", + "0x15", + "0xa5", + "0xef", + "0x70", + "0x26", + "0xe3", + "0x15", + "0x82", + "0xaa", + "0x89", + "0x10", + "0xf5", + "0x43", + "0xc8", + "0xe6", + "0x7d", + "0xcb", + "0xe4", + "0x9", + "0x60", + "0x8d", + "0x2e", + "0x92", + "0x6c", + "0x6b", + "0x2f", + "0x63", + "0x12", + "0xd0", + "0xab", + "0x72", + "0x85", + "0xf4", + "0xfa", + "0x27", + "0xf7", + "0x7a", + "0xce", + "0xa9", + "0x77", + "0xc7", + "0xa1", + "0xbf", + "0x5d", + "0xcf", + "0x1b", + "0x21", + "0xa9", + "0xcd", + "0x84", + "0x32", + "0xf3", + "0xba", + "0x45", + "0x8e", + "0x58", + "0xee", + "0xbe", + "0x59", + "0x9b", + "0xa6", + "0xb", + "0xb5", + "0x9a", + "0x9f", + "0xf9", + "0x8f", + "0x5e", + "0x7f", + "0x5", + "0xe", + "0xda", + "0xc4", + "0x31", + "0x2e", + "0x84", + "0x8a", + "0x74", + "0xe", + "0x85", + "0xd7", + "0x86", + "0xde", + "0xd5", + "0x93", + "0x6f", + "0x2", + "0x74", + "0x51", + "0xb", + "0xf7", + "0x4e", + "0x5d", + "0x80", + "0x3", + "0x86", + "0x95", + "0xa0", + "0x63", + "0x90", + "0x25", + "0x4a", + "0xb7", + "0x6a", + "0x55", + "0x39", + "0x2a", + "0xf5", + "0xb3", + "0xd9", + "0x6", + "0xdd", + "0xe6", + "0x6b", + "0x6e", + "0x28", + "0x25", + "0xce", + "0x3c", + "0xe6", + "0x95", + "0x9", + "0x64", + "0x7b", + "0x9c", + "0x19", + "0x1e", + "0x86", + "0x2e", + "0xbb", + "0xfa", + "0xf", + "0xbb", + "0x50", + "0x39", + "0xf0", + "0x60", + "0xc2", + "0xe2", + "0x5c", + "0x5d", + "0xbf", + "0x42", + "0xf5", + "0xef", + "0x9f", + "0x5b", + "0xa2", + "0xa4", + "0xff", + "0x3b", + "0x32", + "0x1f", + "0x88", + "0x6d", + "0x8d", + "0x6", + "0x89", + "0xf5", + "0x61", + "0xd2", + "0x15", + "0x64", + "0xd3", + "0xcb", + "0x84", + "0xe6", + "0x72", + "0xfe", + "0x20", + "0x60", + "0xd3", + "0x53", + "0x5e", + "0xc3", + "0x3", + "0xd4", + "0x11", + "0xdd", + "0x42", + "0x39", + "0x3c", + "0x3", + "0x4f", + "0xce", + "0xbd", + "0xdf", + "0x24", + "0xb8", + "0x5f", + "0xee", + "0x3", + "0xd0", + "0x8d", + "0x74", + "0x9e", + "0x22", + "0xb5", + "0x14", + "0xd1", + "0xb7", + "0x73", + "0xf1", + "0x8f", + "0x47", + "0x4b", + "0x8b", + "0x5e", + "0x0", + "0x7a", + "0xa3", + "0xba", + "0x35", + "0x95", + "0xcc", + "0x5", + "0xa3", + "0xc", + "0xc", + "0x38", + "0xe6", + "0x19", + "0xbe", + "0x59", + "0xbb", + "0xf7", + "0x71", + "0x1b", + "0x95", + "0x28", + "0x9b", + "0x58", + "0x0", + "0xc0", + "0xc5", + "0x7", + "0xc9", + "0x8a", + "0xae", + "0x27", + "0xb9", + "0x7b", + "0xc0", + "0xdc", + "0x9f", + "0xdc", + "0x66", + "0xf2", + "0xd0", + "0x8a", + "0xe0", + "0x39", + "0xed", + "0x29", + "0x18", + "0x28", + "0x87", + "0x8d", + "0x17", + "0x69", + "0xca", + "0xf9", + "0xe9", + "0x7e", + "0xf8", + "0xd8", + "0xda", + "0x83", + "0xbd", + "0x6f", + "0xcb", + "0xf8", + "0x99", + "0x44", + "0x52", + "0x75", + "0xbe", + "0x70", + "0xb5", + "0x3c", + "0x2e", + "0x8c", + "0x45", + "0x36", + "0xc3", + "0x5", + "0x5c", + "0x52", + "0x9e", + "0x24", + "0x97", + "0x45", + "0xc7", + "0xa2", + "0x27", + "0x55", + "0xbc", + "0x16", + "0x6d", + "0xb5", + "0xea", + "0xcd", + "0x4c", + "0x44", + "0xfe", + "0x6d", + "0x2c", + "0xd2", + "0x96", + "0x5d", + "0xe3", + "0x59", + "0x5a", + "0xeb", + "0x48", + "0xe1", + "0x62", + "0xc7", + "0xd4", + "0xb5", + "0x71", + "0xfd", + "0x5a", + "0x22", + "0xb", + "0xd0", + "0xb8", + "0xf2", + "0xf1", + "0x9b", + "0x86", + "0x88", + "0x4e", + "0xf0", + "0x8f", + "0x24", + "0x6a", + "0x79", + "0x57", + "0x7b", + "0x0", + "0xaf", + "0x88", + "0x1f", + "0xf1", + "0x9a", + "0xf2", + "0x28", + "0x99", + "0xbc", + "0x32", + "0xd0", + "0xed", + "0x14", + "0x3c", + "0x2", + "0x73", + "0xb1", + "0x4c", + "0x5f", + "0x9d", + "0x8f", + "0x90", + "0x1e", + "0xe8", + "0xb8", + "0x3b", + "0x99", + "0xeb", + "0xc6", + "0xa", + "0x91", + "0xf2", + "0xa7", + "0xd9", + "0x19", + "0x15", + "0x1a", + "0x41", + "0x87", + "0x7", + "0xb9", + "0xcc", + "0xf5", + "0x14", + "0x1b", + "0x2d", + "0xd6", + "0xc4", + "0x63", + "0x37", + "0xd1", + "0x8b", + "0xd1", + "0x86", + "0x4d", + "0x7a", + "0x87", + "0x9e", + "0x4", + "0x16", + "0x60", + "0xaa", + "0x6", + "0x52", + "0xc1", + "0x48", + "0x8c", + "0xc6", + "0x71", + "0x78", + "0x1c", + "0x8e", + "0xf3", + "0xb5", + "0x95", + "0x77", + "0x11", + "0x59", + "0x4a", + "0x8f", + "0x54", + "0xd2", + "0xc3", + "0x4a", + "0xdf", + "0x6b", + "0xf3", + "0xa8", + "0x60", + "0x5c", + "0x74", + "0xfc", + "0x4c", + "0xc", + "0xb9", + "0x6b", + "0x9d", + "0x98", + "0x62", + "0x38", + "0x66", + "0x12", + "0xfb", + "0x40", + "0x15", + "0xeb", + "0x46", + "0xdd", + "0xb1", + "0x66", + "0xd", + "0xba", + "0x8a", + "0x90", + "0x52", + "0xca", + "0xc3", + "0xc5", + "0xec", + "0x32", + "0xe7", + "0xfb", + "0xc6", + "0x15", + "0x28", + "0x25", + "0xd1", + "0xfc", + "0xf5", + "0x25", + "0x1", + "0x64", + "0x3d", + "0x94", + "0x27", + "0xcf", + "0xcb", + "0x8e", + "0x7b", + "0x37", + "0x94", + "0x1f", + "0xc3", + "0xfb", + "0x15", + "0x40", + "0x8a", + "0xc1", + "0x4b", + "0x61", + "0x49", + "0xe", + "0x7f", + "0x1d", + "0x1", + "0xfd", + "0x58", + "0xcc", + "0x92", + "0xfe", + "0x5", + "0xcc", + "0x90", + "0x82", + "0x27", + "0x24", + "0xe5", + "0xc3", + "0xb9", + "0x36", + "0xfe", + "0x2b", + "0x7d", + "0x8f", + "0xb9", + "0xa5", + "0xa5", + "0x6e", + "0xbe", + "0xe2", + "0xf", + "0x5e", + "0xc0", + "0x29", + "0x85", + "0x1d", + "0x1c", + "0xb7", + "0x4f", + "0x4", + "0x65", + "0x44", + "0xf4", + "0x46", + "0xae", + "0x4f", + "0x1d", + "0x90", + "0x5", + "0xc", + "0xd9", + "0xec", + "0x13", + "0x4c", + "0xb5", + "0xa0", + "0x57", + "0xf", + "0xfb", + "0xd8", + "0x4d", + "0xd2", + "0x82", + "0x1b", + "0x61", + "0xb3", + "0x4b", + "0x1b", + "0xe9", + "0x2a", + "0x20", + "0x35", + "0x5", + "0xec", + "0xd0", + "0xad", + "0x1f", + "0xbd", + "0x66", + "0x83", + "0x3d", + "0xb1", + "0x50", + "0x4d", + "0xec", + "0x27", + "0xb", + "0x27", + "0xfa", + "0xc7", + "0xf4", + "0x13", + "0xf7", + "0xda", + "0x30", + "0x3d", + "0x9d", + "0x92", + "0xe9", + "0x57", + "0xe5", + "0xf7", + "0x3f", + "0x66", + "0xa9", + "0x6c", + "0xb", + "0xba", + "0x7b", + "0x19", + "0x7c", + "0x17", + "0xcf", + "0x30", + "0x71", + "0x98", + "0xce", + "0x9a", + "0x34", + "0x6", + "0xc2", + "0x97", + "0x65", + "0x9e", + "0xf8", + "0x5d", + "0x40", + "0x72", + "0xab", + "0xad", + "0xee", + "0x9d", + "0xc9", + "0x2", + "0x5f", + "0x2", + "0x12", + "0x20", + "0x17", + "0xbf", + "0x41", + "0xef", + "0xc3", + "0x1d", + "0x68", + "0x45", + "0x3b", + "0xe6", + "0x27", + "0x61", + "0x80", + "0xa0", + "0xf7", + "0x4e", + "0x9a", + "0xc2", + "0xaf", + "0xb2", + "0x74", + "0x56", + "0x72", + "0x0", + "0x24", + "0x9b", + "0xb", + "0x6f", + "0xd6", + "0x27", + "0x7e", + "0x6", + "0x4", + "0x72", + "0x26", + "0xd9", + "0x43", + "0x3e", + "0x99", + "0x7e", + "0x21", + "0xd2", + "0x8e", + "0x57", + "0x3c", + "0xd5", + "0x22", + "0xe", + "0x97", + "0x6", + "0xdb", + "0x4f", + "0xa7", + "0x4f", + "0x88", + "0xa0", + "0xa0", + "0xec", + "0xd7", + "0xe0", + "0x96", + "0xe3", + "0x67", + "0xcc", + "0x1a", + "0x70", + "0x5", + "0x1", + "0x45", + "0x19", + "0x99", + "0xc8", + "0x9e", + "0x93", + "0xd4", + "0xd", + "0x82", + "0x29", + "0x5e", + "0xe5", + "0x34", + "0x37", + "0x66", + "0x6", + "0xd0", + "0xdd", + "0x55", + "0xf4", + "0x93", + "0x5f", + "0x39", + "0x4c", + "0x81", + "0xf1", + "0x68", + "0x3", + "0x1d", + "0xb7", + "0x4b", + "0xc1", + "0xe4", + "0x9a", + "0x21", + "0x20", + "0x95", + "0xaf", + "0x5c", + "0x38", + "0xcc", + "0xd3", + "0x6d", + "0x1d", + "0xca", + "0xbd", + "0x4f", + "0xe8", + "0xf1", + "0x86", + "0x3e", + "0xb2", + "0xe4", + "0x3b", + "0x99", + "0x3a", + "0xf6", + "0x6c", + "0x16", + "0x3e", + "0x5f", + "0xd9", + "0x8a", + "0xec", + "0xa5", + "0xae", + "0x1c", + "0x7d", + "0xe2", + "0xc", + "0x7f", + "0xd4", + "0x29", + "0x20", + "0x2e", + "0x5a", + "0x41", + "0x40", + "0xfa", + "0xf6", + "0x4", + "0xa3", + "0x9b", + "0xdd", + "0xaa", + "0x7b", + "0x12", + "0x44", + "0x1c", + "0x3b", + "0x38", + "0xb6", + "0xf9", + "0x7b", + "0x11", + "0xe0", + "0xc3", + "0x8a", + "0xc4", + "0xbb", + "0x92", + "0x66", + "0x40", + "0x27", + "0xa2", + "0x17", + "0x6a", + "0x55", + "0xfd", + "0xe2", + "0x27", + "0xf8", + "0x34", + "0x53", + "0x80", + "0x69", + "0x3f", + "0x29", + "0xc7", + "0x6", + "0x4a", + "0x3", + "0x4c", + "0xad", + "0xec", + "0x4e", + "0x47", + "0x77", + "0x79", + "0x5a", + "0xb2", + "0x37", + "0xbc", + "0xb5", + "0xcb", + "0x4f", + "0xea", + "0x40", + "0xc6", + "0xe6", + "0xca", + "0xe", + "0x4f", + "0xd5", + "0xd", + "0x45", + "0xa4", + "0xa1", + "0xff", + "0xea", + "0xa8", + "0x46", + "0x2d", + "0x9a", + "0x77", + "0x1", + "0xc7", + "0x5a", + "0xe8", + "0x89", + "0xbd", + "0xff", + "0x10", + "0xbb", + "0x13", + "0x21", + "0x80", + "0x88", + "0x2", + "0x5b", + "0x92", + "0x1a", + "0x3a", + "0x87", + "0x61", + "0x47", + "0xca", + "0x9a", + "0x22", + "0xf7", + "0xd9", + "0xe8", + "0xb0", + "0xf0", + "0x80", + "0x93", + "0x82", + "0x18", + "0x76", + "0xd5", + "0x31", + "0x6a", + "0x3d", + "0xbe", + "0x39", + "0xf4", + "0x30", + "0x39", + "0x6a", + "0xd0", + "0xa1", + "0x7d", + "0xcf", + "0x5a", + "0xc8", + "0x78", + "0x90", + "0xa7", + "0xf2", + "0x9", + "0x8b", + "0x5b", + "0xc6", + "0x4c", + "0xc1", + "0x47", + "0x87", + "0x1", + "0x51", + "0xba", + "0xed", + "0x83", + "0x0", + "0x57", + "0x97", + "0x15", + "0x42", + "0xc9", + "0x52", + "0x76", + "0xee", + "0x31", + "0xd5", + "0xcb", + "0x59", + "0xf9", + "0x8c", + "0x5c", + "0x67", + "0xfc", + "0x69", + "0xd3", + "0x74", + "0x95", + "0xa1", + "0x27", + "0x59", + "0x63", + "0x97", + "0x6b", + "0x96", + "0xe6", + "0x4e", + "0x38", + "0xdf", + "0xa9", + "0x10", + "0x4c", + "0xcc", + "0xc7", + "0x94", + "0xff", + "0xfd", + "0x8e", + "0x7f", + "0xb0", + "0x31", + "0x4b", + "0xfe", + "0x55", + "0xd1", + "0xc", + "0xac", + "0x39", + "0x3", + "0x93", + "0x3a", + "0x6c", + "0x40", + "0x2f", + "0x65", + "0x8b", + "0xbb", + "0x42", + "0xd8", + "0x4c", + "0xef", + "0x0", + "0xca", + "0x7d", + "0x51", + "0xa3", + "0x2c", + "0x27", + "0xc1", + "0xc5", + "0x91", + "0x41", + "0x9b", + "0x21", + "0xdb", + "0xc3", + "0x96", + "0x68", + "0x88", + "0x72", + "0x21", + "0x86", + "0xb0", + "0x1e", + "0x7c", + "0x56", + "0x3a", + "0x2e", + "0xe5", + "0x61", + "0x50", + "0x1d", + "0xd1", + "0x54", + "0x8f", + "0xd1", + "0x50", + "0xe4", + "0x6", + "0x88", + "0x79", + "0x22", + "0xf0", + "0xbb", + "0x8", + "0xc0", + "0x86", + "0x29", + "0xe2", + "0x88", + "0xed", + "0xd7", + "0xe2", + "0x2d", + "0x80", + "0xcb", + "0x52", + "0x9e", + "0x89", + "0xaa", + "0xd7", + "0x9a", + "0x31", + "0xb4", + "0xa4", + "0xe0", + "0xe1", + "0xb6", + "0x14", + "0x63", + "0x3e", + "0x9d", + "0xe8", + "0x4f", + "0x6d", + "0x97", + "0xe8", + "0xd6", + "0xb0", + "0x4d", + "0xc2", + "0x5d", + "0x6a", + "0xd7", + "0x69", + "0xee", + "0x7", + "0xd6", + "0x32", + "0x9f", + "0x8b", + "0x54", + "0x7a", + "0xb8", + "0x9", + "0x52", + "0x90", + "0x2a", + "0x26", + "0x98", + "0x3c", + "0xa9", + "0x37", + "0x72", + "0xe7", + "0x6f", + "0x38", + "0xd9", + "0x11", + "0x92", + "0xbd", + "0x9a", + "0xb8", + "0x83", + "0x8c", + "0xb7", + "0xc4", + "0xe0", + "0xbe", + "0x16", + "0x68", + "0x80", + "0xa7", + "0x93", + "0xfd", + "0x17", + "0x63", + "0x59", + "0x45", + "0xb4", + "0x5e", + "0x64", + "0xfc", + "0x98", + "0xcc", + "0xba", + "0xfa", + "0x9b", + "0x32", + "0xa5", + "0xfd", + "0x89", + "0x6", + "0x91", + "0xe1", + "0x93", + "0x1c", + "0x38", + "0x27", + "0xf6", + "0xc2", + "0x24", + "0x25", + "0x30", + "0xb7", + "0xe8", + "0x4b", + "0xba", + "0x56", + "0xcf", + "0xfc", + "0x85", + "0xb9", + "0xca", + "0x1", + "0x5b", + "0x50", + "0xa", + "0x27", + "0xaf", + "0x9f", + "0xed", + "0x97", + "0x40", + "0x91", + "0xcd", + "0xe1", + "0x99", + "0xfb", + "0x72", + "0x5a", + "0x61", + "0xec", + "0xa1", + "0x19", + "0x86", + "0x17", + "0x6e", + "0x15", + "0xa8", + "0x58", + "0xa", + "0x63", + "0x5a", + "0x7", + "0xb7", + "0xa0", + "0x6a", + "0x4f", + "0xa6", + "0xa", + "0x23", + "0x4f", + "0xf1", + "0xc2", + "0x48", + "0x5f", + "0x69", + "0x90", + "0x36", + "0xd4", + "0x3e", + "0xbb", + "0x54", + "0xf2", + "0xce", + "0x80", + "0xc1", + "0x2c", + "0x5", + "0x67", + "0xee", + "0x88", + "0x3", + "0x6", + "0x11", + "0xcf", + "0xd4", + "0x4f", + "0xa4", + "0x36", + "0x22", + "0x6", + "0xe", + "0xab", + "0xc2", + "0xab", + "0xb4", + "0x4d", + "0xcf", + "0xcf", + "0x3", + "0x29", + "0x2c", + "0xc1", + "0x6f", + "0x22", + "0xcc", + "0x13", + "0xbf", + "0xa6", + "0xd1", + "0x0", + "0xb7", + "0x0", + "0x95", + "0xb0", + "0xc1", + "0x30", + "0x4f", + "0xa6", + "0xd3", + "0xac", + "0x1e", + "0xa4", + "0xd9", + "0xed", + "0x7", + "0xcf", + "0x6f", + "0x6f", + "0x74", + "0xa", + "0x75", + "0x5b", + "0x31", + "0xf", + "0xb0", + "0xe1", + "0x7c", + "0x69", + "0x60", + "0x60", + "0x62", + "0xcb", + "0x6e", + "0xad", + "0x4c", + "0x57", + "0x65", + "0xe8", + "0x29", + "0xa4", + "0xde", + "0x81", + "0xf9", + "0xdf", + "0x8e", + "0xba", + "0x3f", + "0xea", + "0xd3", + "0x12", + "0xd7", + "0xb7", + "0xd2", + "0xb8", + "0xa7", + "0xbb", + "0x0", + "0x7f", + "0x70", + "0xb8", + "0x7f", + "0x8e", + "0xf1", + "0x63", + "0x60", + "0x12", + "0x1b", + "0x50", + "0x6a", + "0x57", + "0xd9", + "0x5", + "0x28", + "0xc3", + "0x37", + "0x8d", + "0xce", + "0xb2", + "0xfe", + "0x35", + "0x2d", + "0x4c", + "0xf7", + "0x6d", + "0xbf", + "0x2", + "0x6f", + "0xe1", + "0x1e", + "0xf4", + "0xf0", + "0x42", + "0x6e", + "0x76", + "0xcd", + "0x52", + "0x12", + "0xe7", + "0xf", + "0x57", + "0x3f", + "0x85", + "0xbe", + "0x4c", + "0x39", + "0x2", + "0x25", + "0x3a", + "0xbf", + "0xde", + "0xd3", + "0x1c", + "0xf5", + "0xce", + "0x34", + "0xa1", + "0xeb", + "0xb4", + "0xc5", + "0x6", + "0xb2", + "0x5c", + "0xd5", + "0xa3", + "0x6c", + "0x2f", + "0x50", + "0xee", + "0x20", + "0xb6", + "0xeb", + "0x54", + "0x2d", + "0xde", + "0xec", + "0xb4", + "0xe9", + "0x20", + "0x9b", + "0x93", + "0x4b", + "0xc", + "0x34", + "0xcd", + "0xa3", + "0xff", + "0x6f", + "0x6d", + "0x8a", + "0xb4", + "0x90", + "0x31", + "0xc9", + "0xa2", + "0x25", + "0x2f", + "0x6", + "0x1", + "0xd9", + "0x3", + "0xba", + "0x57", + "0xf8", + "0x88", + "0x49", + "0xae", + "0x6", + "0x14", + "0xe9", + "0xba", + "0xbd", + "0xc3", + "0x81", + "0xde", + "0xe4", + "0x33", + "0xc0", + "0xbf", + "0x9", + "0x64", + "0x6a", + "0xb", + "0x1a", + "0x25", + "0xb8", + "0x58", + "0x5a", + "0x64", + "0x6", + "0x34", + "0x4", + "0xb5", + "0x64", + "0xee", + "0xdd", + "0xd0", + "0xe1", + "0x7", + "0x63", + "0x50", + "0xc3", + "0x5e", + "0x4a", + "0x71", + "0x42", + "0xbc", + "0xd0", + "0xa6", + "0x9e", + "0xc7", + "0x8f", + "0xc3", + "0xc5", + "0x80", + "0x61", + "0xd9", + "0xfb", + "0xe4", + "0xe6", + "0x3c", + "0x26", + "0x23", + "0xa", + "0x37", + "0x12", + "0x31", + "0x2d", + "0xc", + "0xfd", + "0x62", + "0x48", + "0x36", + "0x60", + "0x25", + "0xe2", + "0x38", + "0x4", + "0xa2", + "0xeb", + "0x2f", + "0xea", + "0x60", + "0x1e", + "0x39", + "0x15", + "0x86", + "0x95", + "0x3c", + "0x2c", + "0x99", + "0x82", + "0xc1", + "0xfd", + "0x1b", + "0x8e", + "0x60", + "0xcc", + "0xc0", + "0xb8", + "0x66", + "0x56", + "0xc6", + "0x8c", + "0x99", + "0xbf", + "0xd0", + "0xed", + "0x23", + "0x75", + "0x8b", + "0x7e", + "0x6d", + "0x58", + "0xeb", + "0xfd", + "0x8", + "0x89", + "0xf", + "0x86", + "0x19", + "0x2d", + "0x73", + "0xa0", + "0xd8", + "0xe2", + "0x26", + "0xfa", + "0xd7", + "0x80", + "0x56", + "0xa3", + "0x2c", + "0x3c", + "0x82", + "0x4f", + "0x85", + "0xad", + "0x8a", + "0x74", + "0x46", + "0xe8", + "0xa5", + "0x4a", + "0x53", + "0xa3", + "0x7a", + "0x91", + "0x80", + "0x18", + "0x4e", + "0x1b", + "0x4", + "0x2", + "0xad", + "0x84", + "0x6c", + "0x3", + "0xc2", + "0x87", + "0x8", + "0xba", + "0x45", + "0x35", + "0x32", + "0x25", + "0x40", + "0xdd", + "0x87", + "0xcb", + "0x41", + "0x2c", + "0x62", + "0x5c", + "0xc0", + "0x64", + "0x80", + "0x36", + "0xca", + "0xf3", + "0xfb", + "0xee", + "0x7f", + "0xc6", + "0x11", + "0x45", + "0x3f", + "0xc4", + "0x20", + "0x57", + "0xee", + "0xe5", + "0xb1", + "0x1a", + "0x46", + "0x5b", + "0x46", + "0x8b", + "0xe6", + "0x66", + "0x8c", + "0x6b", + "0x11", + "0x88", + "0x5", + "0x7a", + "0x68", + "0x3a", + "0xad", + "0xae", + "0x5d", + "0x59", + "0x1c", + "0x1", + "0x2d", + "0xfe", + "0xd6", + "0xf8", + "0x18", + "0x58", + "0x1d", + "0xc9", + "0x88", + "0x20", + "0xf3", + "0xf7", + "0x1e", + "0x31", + "0x60", + "0x33", + "0xc0", + "0x3c", + "0x27", + "0x94", + "0x4b", + "0xbe", + "0x31", + "0x8e", + "0x88", + "0x48", + "0xc5", + "0x47", + "0xdc", + "0xc8", + "0x62", + "0x9c", + "0x65", + "0x46", + "0xd5", + "0x52", + "0xce", + "0xd6", + "0xfb", + "0xbd", + "0xf3", + "0x88", + "0xb5", + "0x71", + "0x2e", + "0x1b", + "0x4f", + "0xc3", + "0x18", + "0xb7", + "0xc", + "0x3d", + "0xf5", + "0x1e", + "0xbc", + "0xc0", + "0xb", + "0x1", + "0x15", + "0x4c", + "0xfb", + "0xd7", + "0x8f", + "0xe6", + "0x3e", + "0x1f", + "0xe0", + "0xd8", + "0x64", + "0x76", + "0x9", + "0x6b", + "0x54", + "0x31", + "0x2", + "0xaf", + "0xa8", + "0xca", + "0x5f", + "0xe1", + "0x81", + "0x21", + "0x81", + "0x74", + "0x9e", + "0xb3", + "0xd4", + "0xb3", + "0x5a", + "0x80", + "0x3a", + "0xb6", + "0x8e", + "0x75", + "0x41", + "0xff", + "0x5b", + "0x64", + "0xa8", + "0x29", + "0x80", + "0xa7", + "0x20", + "0x20", + "0xac", + "0x5e", + "0x78", + "0x7e", + "0x9a", + "0x6b", + "0x57", + "0x25", + "0xd7", + "0x5f", + "0xa2", + "0xb2", + "0x90", + "0xd3", + "0x1a", + "0x90", + "0xb0", + "0x3c", + "0xbf", + "0xea", + "0x15", + "0xec", + "0x93", + "0x7d", + "0x9f", + "0x60", + "0x92", + "0x42", + "0x61", + "0x33", + "0x51", + "0x85", + "0x1f", + "0x50", + "0x11", + "0x95", + "0x70", + "0xe2", + "0x77", + "0xc4", + "0x77", + "0xf4", + "0x8b", + "0x1", + "0x3c", + "0x95", + "0x88", + "0x14", + "0x94", + "0x4c", + "0x45", + "0x22", + "0x17", + "0x7c", + "0x77", + "0xde", + "0xf1", + "0xdf", + "0x6b", + "0x16", + "0x45", + "0x41", + "0xb9", + "0x8b", + "0x11", + "0x23", + "0x4", + "0xbf", + "0x95", + "0x8d", + "0x3d", + "0xa7", + "0x80", + "0x6", + "0xe", + "0x51", + "0x97", + "0xd9", + "0x9", + "0xa9", + "0xa", + "0x97", + "0xee", + "0xe8", + "0x8f", + "0xe2", + "0x20", + "0x10", + "0x14", + "0xb4", + "0x44", + "0x2c", + "0xbc", + "0x15", + "0x38", + "0xb9", + "0x61", + "0x4c", + "0xfb", + "0x79", + "0x12", + "0xbd", + "0xf0", + "0xa4", + "0x59", + "0xf9", + "0xed", + "0x72", + "0xe1", + "0x29", + "0xb8", + "0x95", + "0x3b", + "0x6", + "0xd0", + "0x55", + "0x8b", + "0xdb", + "0x96", + "0xa0", + "0xe5", + "0x55", + "0x53", + "0xad", + "0xaa", + "0x3e", + "0x11", + "0xa", + "0x55", + "0x4a", + "0x71", + "0x41", + "0xcd", + "0xf4", + "0x59", + "0x7b", + "0x15", + "0x5d", + "0xb6", + "0x21", + "0x5c", + "0xfb", + "0x3a", + "0x73", + "0xd2", + "0xc8", + "0x75", + "0x60", + "0x2d", + "0x78", + "0xb8", + "0xaf", + "0xa", + "0x95", + "0x43", + "0x29", + "0x46", + "0x78", + "0x12", + "0xd2", + "0xe6", + "0x4a", + "0x68", + "0xf1", + "0xe0", + "0x19", + "0xf7", + "0xdd", + "0x6", + "0x8b", + "0x65", + "0xc", + "0x91", + "0x2d", + "0xfa", + "0xb6", + "0xbe", + "0x14", + "0xe8", + "0xa6", + "0x93", + "0xc2", + "0x48", + "0x59", + "0x51", + "0x3a", + "0xc6", + "0x80", + "0x35", + "0x37", + "0xa", + "0xcb", + "0x23", + "0xe9", + "0x22", + "0xeb", + "0x82", + "0xfd", + "0xc2", + "0x26", + "0xf6", + "0xde", + "0x16", + "0xeb", + "0x8b", + "0xd2", + "0x75", + "0x5c", + "0x12", + "0x1a", + "0xe9", + "0xcd", + "0x8c", + "0x19", + "0x83", + "0x53", + "0xe0", + "0xf9", + "0x87", + "0x45", + "0x7", + "0xd9", + "0xf1", + "0x87", + "0x2f", + "0x9f", + "0xb2", + "0xf8", + "0xe9", + "0x25", + "0x92", + "0x72", + "0x89", + "0x7e", + "0xdc", + "0x23", + "0x2c", + "0x42", + "0xfd", + "0x24", + "0x61", + "0x55", + "0xec", + "0xac", + "0x9c", + "0xbb", + "0xe6", + "0xd7", + "0xf0", + "0xcf", + "0x3c", + "0xb9", + "0xf4", + "0xc9", + "0xcc", + "0x0", + "0x14", + "0xba", + "0x71", + "0x6", + "0xaa", + "0x30", + "0x41", + "0xa4", + "0xee", + "0x3f", + "0x69", + "0x34", + "0x27", + "0xac", + "0x60", + "0xec", + "0x24", + "0x79", + "0x5d", + "0x47", + "0x52", + "0x3", + "0xbf", + "0x7f", + "0xf4", + "0x6e", + "0xea", + "0x29", + "0x2d", + "0xc0", + "0xda", + "0x0", + "0xd4", + "0x72", + "0x7c", + "0xbb", + "0xf0", + "0xd8", + "0xc1", + "0x6b", + "0xe", + "0x5f", + "0x6a", + "0x2e", + "0x74", + "0xf3", + "0xb3", + "0x7b", + "0xe2", + "0xae", + "0x12", + "0x25", + "0x9a", + "0x0", + "0xc0", + "0xc6", + "0x27", + "0x27", + "0x3e", + "0x20", + "0x30", + "0x17", + "0x2c", + "0x22", + "0x2e", + "0x86", + "0x62", + "0xae", + "0xee", + "0x57", + "0xf9", + "0xd0", + "0xe6", + "0x97", + "0x78", + "0xf9", + "0x50", + "0x24", + "0x7c", + "0xc7", + "0xa6", + "0x88", + "0x95", + "0xe3", + "0xdf", + "0x20", + "0xe9", + "0xb7", + "0x87", + "0xbd", + "0x92", + "0x6c", + "0xff", + "0xdb", + "0x2b", + "0x81", + "0x98", + "0x32", + "0x52", + "0xc2", + "0x1e", + "0x38", + "0x1f", + "0x62", + "0x22", + "0xaf", + "0xe7", + "0xdd", + "0x83", + "0x57", + "0x1e", + "0x24", + "0xd0", + "0xd", + "0x27", + "0x4d", + "0xf7", + "0x48", + "0xb7", + "0x85", + "0x3", + "0xa4", + "0x1b", + "0x6d", + "0xf9", + "0x83", + "0x15", + "0x41", + "0x96", + "0xa7", + "0xa9", + "0x67", + "0xca", + "0x84", + "0x16", + "0xbd", + "0x87", + "0x80", + "0x95", + "0x9b", + "0x40", + "0x47", + "0x89", + "0xaf", + "0x85", + "0xa5", + "0xda", + "0xf0", + "0x19", + "0x95", + "0xa8", + "0x86", + "0x2f", + "0x70", + "0xa3", + "0x5d", + "0x50", + "0x9", + "0x43", + "0x7f", + "0x8f", + "0xeb", + "0x74", + "0x8f", + "0x9a", + "0x68", + "0xdc", + "0xa0", + "0xc", + "0xad", + "0x33", + "0x76", + "0xb8", + "0x6b", + "0xfa", + "0x70", + "0x78", + "0x78", + "0xa9", + "0x8f", + "0xd7", + "0x15", + "0xb2", + "0xe8", + "0xc9", + "0xb2", + "0xcb", + "0xda", + "0x60", + "0x66", + "0x29", + "0x9d", + "0x7c", + "0x72", + "0x17", + "0xd9", + "0x17", + "0xda", + "0x85", + "0xd5", + "0xdd", + "0xfa", + "0x18", + "0x91", + "0xcf", + "0xa2", + "0x60", + "0x40", + "0x98", + "0xcb", + "0x8c", + "0xe6", + "0x6e", + "0xc0", + "0xf4", + "0xde", + "0x3", + "0xdb", + "0x33", + "0x7a", + "0x14", + "0x7d", + "0x11", + "0x1a", + "0x18", + "0x10", + "0xd6", + "0xad", + "0x97", + "0x8f", + "0x59", + "0xdc", + "0xc4", + "0xd1", + "0x79", + "0x27", + "0x61", + "0x1", + "0x3", + "0xa2", + "0x96", + "0x58", + "0x49", + "0xcf", + "0xbf", + "0xfe", + "0x5a", + "0x85", + "0xf3", + "0xb1", + "0x96", + "0xc1", + "0xe", + "0xa7", + "0x5", + "0x23", + "0xe5", + "0x31", + "0xa", + "0x57", + "0x5f", + "0xd8", + "0x67", + "0xdb", + "0x8d", + "0xb8", + "0x14", + "0x4d", + "0x3d", + "0xa4", + "0x80", + "0x5b", + "0x7f", + "0x10", + "0x8", + "0xaf", + "0x54", + "0x0", + "0x82", + "0xc1", + "0x84", + "0x48", + "0x37", + "0x15", + "0x50", + "0xb1", + "0x7d", + "0x11", + "0x76", + "0xa8", + "0xc4", + "0xaf", + "0x22", + "0xe3", + "0x95", + "0xd2", + "0x9d", + "0x37", + "0xc0", + "0xba", + "0xce", + "0x91", + "0x84", + "0xab", + "0x65", + "0x5c", + "0x21", + "0x4a", + "0xe3", + "0x97", + "0xa", + "0x56", + "0x16", + "0x18", + "0xd", + "0xb0", + "0xdb", + "0x24", + "0xd9", + "0x5b", + "0xc", + "0xd2", + "0xa5", + "0x13", + "0xd5", + "0xdf", + "0x93", + "0xeb", + "0xf7", + "0xc9", + "0x6f", + "0x30", + "0xf2", + "0xb6", + "0x26", + "0xdb", + "0x12", + "0x41", + "0x9b", + "0x78", + "0xae", + "0x8d", + "0x8a", + "0xdc", + "0xed", + "0x6b", + "0x2c", + "0x14", + "0xf8", + "0x63", + "0x49", + "0xda", + "0x88", + "0x6", + "0x98", + "0x70", + "0x65", + "0x25", + "0x67", + "0xd3", + "0x73", + "0x10", + "0xab", + "0x95", + "0x14", + "0x27", + "0x58", + "0x15", + "0xd2", + "0xb0", + "0x8a", + "0xbb", + "0xaf", + "0xbe", + "0x82", + "0x7e", + "0x1d", + "0x73", + "0xe4", + "0x31", + "0x41", + "0x5", + "0xce", + "0x60", + "0x12", + "0x1e", + "0x0", + "0xd8", + "0x96", + "0xd9", + "0x70", + "0xb5", + "0x21", + "0x15", + "0x47", + "0xc5", + "0x2d", + "0x8c", + "0xfa", + "0x7b", + "0x34", + "0x43", + "0x83", + "0x2e", + "0xc8", + "0xb2", + "0x8f", + "0x92", + "0x89", + "0x5", + "0xa3", + "0x85", + "0x1", + "0xd1", + "0xe", + "0xf8", + "0x5b", + "0xc8", + "0xa", + "0x35", + "0xab", + "0x21", + "0x69", + "0x6b", + "0x94", + "0x30", + "0x59", + "0xb3", + "0x92", + "0x92", + "0x2b", + "0xd", + "0xb2", + "0x94", + "0x91", + "0xf7", + "0x48", + "0xa4", + "0xd8", + "0xf7", + "0x4c", + "0x95", + "0x91", + "0x2d", + "0xbe", + "0x24", + "0xcd", + "0x13", + "0xb7", + "0xc4", + "0xc9", + "0x77", + "0xb0", + "0x1a", + "0x79", + "0xa6", + "0xe1", + "0xb1", + "0xe9", + "0x91", + "0x81", + "0xfa", + "0xca", + "0x20", + "0x5e", + "0x28", + "0x7d", + "0xbf", + "0x93", + "0x5f", + "0x83", + "0xf8", + "0xbd", + "0x21", + "0x22", + "0x30", + "0xef", + "0x75", + "0xcf", + "0x1c", + "0x82", + "0xb3", + "0x95", + "0xa4", + "0xae", + "0x1b", + "0x11", + "0x61", + "0x3b", + "0xeb", + "0x13", + "0x4d", + "0x77", + "0x4c", + "0x96", + "0x95", + "0x9d", + "0x0", + "0xf5", + "0x8c", + "0x70", + "0x2e", + "0x2", + "0x80", + "0xb", + "0x94", + "0x8e", + "0x0", + "0x21", + "0xdb", + "0xf9", + "0x19", + "0x17", + "0xdc", + "0xb8", + "0xa0", + "0x93", + "0x20", + "0xa6", + "0x6a", + "0x38", + "0xa0", + "0x4c", + "0x41", + "0x79", + "0x80", + "0x30", + "0x11", + "0xc7", + "0x5c", + "0x1d", + "0xdf", + "0x97", + "0x7f", + "0x91", + "0x10", + "0x36", + "0x72", + "0x1", + "0x90", + "0x2", + "0xa1", + "0x38", + "0xc8", + "0x3a", + "0x42", + "0x1d", + "0x61", + "0x9f", + "0x94", + "0xc7", + "0xd6", + "0xd6", + "0xab", + "0x9d", + "0x44", + "0xf2", + "0xf2", + "0xfc", + "0xc1", + "0x3e", + "0x3", + "0x2a", + "0x8b", + "0x17", + "0x52", + "0x1f", + "0x9f", + "0x73", + "0x3a", + "0x3c", + "0xf3", + "0x2d", + "0x73", + "0x3f", + "0xa3", + "0x49", + "0xb0", + "0xaa", + "0x2b", + "0xa9", + "0x69", + "0xf", + "0x31", + "0x27", + "0x23", + "0xd8", + "0xef", + "0xaa", + "0x48", + "0x3", + "0x4d", + "0x5e", + "0x66", + "0xd6", + "0x49", + "0x19", + "0xab", + "0xda", + "0x98", + "0xe9", + "0x9a", + "0x26", + "0xd5", + "0x1e", + "0x20", + "0xd0", + "0xcf", + "0x61", + "0x47", + "0x7d", + "0x6c", + "0xfe", + "0x6d", + "0xd1", + "0x6c", + "0xcd", + "0xf", + "0x50", + "0xa", + "0x24", + "0x14", + "0xf1", + "0x89", + "0x2b", + "0xb8", + "0x6c", + "0x94", + "0xbd", + "0x2e", + "0xbf", + "0xba", + "0x1d", + "0xc4", + "0x73", + "0xad", + "0x6c", + "0xdc", + "0x68", + "0x7c", + "0x5b", + "0x10", + "0xf9", + "0x67", + "0x29", + "0xce", + "0xb7", + "0x4", + "0x84", + "0xe0", + "0x39", + "0x8a", + "0x27", + "0xd9", + "0xf9", + "0x43", + "0x2b", + "0x11", + "0x4d", + "0x2c", + "0xa7", + "0xb", + "0x91", + "0xf4", + "0x54", + "0x9a", + "0x3c", + "0x60", + "0x56", + "0x97", + "0xb5", + "0xfb", + "0x2a", + "0xa1", + "0x78", + "0xee", + "0x77", + "0xb9", + "0xa1", + "0x3b", + "0x49", + "0xa4", + "0x5", + "0x32", + "0x7b", + "0x18", + "0x16", + "0xd5", + "0x60", + "0xd8", + "0x3d", + "0x84", + "0xd6", + "0xf1", + "0x13", + "0xf4", + "0xab", + "0xd5", + "0x15", + "0x9d", + "0x3c", + "0x0", + "0x37", + "0x6a", + "0x8d", + "0xed", + "0xb8", + "0xbd", + "0xd0", + "0x80", + "0x56", + "0x21", + "0x64", + "0xff", + "0x94", + "0x18", + "0x98", + "0xa4", + "0x1", + "0xc3", + "0xaa", + "0xaa", + "0x72", + "0xbc", + "0xf7", + "0x5b", + "0x22", + "0x62", + "0xc9", + "0xaa", + "0xfd", + "0x1", + "0x65", + "0xd7", + "0xf5", + "0x62", + "0xfa", + "0x2f", + "0xcc", + "0x25", + "0xa0", + "0xd6", + "0x26", + "0x3b", + "0x4a", + "0x21", + "0x90", + "0x80", + "0xae", + "0x84", + "0xd9", + "0x59", + "0xe4", + "0x25", + "0xf3", + "0x8f", + "0x10", + "0x4", + "0x16", + "0x67", + "0x34", + "0x64", + "0x4c", + "0x70", + "0xcd", + "0x3e", + "0x2b", + "0xa4", + "0xe2", + "0xc0", + "0xfa", + "0x48", + "0x71", + "0x83", + "0x74", + "0x3", + "0xf1", + "0xd4", + "0x53", + "0xdb", + "0xde", + "0x72", + "0xe7", + "0xb4", + "0xb0", + "0x45", + "0x91", + "0x6c", + "0x83", + "0xb8", + "0x38", + "0x78", + "0x71", + "0x79", + "0x42", + "0x8b", + "0xe3", + "0x84", + "0xfc", + "0xac", + "0x83", + "0x90", + "0x29", + "0xa2", + "0x69", + "0x6", + "0x6e", + "0xd2", + "0xb6", + "0xb3", + "0x10", + "0xe7", + "0x70", + "0xe6", + "0xdc", + "0xdb", + "0x56", + "0xc2", + "0x2b", + "0x59", + "0xad", + "0x3", + "0x2b", + "0xe4", + "0x84", + "0x96", + "0x44", + "0xbf", + "0x67", + "0x1e", + "0xcc", + "0x1e", + "0xc6", + "0x5e", + "0x5b", + "0x95", + "0xe4", + "0xad", + "0x1", + "0x60", + "0x86", + "0x23", + "0x54", + "0x9", + "0x84", + "0x1e", + "0x1d", + "0x1a", + "0xd7", + "0x62", + "0x53", + "0x5e", + "0xb5", + "0x5f", + "0x52", + "0x81", + "0x78", + "0xee", + "0x3d", + "0x86", + "0x83", + "0xe3", + "0xad", + "0x94", + "0x9e", + "0x42", + "0xc0", + "0xc1", + "0xb2", + "0x1d", + "0x72", + "0x3e", + "0x2b", + "0x5e", + "0x69", + "0xb4", + "0x52", + "0xf1", + "0x92", + "0x8", + "0x8", + "0x6b", + "0xc5", + "0x38", + "0x3e", + "0x90", + "0xd4", + "0xfe", + "0xc3", + "0x48", + "0xab", + "0xbf", + "0xe5", + "0x4f", + "0x42", + "0x6", + "0x97", + "0xea", + "0x46", + "0xa0", + "0xea", + "0x81", + "0x5", + "0x86", + "0xe3", + "0x34", + "0x96", + "0x31", + "0x7e", + "0x3f", + "0xf8", + "0x86", + "0xbc", + "0xb4", + "0x90", + "0xc3", + "0x3", + "0x22", + "0xf6", + "0xd7", + "0x1e", + "0xe0", + "0xee", + "0x25", + "0x3d", + "0x3c", + "0x61", + "0x76", + "0x35", + "0x50", + "0x5", + "0x27", + "0xfe", + "0x37", + "0xa3", + "0xbd", + "0xee", + "0x45", + "0x3a", + "0xb5", + "0x90", + "0xfc", + "0x36", + "0xd9", + "0xc0", + "0xcf", + "0xe4", + "0x8a", + "0xb5", + "0xda", + "0xe3", + "0xcd", + "0x20", + "0xb1", + "0x22", + "0x66", + "0x62", + "0x83", + "0x77", + "0xda", + "0xcf", + "0xcb", + "0x96", + "0x62", + "0x3", + "0x5d", + "0x22", + "0xda", + "0x29", + "0x4b", + "0x49", + "0xf0", + "0xe7", + "0x7a", + "0x14", + "0xf1", + "0xad", + "0xc0", + "0xe4", + "0x93", + "0xa9", + "0xc7", + "0xad", + "0xc7", + "0x19", + "0x6", + "0x51", + "0x22", + "0xc0", + "0x89", + "0x3b", + "0xfc", + "0x39", + "0x3", + "0x9c", + "0x23", + "0xcd", + "0xd0", + "0xac", + "0x51", + "0xf5", + "0x5d", + "0xc7", + "0xe2", + "0x2", + "0x25", + "0x37", + "0x2e", + "0xb8", + "0x97", + "0x28", + "0xb9", + "0x20", + "0x67", + "0x96", + "0xf2", + "0x94", + "0x4c", + "0x1e", + "0x6a", + "0xb6", + "0x7f", + "0x4e", + "0xf4", + "0x9c", + "0xed", + "0x6c", + "0x89", + "0x82", + "0x35", + "0xec", + "0x21", + "0x5e", + "0xdb", + "0x56", + "0x2e", + "0xb1", + "0xb5", + "0x1f", + "0x9b", + "0x1", + "0x11", + "0xb8", + "0x42", + "0x45", + "0x91", + "0x61", + "0x98", + "0xee", + "0x96", + "0xd4", + "0x36", + "0x98", + "0x72", + "0x8f", + "0x74", + "0x5d", + "0xf1", + "0x83", + "0xf3", + "0xbd", + "0xa1", + "0x7e", + "0xef", + "0x22", + "0xef", + "0x7", + "0x71", + "0x68", + "0x53", + "0x9e", + "0xb3", + "0x1b", + "0x2d", + "0x3d", + "0xae", + "0x60", + "0x23", + "0xab", + "0xdd", + "0xbc", + "0xeb", + "0x4a", + "0xb8", + "0x99", + "0x75", + "0x99", + "0x4d", + "0xfb", + "0x3e", + "0x26", + "0xf2", + "0xd8", + "0x34", + "0xad", + "0x39", + "0x5b", + "0x82", + "0x34", + "0x1e", + "0xd2", + "0xfa", + "0x56", + "0x2e", + "0xdc", + "0x27", + "0xc5", + "0x38", + "0xe7", + "0x6e", + "0x69", + "0x92", + "0x52", + "0xca", + "0x34", + "0x7", + "0x3b", + "0x14", + "0x16", + "0xa5", + "0x7b", + "0x65", + "0x21", + "0x1f", + "0x46", + "0x25", + "0x46", + "0x3c", + "0x4d", + "0xe4", + "0x1", + "0xc2", + "0x29", + "0xcf", + "0xb1", + "0x34", + "0xe9", + "0x3c", + "0x6d", + "0xe4", + "0xb9", + "0x98", + "0x37", + "0xdc", + "0xd6", + "0x53", + "0xd3", + "0x39", + "0x8a", + "0x36", + "0xa7", + "0x9f", + "0xf6", + "0xd6", + "0x5", + "0x17", + "0x7", + "0x52", + "0x45", + "0x8d", + "0xe2", + "0xe5", + "0x59", + "0x3d", + "0x64", + "0xc8", + "0x6e", + "0xe0", + "0x19", + "0xdf", + "0xba", + "0xc1", + "0xa7", + "0x1c", + "0x26", + "0xe", + "0xc5", + "0xb6", + "0x6f", + "0x82", + "0xcf", + "0xdd", + "0x39", + "0xe1", + "0x43", + "0x9a", + "0x76", + "0x90", + "0xac", + "0x53", + "0x38", + "0xc8", + "0x55", + "0xe4", + "0x4", + "0x7b", + "0x70", + "0x14", + "0x27", + "0xde", + "0x9f", + "0xf2", + "0x45", + "0x33", + "0xc9", + "0x9a", + "0xd3", + "0xa5", + "0x7a", + "0x18", + "0xff", + "0x72", + "0x43", + "0xd7", + "0x53", + "0xa2", + "0x10", + "0x10", + "0x1a", + "0xfb", + "0xce", + "0x56", + "0x26", + "0x6e", + "0x14", + "0xf6", + "0x4c", + "0x2d", + "0x4b", + "0x8b", + "0x7", + "0x8", + "0xe5", + "0xc6", + "0x63", + "0xf5", + "0xfd", + "0xb6", + "0xbb", + "0xf2", + "0xd4", + "0xad", + "0x56", + "0x1c", + "0x17", + "0xc2", + "0xa1", + "0x6b", + "0xb8", + "0x8e", + "0x95", + "0x68", + "0xe9", + "0x58", + "0xa7", + "0x0", + "0xbd", + "0x75", + "0x45", + "0x1a", + "0x4d", + "0x86", + "0x42", + "0xf1", + "0x3c", + "0x4d", + "0x30", + "0x28", + "0x89", + "0x54", + "0x2b", + "0x2", + "0x65", + "0xd7", + "0xcd", + "0x5e", + "0x99", + "0x59", + "0xdf", + "0xd4", + "0x54", + "0x92", + "0x9d", + "0x8", + "0xf5", + "0x45", + "0x21", + "0x7d", + "0x53", + "0xb9", + "0x43", + "0x8", + "0xf", + "0x84", + "0x56", + "0x5f", + "0x26", + "0x83", + "0xb6", + "0x43", + "0xe8", + "0x3f", + "0xdd", + "0x66", + "0x3f", + "0xa1", + "0xac", + "0x2b", + "0x9", + "0x40", + "0x49", + "0xc1", + "0x35", + "0x26", + "0x8", + "0x1e", + "0x64", + "0x1a", + "0x73", + "0x68", + "0x4d", + "0xcb", + "0xc2", + "0xe7", + "0xa5", + "0x65", + "0xbf", + "0x25", + "0xb2", + "0xd0", + "0xe0", + "0x56", + "0x3b", + "0x7e", + "0xde", + "0x86", + "0xce", + "0x69", + "0x6b", + "0x84", + "0x55", + "0x93", + "0x8b", + "0xe2", + "0xfa", + "0x32", + "0x4f", + "0x12", + "0x9", + "0x82", + "0x9", + "0x66", + "0x2", + "0x30", + "0xd", + "0x22", + "0x37", + "0x27", + "0x1e", + "0xa4", + "0x61", + "0xb8", + "0x72", + "0x82", + "0xbc", + "0x2a", + "0x4b", + "0x5e", + "0x80", + "0x6e", + "0x22", + "0x71", + "0x52", + "0xb9", + "0x17", + "0x85", + "0xfe", + "0x27", + "0x53", + "0xf7", + "0x5f", + "0xc9", + "0xf5", + "0x5f", + "0x3f", + "0x4c", + "0x23", + "0xee", + "0x78", + "0x33", + "0x3", + "0x9", + "0x65", + "0x4f", + "0xe2", + "0xfd", + "0xba", + "0x80", + "0xca", + "0x64", + "0xdf", + "0xdc", + "0xd5", + "0xc4", + "0xbf", + "0xac", + "0x1d", + "0xa7", + "0x47", + "0x24", + "0xd2", + "0x39", + "0x92", + "0x14", + "0x8", + "0x2e", + "0xff", + "0x64", + "0xc1", + "0xaa", + "0xb4", + "0xff", + "0xf9", + "0xa8", + "0x8", + "0xa5", + "0x3f", + "0x56", + "0x44", + "0x12", + "0x9c", + "0xcb", + "0xc7", + "0x38", + "0xbf", + "0xf3", + "0x9e", + "0xd4", + "0xa0", + "0x9", + "0xb6", + "0x81", + "0x18", + "0xd1", + "0x84", + "0x4a", + "0x31", + "0x87", + "0xa", + "0x4", + "0x42", + "0xab", + "0xe0", + "0xbd", + "0x85", + "0x5a", + "0xe7", + "0xfd", + "0x67", + "0x9a", + "0xba", + "0x3b", + "0x2f", + "0x9b", + "0x66", + "0xc2", + "0x6d", + "0x8a", + "0x73", + "0xb7", + "0x6d", + "0x85", + "0x7", + "0x21", + "0x10", + "0x39", + "0x25", + "0xa8", + "0xcd", + "0x75", + "0xaf", + "0x9c", + "0x9d", + "0x44", + "0x51", + "0xcb", + "0x9d", + "0x22", + "0x9a", + "0x28", + "0xce", + "0xb0", + "0x50", + "0x71", + "0x56", + "0x22", + "0x14", + "0x24", + "0x5", + "0x46", + "0xb3", + "0x75", + "0x64", + "0x7a", + "0x60", + "0xc", + "0xf1", + "0x1", + "0x4f", + "0x1d", + "0x4e", + "0xc3", + "0x6a", + "0xdf", + "0xb4", + "0x9e", + "0x4", + "0x9e", + "0xe3", + "0xd8", + "0x25", + "0x0" + ], + "padding": 7 + }, + "hashCount": 13, + "insertionCount": 10000, + "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "bits": { + "bitmap": [ + "0xc2", + "0x38", + "0xd3", + "0x8c", + "0xff", + "0x30", + "0xa6", + "0x8a", + "0x73", + "0x38", + "0x8f", + "0xf2", + "0xaa", + "0xfe", + "0xda", + "0x1b", + "0x27", + "0xbe", + "0x79", + "0x74", + "0xe8", + "0xca", + "0xbd", + "0x8e", + "0x7c", + "0xbd", + "0x78", + "0x1f", + "0xe8", + "0x65", + "0x90", + "0xf6", + "0xf6", + "0x59", + "0xf5", + "0xcd", + "0xa8", + "0xd9", + "0x50", + "0x50", + "0xe3", + "0xb0", + "0xc1", + "0x85", + "0xf1", + "0x6", + "0x5e", + "0x3e", + "0x95", + "0x8e", + "0xc9", + "0xcf", + "0x23", + "0xbc", + "0x6f", + "0xc5", + "0xf7", + "0xd4", + "0x5f", + "0xbd", + "0x9d", + "0xf", + "0x20", + "0xe5", + "0xd5", + "0x7", + "0x84", + "0x7f", + "0x24", + "0xe0", + "0x60", + "0x1f", + "0x8e", + "0xd", + "0x22", + "0xf2", + "0x54", + "0x86", + "0xb2", + "0x66", + "0xc7", + "0x99", + "0x5a", + "0xa0", + "0xc8", + "0xab", + "0x3c", + "0x7e", + "0xce", + "0x9c", + "0x4a", + "0x97", + "0x9d", + "0xb3", + "0x63", + "0xe8", + "0xc1", + "0xbe", + "0xbf", + "0x7b", + "0xd5", + "0x71", + "0x3b", + "0x4c", + "0xb5", + "0xf4", + "0x88", + "0x26", + "0xda", + "0x6", + "0x2b", + "0x46", + "0x93", + "0xaa", + "0xa6", + "0xb4", + "0x38", + "0xe", + "0x42", + "0xd5", + "0x27", + "0xbc", + "0xa5", + "0xbb", + "0x62", + "0xc4", + "0x49", + "0x68", + "0xb8", + "0x5", + "0xcd", + "0x57", + "0x7b", + "0xc4", + "0x7b", + "0x63", + "0x92", + "0xd5", + "0xd5", + "0x59", + "0xbf", + "0xf7", + "0x24", + "0x7b", + "0x90", + "0x41", + "0x1f", + "0x4f", + "0x82", + "0x83", + "0xc2", + "0x53", + "0xf0", + "0xb2", + "0x71", + "0xba", + "0x22", + "0xc8", + "0xcf", + "0x9d", + "0x47", + "0x7b", + "0x33", + "0xc", + "0xb3", + "0x72", + "0xcf", + "0x2b", + "0xae", + "0xf6", + "0x9f", + "0x6d", + "0x44", + "0x61", + "0xff", + "0xef", + "0xfc", + "0x40", + "0x12", + "0xe2", + "0xae", + "0xa1", + "0x76", + "0x58", + "0x4", + "0x76", + "0x45", + "0x6c", + "0x4", + "0xca", + "0x93", + "0x35", + "0x79", + "0x34", + "0x7", + "0xc9", + "0x83", + "0x19", + "0xe3", + "0x4d", + "0x8e", + "0x7a", + "0x48", + "0x63", + "0xe0", + "0x78", + "0x95", + "0xf8", + "0x3c", + "0xfe", + "0x92", + "0x72", + "0xc8", + "0x1c", + "0xf2", + "0x33", + "0xfd", + "0x94", + "0x13", + "0x4f", + "0x42", + "0x56", + "0x0", + "0xd1", + "0x34", + "0x3b", + "0xf0", + "0xc4", + "0xe0", + "0x62", + "0xd3", + "0xad", + "0x72", + "0xb3", + "0xfb", + "0xee", + "0x98", + "0xf8", + "0x6", + "0x91", + "0x79", + "0x88", + "0xc9", + "0xcd", + "0xb9", + "0x7b", + "0x53", + "0x10", + "0x3f", + "0xec", + "0xeb", + "0x27", + "0x99", + "0x6f", + "0xe1", + "0x99", + "0x8b", + "0xcd", + "0x2a", + "0xd8", + "0x6d", + "0xb0", + "0x46", + "0xaf", + "0x4b", + "0x7f", + "0xa5", + "0x8f", + "0x6c", + "0x37", + "0x5d", + "0x60", + "0x27", + "0x56", + "0x9c", + "0x92", + "0xb0", + "0x77", + "0x61", + "0x3e", + "0x3d", + "0xb8", + "0x31", + "0x79", + "0x54", + "0xe6", + "0xdb", + "0x33", + "0x69", + "0xf3", + "0x12", + "0x42", + "0x7d", + "0xbf", + "0x7c", + "0x9d", + "0x2a", + "0xfc", + "0x95", + "0x3f", + "0x6f", + "0x5e", + "0x44", + "0x45", + "0xc9", + "0xc8", + "0x33", + "0xdd", + "0x94", + "0xfb", + "0xcb", + "0x97", + "0x69", + "0x3b", + "0x52", + "0xf5", + "0xdb", + "0x7e", + "0x4e", + "0x51", + "0xde", + "0x57", + "0xce", + "0xe9", + "0xc7", + "0x21", + "0x9d", + "0xb6", + "0xdc", + "0x89", + "0xa3", + "0x86", + "0xbd", + "0xf7", + "0x2e", + "0x47", + "0x12", + "0xe5", + "0x1e", + "0xfc", + "0x8a", + "0xbd", + "0x54", + "0x8f", + "0x5f", + "0x66", + "0xd", + "0xe0", + "0xc7", + "0xcd", + "0x5b", + "0x7f", + "0xf4", + "0xaf", + "0x94", + "0x27", + "0x2b", + "0xb1", + "0xdb", + "0x0", + "0xc4", + "0x63", + "0x18", + "0x2", + "0xc7", + "0x1e", + "0x4", + "0xb1", + "0xfc", + "0xa5", + "0x81", + "0x4", + "0xa0", + "0x8c", + "0x86", + "0xec", + "0x5b", + "0xfe", + "0xb8", + "0x40", + "0xc5", + "0x34", + "0xdb", + "0xf8", + "0xc8", + "0xb7", + "0x78", + "0x84", + "0x25", + "0x86", + "0x50", + "0xb1", + "0x38", + "0x93", + "0x32", + "0xf9", + "0xbe", + "0x14", + "0x6c", + "0xee", + "0xe8", + "0xf5", + "0x2d", + "0x2e", + "0xa9", + "0x66", + "0x40", + "0x2a", + "0x31", + "0x41", + "0x6a", + "0xd7", + "0xca", + "0x49", + "0x8", + "0xb7", + "0xe4", + "0x9a", + "0x25", + "0xea", + "0x5", + "0x4a", + "0x42", + "0x3c", + "0x5b", + "0xa0", + "0xe9", + "0x5c", + "0xd3", + "0x9", + "0x51", + "0xf", + "0x9f", + "0x24", + "0xd0", + "0x77", + "0xc7", + "0x57", + "0xa", + "0x88", + "0x48", + "0xc4", + "0xf", + "0x67", + "0xf", + "0x8f", + "0xb3", + "0x51", + "0xe3", + "0x41", + "0x87", + "0x53", + "0x7b", + "0xbb", + "0xdb", + "0x39", + "0xf", + "0xf5", + "0x40", + "0x7c", + "0xb6", + "0xa7", + "0x26", + "0x73", + "0xa7", + "0x4f", + "0x2e", + "0xe1", + "0xc1", + "0xfb", + "0xf7", + "0x32", + "0xed", + "0x15", + "0x2f", + "0xab", + "0xf8", + "0x31", + "0xcf", + "0x7c", + "0xd7", + "0x91", + "0xf7", + "0x5d", + "0x9c", + "0xb5", + "0xb6", + "0x65", + "0xca", + "0xea", + "0xb2", + "0x81", + "0xb6", + "0x75", + "0xed", + "0x5c", + "0xe3", + "0x24", + "0x55", + "0x6f", + "0xb2", + "0x2a", + "0x6e", + "0xeb", + "0x5f", + "0xee", + "0xf8", + "0x5e", + "0x27", + "0x41", + "0xaa", + "0xe9", + "0x15", + "0x24", + "0x35", + "0x57", + "0x3c", + "0xd1", + "0xb6", + "0xa8", + "0x9e", + "0x31", + "0xb0", + "0x85", + "0x36", + "0x2f", + "0xdd", + "0x94", + "0x25", + "0x7f", + "0xab", + "0x94", + "0x57", + "0xe1", + "0x72", + "0x82", + "0x33", + "0xe7", + "0xf9", + "0xb7", + "0x47", + "0x5e", + "0x5", + "0x73", + "0x3f", + "0x61", + "0xb7", + "0xb7", + "0xa9", + "0x7", + "0x85", + "0x3f", + "0x85", + "0x85", + "0xdd", + "0x8f", + "0x10", + "0xe7", + "0x86", + "0xbb", + "0x8", + "0x7a", + "0x50", + "0x9e", + "0xd1", + "0x18", + "0x12", + "0x6e", + "0x8b", + "0x9b", + "0x8b", + "0xd6", + "0x3f", + "0x87", + "0xbb", + "0xfc", + "0x72", + "0x7e", + "0xcb", + "0x4d", + "0xe0", + "0xfd", + "0x70", + "0xfa", + "0x1d", + "0x2f", + "0x3c", + "0x5d", + "0xce", + "0x8b", + "0x25", + "0x40", + "0xe9", + "0xc8", + "0x89", + "0xb9", + "0x27", + "0xee", + "0x60", + "0xbc", + "0xd8", + "0xa3", + "0x94", + "0xc9", + "0x5a", + "0x7a", + "0xe7", + "0x7a", + "0x1b", + "0x39", + "0xf8", + "0xe0", + "0x75", + "0x7d", + "0x68", + "0x5c", + "0xe0", + "0x3f", + "0x33", + "0xf2", + "0x72", + "0xb1", + "0x28", + "0xb2", + "0x86", + "0xd9", + "0x4f", + "0xa7", + "0xb9", + "0x7b", + "0x9f", + "0xf", + "0xfb", + "0x96", + "0x9f", + "0x33", + "0x90", + "0x67", + "0xe8", + "0x46", + "0xcf", + "0xf5", + "0x3d", + "0x3", + "0x2b", + "0x9e", + "0x95", + "0xe8", + "0xac", + "0x96", + "0x48", + "0x8f", + "0xc1", + "0xe7", + "0x15", + "0xd7", + "0xca", + "0x33", + "0xbb", + "0xcc", + "0xfe", + "0xdd", + "0x17", + "0xdc", + "0xfb", + "0xd9", + "0xa5", + "0xeb", + "0x76", + "0xd1", + "0x4c", + "0x89", + "0xe8", + "0xb4", + "0xee", + "0xd6", + "0xa4", + "0x3c", + "0x63", + "0x5c", + "0xd1", + "0xe0", + "0xaf", + "0x7c", + "0x6e", + "0xf9", + "0x1c", + "0x9", + "0x95", + "0x71", + "0xfe", + "0x8", + "0xd1", + "0x8a", + "0x88", + "0x57", + "0x62", + "0xf6", + "0xd4", + "0x36", + "0xa7", + "0xf2", + "0x57", + "0x25", + "0x51", + "0xa5", + "0x63", + "0x53", + "0x78", + "0x77", + "0xea", + "0x49", + "0x42", + "0x63", + "0x9b", + "0xe3", + "0xe4", + "0x0", + "0x12", + "0xf1", + "0x4", + "0x18", + "0x12", + "0x88", + "0x5e", + "0x55", + "0x7f", + "0x59", + "0xef", + "0xa", + "0xc5", + "0xdf", + "0x52", + "0x1c", + "0x40", + "0xc6", + "0x10", + "0x14", + "0x7c", + "0x8a", + "0xb", + "0xa2", + "0xc5", + "0xac", + "0xad", + "0x14", + "0xb8", + "0x11", + "0x80", + "0x83", + "0xa1", + "0x2a", + "0x78", + "0x55", + "0x85", + "0x98", + "0xd7", + "0xa7", + "0xd8", + "0x3f", + "0xec", + "0x71", + "0xa2", + "0x79", + "0x67", + "0xe4", + "0x38", + "0xed", + "0x2c", + "0x48", + "0xf3", + "0xb0", + "0x99", + "0x1f", + "0x8b", + "0xe5", + "0xa4", + "0xf6", + "0x58", + "0x2b", + "0x7a", + "0xc", + "0x53", + "0x71", + "0x76", + "0x11", + "0x32", + "0xc2", + "0xca", + "0x7d", + "0x2d", + "0x94", + "0x82", + "0xd3", + "0xa2", + "0x27", + "0xda", + "0x30", + "0x4", + "0x87", + "0xd5", + "0x3b", + "0x32", + "0xba", + "0x36", + "0x54", + "0x4a", + "0x78", + "0x79", + "0x25", + "0x46", + "0x77", + "0x3f", + "0xa0", + "0x46", + "0xdc", + "0x4f", + "0xea", + "0x1f", + "0x7", + "0x8e", + "0xf1", + "0x3d", + "0xde", + "0x4d", + "0x7d", + "0xac", + "0xef", + "0xc2", + "0xa9", + "0xdf", + "0x12", + "0xba", + "0x3f", + "0xa6", + "0xc", + "0xc8", + "0x63", + "0xbf", + "0xa7", + "0xaa", + "0x9c", + "0x1d", + "0x60", + "0x5a", + "0x97", + "0xf7", + "0x40", + "0x87", + "0x2e", + "0x18", + "0x6d", + "0x34", + "0xa1", + "0x22", + "0xd0", + "0x15", + "0xdc", + "0x5b", + "0x4", + "0xa8", + "0x42", + "0x65", + "0xe1", + "0x95", + "0x5c", + "0xb7", + "0x6b", + "0x33", + "0x68", + "0xe6", + "0x96", + "0x40", + "0xa7", + "0x6b", + "0xec", + "0x1a", + "0xbd", + "0xc7", + "0xb8", + "0x5d", + "0xfc", + "0x74", + "0xef", + "0x18", + "0x7e", + "0x79", + "0xc", + "0x12", + "0x49", + "0x4f", + "0xf3", + "0xee", + "0x39", + "0x78", + "0x35", + "0x1c", + "0xc9", + "0x56", + "0xbf", + "0x4f", + "0x5c", + "0x5f", + "0x9e", + "0xef", + "0xc5", + "0x97", + "0xce", + "0x52", + "0x38", + "0xd", + "0x77", + "0xdf", + "0xfd", + "0x7e", + "0xf7", + "0xd7", + "0x18", + "0xe4", + "0x9f", + "0x18", + "0x31", + "0x32", + "0xaf", + "0xd4", + "0x8b", + "0xfc", + "0xe3", + "0x27", + "0xb6", + "0x56", + "0xae", + "0x5e", + "0x65", + "0x93", + "0x9f", + "0x9a", + "0xb6", + "0x57", + "0x90", + "0x85", + "0x6b", + "0x30", + "0xde", + "0x31", + "0xcb", + "0x87", + "0x83", + "0x19", + "0x6a", + "0x9a", + "0xec", + "0xcc", + "0xdb", + "0xe2", + "0xe6", + "0xcd", + "0x70", + "0x59", + "0xe6", + "0x30", + "0x94", + "0x5a", + "0xf5", + "0x5b", + "0x2e", + "0x2", + "0xd0", + "0xf5", + "0x1c", + "0x69", + "0x8c", + "0xef", + "0x7b", + "0x17", + "0xf2", + "0x9f", + "0xf7", + "0xe6", + "0xf4", + "0x1c", + "0xa2", + "0x43", + "0xc0", + "0x72", + "0x35", + "0xc3", + "0x9b", + "0x5a", + "0x28", + "0xd2", + "0x11", + "0xf2", + "0x7b", + "0xa5", + "0x42", + "0x6a", + "0x5c", + "0x66", + "0xec", + "0x8", + "0x1c", + "0x29", + "0xed", + "0x79", + "0x10", + "0x61", + "0xe6", + "0x62", + "0xb4", + "0x8e", + "0xea", + "0xc3", + "0xc5", + "0x6b", + "0xe7", + "0x21", + "0xa7", + "0x9f", + "0x7", + "0xfa", + "0xd", + "0xbd", + "0xe7", + "0x87", + "0xd2", + "0x5c", + "0x46", + "0x32", + "0xbf", + "0xe6", + "0x4c", + "0x98", + "0x63", + "0xff", + "0xf4", + "0xf7", + "0x41", + "0x7", + "0xfd", + "0xad", + "0x59", + "0x5e", + "0xf", + "0x13", + "0xb5", + "0xe2", + "0xce", + "0xf9", + "0xb0", + "0x6c", + "0x85", + "0x6d", + "0x67", + "0xc2", + "0xab", + "0xe6", + "0x20", + "0x13", + "0xc5", + "0x17", + "0xf0", + "0x85", + "0xb", + "0x25", + "0x15", + "0xb8", + "0xb5", + "0x16", + "0xf4", + "0x48", + "0xc2", + "0xaa", + "0xb1", + "0x13", + "0x2c", + "0x55", + "0x1b", + "0x34", + "0x63", + "0x30", + "0x9c", + "0x93", + "0x5b", + "0xaf", + "0x15", + "0xed", + "0xdd", + "0x5c", + "0x67", + "0xc8", + "0x2e", + "0xe2", + "0x88", + "0xf9", + "0x96", + "0x61", + "0xcd", + "0x3c", + "0xd4", + "0x7e", + "0xfc", + "0xf4", + "0x4", + "0xde", + "0x8f", + "0x4e", + "0xbd", + "0x92", + "0x3c", + "0x3b", + "0x2", + "0x9f", + "0x5", + "0x46", + "0xed", + "0x74", + "0xb", + "0xab", + "0xfe", + "0x70", + "0xf9", + "0x97", + "0xfe", + "0x13", + "0xca", + "0x6d", + "0x78", + "0x2f", + "0xbb", + "0xc4", + "0xb", + "0x38", + "0xc6", + "0x98", + "0x59", + "0x82", + "0x61", + "0x46", + "0xd2", + "0x11", + "0x3f", + "0xfa", + "0x11", + "0xa", + "0xf", + "0xb0", + "0x77", + "0xd", + "0x81", + "0xd1", + "0x47", + "0xe", + "0x26", + "0xa7", + "0x66", + "0x17", + "0x1a", + "0xc", + "0xc4", + "0x9", + "0xaa", + "0x77", + "0x9f", + "0x7f", + "0xcb", + "0x1c", + "0x48", + "0x6b", + "0x7c", + "0x68", + "0x37", + "0xe4", + "0x3a", + "0xd8", + "0x56", + "0xee", + "0xc2", + "0x55", + "0xfe", + "0x82", + "0x73", + "0xa6", + "0x56", + "0x96", + "0xc0", + "0xf8", + "0xdb", + "0x8e", + "0xa9", + "0xed", + "0xb0", + "0x58", + "0xc6", + "0xd2", + "0xea", + "0x3", + "0x31", + "0xf6", + "0xbe", + "0x78", + "0xe8", + "0xec", + "0xb1", + "0x60", + "0xf1", + "0xe6", + "0xea", + "0xe7", + "0x0", + "0x11", + "0xdf", + "0xcc", + "0xb8", + "0x42", + "0xe3", + "0xaf", + "0x73", + "0xf0", + "0xc5", + "0xff", + "0x45", + "0x57", + "0xd0", + "0xb2", + "0x17", + "0xeb", + "0x14", + "0x1a", + "0x45", + "0x45", + "0x8", + "0x27", + "0x5", + "0x2a", + "0x74", + "0xdc", + "0xfd", + "0x98", + "0xa6", + "0x95", + "0xe5", + "0xd6", + "0xc5", + "0xa7", + "0x3b", + "0xf6", + "0xea", + "0xa3", + "0xe0", + "0x96", + "0x4f", + "0x66", + "0x8c", + "0xb", + "0x75", + "0x75", + "0xff", + "0xfc", + "0x6a", + "0x98", + "0x7c", + "0x4e", + "0x3b", + "0x61", + "0xc5", + "0xa2", + "0xbe", + "0x9f", + "0xef", + "0x95", + "0xd7", + "0xc7", + "0xa4", + "0xec", + "0x2d", + "0x4f", + "0xd2", + "0xce", + "0xc2", + "0x3d", + "0xc1", + "0x23", + "0x5c", + "0x8f", + "0x38", + "0xad", + "0xe2", + "0x95", + "0xf1", + "0x47", + "0x9f", + "0xa3", + "0x79", + "0x88", + "0xb3", + "0xe6", + "0x7", + "0xa5", + "0xff", + "0x39", + "0x34", + "0xc0", + "0xbf", + "0xd5", + "0x8f", + "0xcf", + "0xef", + "0x7d", + "0x8a", + "0xbe", + "0xf7", + "0x79", + "0x8", + "0x24", + "0xee", + "0xc3", + "0x33", + "0x31", + "0x37", + "0x17", + "0xc1", + "0xf1", + "0xdf", + "0x7b", + "0xec", + "0xc0", + "0x12", + "0xae", + "0xe8", + "0x3", + "0xac", + "0xf9", + "0xc7", + "0xd0", + "0x80", + "0xd9", + "0x44", + "0xa5", + "0x0", + "0x7a", + "0xcb", + "0xeb", + "0xa6", + "0x39", + "0x8d", + "0x40", + "0x57", + "0x31", + "0x60", + "0xa7", + "0xbd", + "0x1b", + "0x28", + "0xea", + "0x76", + "0xf1", + "0x54", + "0xe3", + "0x89", + "0xfa", + "0x8b", + "0xa3", + "0xe1", + "0xcd", + "0x6b", + "0xc5", + "0x39", + "0xc7", + "0x58", + "0x13", + "0x92", + "0x68", + "0x16", + "0x4c", + "0xf7", + "0xd4", + "0x53", + "0x9e", + "0x8c", + "0xb", + "0xa", + "0x4b", + "0x4a", + "0xa5", + "0x26", + "0x88", + "0x2c", + "0xe0", + "0x1c", + "0x84", + "0xe6", + "0x90", + "0x5f", + "0xd0", + "0x52", + "0xd4", + "0x33", + "0xcc", + "0x4f", + "0x73", + "0xfa", + "0x10", + "0x49", + "0xf", + "0x67", + "0xf1", + "0x8a", + "0x1a", + "0xc5", + "0x13", + "0x5e", + "0x77", + "0xd7", + "0xf5", + "0xc1", + "0xfa", + "0xb7", + "0x57", + "0xfb", + "0xea", + "0x8e", + "0xa4", + "0x36", + "0x85", + "0xb3", + "0x56", + "0xec", + "0x71", + "0xea", + "0xb6", + "0x5f", + "0x4d", + "0x53", + "0x8a", + "0xf4", + "0x3e", + "0x95", + "0x5f", + "0xdb", + "0x97", + "0x2d", + "0xe4", + "0xb3", + "0x1c", + "0x5b", + "0x2", + "0x22", + "0xd8", + "0x6a", + "0x5f", + "0xed", + "0x34", + "0x85", + "0x91", + "0xf5", + "0xc9", + "0x48", + "0xaf", + "0x22", + "0x63", + "0xcd", + "0x33", + "0x5d", + "0x4e", + "0x8b", + "0xe0", + "0xbd", + "0x0", + "0x82", + "0xa7", + "0xf7", + "0xcf", + "0x4", + "0xb3", + "0xcd", + "0xee", + "0xa5", + "0x4b", + "0xa7", + "0x55", + "0xea", + "0x6", + "0x72", + "0xd5", + "0xe2", + "0xf6", + "0xd8", + "0x37", + "0x8f", + "0x4f", + "0x2b", + "0xd4", + "0x3b", + "0x73", + "0x50", + "0xd0", + "0xab", + "0xfb", + "0x6b", + "0x9a", + "0xba", + "0xe", + "0x72", + "0x42", + "0xb1", + "0xc8", + "0x7f", + "0xb9", + "0x97", + "0x31", + "0xd0", + "0xb3", + "0xaa", + "0x72", + "0xd", + "0x9d", + "0x52", + "0xff", + "0x78", + "0x79", + "0x9f", + "0xf", + "0xa3", + "0x5b", + "0x9e", + "0xa7", + "0x9a", + "0x35", + "0xe3", + "0x67", + "0x4f", + "0x8c", + "0x79", + "0x48", + "0xa7", + "0xa1", + "0x18", + "0xeb", + "0xae", + "0xaa", + "0xb2", + "0xac", + "0xf", + "0xf1", + "0xb7", + "0x8e", + "0xfa", + "0xe", + "0xa", + "0xed", + "0x2b", + "0x8f", + "0xbf", + "0x9f", + "0xc2", + "0x56", + "0x1b", + "0x6c", + "0x80", + "0xc4", + "0x17", + "0xd1", + "0x28", + "0x2c", + "0xef", + "0xf3", + "0x67", + "0x40", + "0xa", + "0xce", + "0x43", + "0x9b", + "0xcc", + "0xed", + "0xa5", + "0xa2", + "0xd9", + "0x5e", + "0xd0", + "0xec", + "0xb0", + "0x94", + "0x77", + "0x6e", + "0x31", + "0x71", + "0x90", + "0xc9", + "0x72", + "0x48", + "0xfe", + "0x1", + "0x66", + "0x0", + "0x34", + "0x6c", + "0x2", + "0x78", + "0x48", + "0xa9", + "0xb4", + "0x53", + "0x54", + "0xb3", + "0xcb", + "0xb6", + "0xdb", + "0x40", + "0xfd", + "0x57", + "0x94", + "0xc6", + "0xf5", + "0xda", + "0x10", + "0x2e", + "0x8f", + "0xb", + "0xd1", + "0xea", + "0x5", + "0x29", + "0x7f", + "0x2f", + "0x35", + "0xdd", + "0x34", + "0x77", + "0x9e", + "0xfe", + "0xc4", + "0x25", + "0x47", + "0xe8", + "0xd4", + "0x71", + "0x9e", + "0x0", + "0x7c", + "0xda", + "0x59", + "0x8a", + "0xa6", + "0xa2", + "0x30", + "0xbd", + "0x24", + "0xf1", + "0x9e", + "0x14", + "0xb2", + "0x81", + "0xb9", + "0x8e", + "0x38", + "0xa5", + "0xae", + "0xd6", + "0xce", + "0x30", + "0x32", + "0x26", + "0xdf", + "0xb", + "0x5a", + "0xc2", + "0x38", + "0x5d", + "0x1b", + "0x7", + "0x5c", + "0x9b", + "0xe6", + "0xa2", + "0xb6", + "0xd9", + "0xd3", + "0x6b", + "0xf2", + "0x3b", + "0x3", + "0x6d", + "0xce", + "0x30", + "0xff", + "0x86", + "0xe7", + "0x53", + "0xb9", + "0x34", + "0x9e", + "0xb5", + "0x32", + "0xe9", + "0xe9", + "0x8f", + "0x0", + "0x2f", + "0x6d", + "0x6d", + "0x8", + "0xce", + "0x47", + "0xf5", + "0x8d", + "0xb0", + "0x34", + "0xd1", + "0x36", + "0x5e", + "0x9", + "0x14", + "0xc5", + "0x8c", + "0xff", + "0x95", + "0x11", + "0xc2", + "0xb6", + "0xfe", + "0x15", + "0x8f", + "0x51", + "0xfd", + "0x2c", + "0x32", + "0x4e", + "0xe9", + "0x72", + "0xe2", + "0x76", + "0x7b", + "0xd1", + "0x5c", + "0xfd", + "0xda", + "0x49", + "0x90", + "0x6a", + "0xda", + "0x18", + "0xb2", + "0xfb", + "0x73", + "0xaf", + "0xbf", + "0xc4", + "0x4e", + "0xf3", + "0x52", + "0x56", + "0xd8", + "0xb0", + "0xcb", + "0xa2", + "0x70", + "0xfe", + "0xed", + "0xf3", + "0x3f", + "0x1", + "0x36", + "0x12", + "0xdc", + "0xc", + "0x9d", + "0x29", + "0x77", + "0xae", + "0x4c", + "0x36", + "0xdc", + "0xb9", + "0x31", + "0x6c", + "0x7", + "0x1e", + "0x89", + "0xd4", + "0xb7", + "0x69", + "0xab", + "0xe5", + "0x9e", + "0x52", + "0x52", + "0x77", + "0x44", + "0x57", + "0x91", + "0x35", + "0x58", + "0xc5", + "0x8b", + "0x3e", + "0xc5", + "0xc4", + "0xed", + "0x51", + "0x96", + "0xeb", + "0xda", + "0xb1", + "0xce", + "0x30", + "0xbb", + "0xf5", + "0xb7", + "0x84", + "0x89", + "0x63", + "0xab", + "0x36", + "0x2a", + "0x9", + "0x5d", + "0x3e", + "0xdc", + "0x51", + "0xf3", + "0xd6", + "0xe6", + "0x4c", + "0x31", + "0xeb", + "0x4f", + "0x84", + "0x63", + "0xed", + "0xe2", + "0x70", + "0xdb", + "0x12", + "0x45", + "0x45", + "0x5f", + "0x87", + "0x1e", + "0xff", + "0x3a", + "0xa0", + "0x37", + "0xca", + "0x28", + "0xae", + "0x2c", + "0x44", + "0xaa", + "0x5a", + "0x16", + "0x12", + "0x4b", + "0x23", + "0x71", + "0x51", + "0xb8", + "0xa3", + "0xf", + "0x98", + "0x45", + "0xcd", + "0x3c", + "0xcd", + "0xab", + "0xd", + "0x90", + "0xa", + "0x9e", + "0x7d", + "0xaa", + "0x8d", + "0xb2", + "0x4b", + "0xa5", + "0x7", + "0xc6", + "0x92", + "0xb0", + "0x16", + "0xd6", + "0xe2", + "0xe0", + "0xb5", + "0xe2", + "0x7f", + "0xd1", + "0xb4", + "0x32", + "0xcc", + "0xdd", + "0xea", + "0x1e", + "0xc3", + "0x8a", + "0x51", + "0xfb", + "0xa0", + "0xe6", + "0x42", + "0xf6", + "0x69", + "0xb4", + "0x33", + "0x94", + "0xfb", + "0x3e", + "0x1f", + "0x7f", + "0xf2", + "0xab", + "0xe4", + "0xe4", + "0x3", + "0x75", + "0xa9", + "0x6c", + "0x56", + "0x41", + "0x5f", + "0xb2", + "0xeb", + "0xb", + "0xb7", + "0xdc", + "0xaf", + "0x6f", + "0x1d", + "0xf3", + "0xab", + "0x1b", + "0x93", + "0xd3", + "0xbe", + "0xdc", + "0x8", + "0xbf", + "0xc8", + "0x1", + "0x44", + "0xea", + "0xdd", + "0xf7", + "0xf4", + "0x5a", + "0xeb", + "0xef", + "0xa", + "0x45", + "0xf2", + "0xa4", + "0xb0", + "0x39", + "0x0", + "0xfe", + "0x71", + "0x4c", + "0x38", + "0xc7", + "0x61", + "0x58", + "0xaf", + "0x8b", + "0x75", + "0x1a", + "0x9", + "0xf8", + "0xd7", + "0xbd", + "0xdb", + "0x5e", + "0xf9", + "0xfe", + "0xe5", + "0x22", + "0x53", + "0xd4", + "0x52", + "0x3a", + "0x1", + "0x31", + "0xee", + "0xe5", + "0xfd", + "0xde", + "0xad", + "0xfa", + "0xb7", + "0x1f", + "0xd7", + "0x4f", + "0x43", + "0x83", + "0x10", + "0xee", + "0xdd", + "0xf5", + "0xf6", + "0x9c", + "0x26", + "0x9", + "0xc7", + "0x4b", + "0x6", + "0xcf", + "0x0", + "0x11", + "0xf4", + "0x8d", + "0x97", + "0x50", + "0x4f", + "0x7a", + "0x91", + "0x97", + "0xe8", + "0x9b", + "0x7f", + "0x48", + "0xf3", + "0xad", + "0x47", + "0x9b", + "0xc", + "0x38", + "0xdd", + "0xcb", + "0xac", + "0x9c", + "0xe9", + "0x3", + "0x45", + "0xe9", + "0x45", + "0x35", + "0x40", + "0x14", + "0xe4", + "0x3c", + "0x69", + "0xf9", + "0x10", + "0xdc", + "0x91", + "0x9d", + "0x4c", + "0x60", + "0xe8", + "0x78", + "0xcc", + "0x34", + "0xd2", + "0x79", + "0xaf", + "0x35", + "0x69", + "0x84", + "0x28", + "0xd2", + "0x64", + "0x7f", + "0xe9", + "0xb4", + "0x7a", + "0x28", + "0x6a", + "0xfc", + "0x4c", + "0x97", + "0x29", + "0x4f", + "0x9d", + "0x6c", + "0x5c", + "0xdd", + "0xf5", + "0x64", + "0x77", + "0x6b", + "0x5c", + "0x54", + "0xcd", + "0x78", + "0xed", + "0x4", + "0xb3", + "0xa3", + "0x26", + "0x2b", + "0xf7", + "0x65", + "0x19", + "0x44", + "0xbd", + "0x86", + "0xb4", + "0xbc", + "0xec", + "0xbb", + "0x63", + "0xc5", + "0x28", + "0xa0", + "0xf9", + "0xe6", + "0xa7", + "0x90", + "0x9f", + "0x8", + "0x99", + "0x4f", + "0xaf", + "0xfc", + "0x1f", + "0xa2", + "0x88", + "0x94", + "0x2c", + "0x86", + "0x2c", + "0xc9", + "0xd3", + "0xf6", + "0x33", + "0x7d", + "0x36", + "0x42", + "0x6e", + "0xec", + "0xbe", + "0x67", + "0xe0", + "0xdc", + "0xb4", + "0x1a", + "0xa9", + "0x10", + "0x9", + "0xde", + "0xd3", + "0xcb", + "0x3b", + "0x90", + "0x7d", + "0x5a", + "0xc", + "0xfd", + "0x72", + "0x31", + "0x7a", + "0xad", + "0xc4", + "0x9c", + "0xb0", + "0x87", + "0x19", + "0x8c", + "0x11", + "0xbe", + "0x4d", + "0x6a", + "0x5c", + "0x82", + "0xe9", + "0xa2", + "0x1c", + "0x3e", + "0x98", + "0xc5", + "0x79", + "0x61", + "0x46", + "0x43", + "0x1c", + "0x2f", + "0xd7", + "0xb2", + "0x9b", + "0x54", + "0x17", + "0x10", + "0x13", + "0x75", + "0x5f", + "0xc", + "0xa0", + "0x51", + "0xd8", + "0x1e", + "0xef", + "0xc0", + "0xff", + "0x31", + "0x27", + "0x7", + "0x9a", + "0xcc", + "0x39", + "0xe3", + "0xf5", + "0x2", + "0x53", + "0x78", + "0xb5", + "0x19", + "0xc0", + "0x2e", + "0x9d", + "0xb4", + "0x34", + "0x5f", + "0x6e", + "0xab", + "0xe8", + "0xb6", + "0x57", + "0xfc", + "0x41", + "0x87", + "0x3f", + "0xfb", + "0xdd", + "0x8e", + "0x96", + "0x66", + "0xbf", + "0x2", + "0x70", + "0xce", + "0x2a", + "0xa6", + "0x33", + "0x72", + "0x26", + "0xf1", + "0xc6", + "0xc", + "0xf5", + "0x26", + "0xa", + "0x37", + "0x7d", + "0xdb", + "0xe1", + "0x73", + "0x2c", + "0x9a", + "0x41", + "0x11", + "0x3d", + "0xbe", + "0x26", + "0x55", + "0x87", + "0xff", + "0x7", + "0xe", + "0x72", + "0xa7", + "0xfc", + "0x65", + "0x30", + "0x55", + "0x39", + "0x25", + "0xb7", + "0x11", + "0x82", + "0xfd", + "0xaf", + "0x7a", + "0x3c", + "0xbc", + "0x45", + "0x23", + "0xca", + "0x1b", + "0x55", + "0x54", + "0x6e", + "0xab", + "0x3b", + "0x2e", + "0xb7", + "0xb8", + "0xe7", + "0xb4", + "0x8", + "0x75", + "0xed", + "0xa4", + "0xb5", + "0x9d", + "0xf4", + "0xad", + "0x97", + "0xa7", + "0x63", + "0x8f", + "0xbb", + "0xb9", + "0xbe", + "0xc2", + "0x74", + "0x9b", + "0x8d", + "0x9d", + "0xb3", + "0x62", + "0xad", + "0xdb", + "0x76", + "0x99", + "0xa0", + "0xed", + "0x64", + "0xda", + "0xd6", + "0x1", + "0x5f", + "0xee", + "0x6a", + "0x62", + "0xb7", + "0x3", + "0x5e", + "0xce", + "0xca", + "0x6d", + "0x33", + "0x7c", + "0xc3", + "0xa", + "0xf0", + "0xb8", + "0x3d", + "0x6a", + "0x2a", + "0x2c", + "0xbd", + "0x8e", + "0xa8", + "0x6d", + "0x9e", + "0x1b", + "0xdc", + "0xf7", + "0x3b", + "0xeb", + "0x51", + "0xd5", + "0xd2", + "0xc2", + "0x80", + "0x82", + "0xd5", + "0xe7", + "0x8", + "0xb2", + "0xe", + "0x6e", + "0x85", + "0x86", + "0x8b", + "0xcd", + "0x1c", + "0x23", + "0xbf", + "0xba", + "0x3a", + "0xb9", + "0xd", + "0x24", + "0x3", + "0x25", + "0xca", + "0xb9", + "0xe9", + "0x3f", + "0x1", + "0x3f", + "0xd3", + "0x34", + "0x97", + "0x8", + "0xfe", + "0xbf", + "0xb4", + "0xd1", + "0xbf", + "0xaa", + "0x71", + "0x79", + "0x15", + "0xf", + "0x78", + "0x17", + "0x3d", + "0x59", + "0xaf", + "0x76", + "0x21", + "0xa4", + "0x63", + "0xf9", + "0x40", + "0xf7", + "0x8", + "0x3c", + "0x7d", + "0x96", + "0x46", + "0xa5", + "0x51", + "0xc8", + "0xf2", + "0x3", + "0x45", + "0x76", + "0xca", + "0x7b", + "0x74", + "0xcd", + "0xe8", + "0xc0", + "0x9e", + "0xdd", + "0xbf", + "0x8f", + "0x2c", + "0x1f", + "0x48", + "0xb2", + "0x20", + "0xf7", + "0xfb", + "0xc7", + "0x3e", + "0x6d", + "0x18", + "0x5a", + "0xdc", + "0xee", + "0xaf", + "0xe2", + "0xf5", + "0x1", + "0x32", + "0x30", + "0x71", + "0x1", + "0xe8", + "0x94", + "0xc3", + "0x39", + "0xa4", + "0xe1", + "0x30", + "0xcf", + "0x34", + "0x87", + "0xb1", + "0x24", + "0xae", + "0xfe", + "0x54", + "0xc2", + "0x1f", + "0x3", + "0xfb", + "0xb8", + "0xed", + "0xc4", + "0xeb", + "0xef", + "0x9e", + "0xd4", + "0xe6", + "0xd8", + "0xb6", + "0x5b", + "0x9a", + "0x35", + "0xd2", + "0x14", + "0xd7", + "0x89", + "0x8", + "0x8b", + "0xaa", + "0x5e", + "0xa2", + "0x55", + "0x11", + "0x8d", + "0xe1", + "0x6f", + "0x35", + "0xf8", + "0x35", + "0x9f", + "0x3f", + "0x73", + "0xdb", + "0x1f", + "0xb9", + "0x6", + "0x8", + "0xf7", + "0xff", + "0xfa", + "0x95", + "0x43", + "0xc", + "0x37", + "0x62", + "0x33", + "0x6a", + "0x87", + "0x21", + "0xb", + "0xa3", + "0x40", + "0xfa", + "0xbc", + "0x63", + "0xf3", + "0x1a", + "0xb", + "0x3b", + "0x33", + "0x1a", + "0xe7", + "0x46", + "0x4a", + "0x90", + "0xf9", + "0xfb", + "0x1a", + "0x96", + "0x7b", + "0xba", + "0x8f", + "0xef", + "0x72", + "0x68", + "0xa6", + "0x1c", + "0x59", + "0xf9", + "0x14", + "0x6e", + "0x1d", + "0x64", + "0xde", + "0x41", + "0xe9", + "0x9f", + "0xb7", + "0x79", + "0x11", + "0x95", + "0x41", + "0x57", + "0x6", + "0xe4", + "0x17", + "0x7b", + "0xcc", + "0x4d", + "0x95", + "0x44", + "0x80", + "0x79", + "0x7f", + "0x39", + "0x35", + "0xa5", + "0x8a", + "0x26", + "0xbf", + "0xef", + "0x7b", + "0xd3", + "0xbe", + "0xcb", + "0x9a", + "0xfc", + "0x55", + "0x3a", + "0x9e", + "0xbb", + "0xff", + "0xfa", + "0xb5", + "0xf4", + "0x34", + "0xa2", + "0x35", + "0xe", + "0x29", + "0xd6", + "0xde", + "0xf5", + "0x91", + "0x19", + "0x93", + "0xa6", + "0xf8", + "0x56", + "0xd0", + "0x95", + "0x96", + "0xd6", + "0xfb", + "0x1f", + "0xe8", + "0x5c", + "0xd1", + "0x85", + "0x8f", + "0x3", + "0x22", + "0xf2", + "0xa6", + "0x3b", + "0x48", + "0x92", + "0x41", + "0xbf", + "0xab", + "0xdf", + "0xba", + "0xcb", + "0x4f", + "0xed", + "0xda", + "0xdb", + "0x12", + "0x14", + "0x94", + "0x4f", + "0xbc", + "0xac", + "0xee", + "0x37", + "0x48", + "0xc3", + "0x92", + "0xb5", + "0x10", + "0xb4", + "0xb7", + "0x11", + "0xdc", + "0x91", + "0x76", + "0xa2", + "0xf9", + "0x58", + "0xac", + "0xd1", + "0x42", + "0x90", + "0x15", + "0x74", + "0x9d", + "0x33", + "0xd6", + "0xc8", + "0xa3", + "0x51", + "0x69", + "0x25", + "0x43", + "0x60", + "0x21", + "0x83", + "0xf", + "0x36", + "0x1a", + "0xf8", + "0x33", + "0x7c", + "0xc8", + "0xf9", + "0x4f", + "0x91", + "0x8e", + "0x3d", + "0x29", + "0xe0", + "0x8b", + "0x92", + "0x80", + "0x28", + "0xc4", + "0x7a", + "0xc", + "0xf9", + "0x3e", + "0x7e", + "0x2f", + "0xdd", + "0xa3", + "0x5a", + "0x92", + "0xbe", + "0x9", + "0x1b", + "0xab", + "0xeb", + "0xa5", + "0xe2", + "0xce", + "0x27", + "0xcc", + "0x57", + "0xfe", + "0x53", + "0xb9", + "0xa4", + "0x0", + "0x46", + "0x4f", + "0xa1", + "0xea", + "0xaf", + "0x64", + "0x3", + "0xcb", + "0xc6", + "0x5f", + "0x74", + "0x72", + "0x64", + "0x86", + "0xad", + "0xe", + "0xb8", + "0x1d", + "0x9e", + "0x1", + "0x48", + "0xaf", + "0x37", + "0x9d", + "0x5b", + "0x46", + "0xbb", + "0x8b", + "0x4c", + "0xad", + "0xa3", + "0xe4", + "0x10", + "0xa8", + "0xaa", + "0xcc", + "0xa1", + "0xfe", + "0x11", + "0x82", + "0x4f", + "0xe7", + "0x77", + "0x3f", + "0x6a", + "0xde", + "0x71", + "0x65", + "0x8a", + "0x27", + "0x4e", + "0xe4", + "0x35", + "0x5a", + "0xf6", + "0xb6", + "0x2f", + "0xf7", + "0x6d", + "0x84", + "0x70", + "0xf3", + "0x75", + "0x8c", + "0x89", + "0xfa", + "0x8b", + "0x88", + "0xf5", + "0x99", + "0x78", + "0xfd", + "0xbe", + "0xc2", + "0xf5", + "0xcd", + "0x98", + "0x38", + "0x80", + "0xf5", + "0x73", + "0xce", + "0x37", + "0xa5", + "0x7e", + "0xa2", + "0xcb", + "0xee", + "0x4f", + "0xac", + "0x86", + "0x74", + "0x9c", + "0x3a", + "0x29", + "0xaf", + "0xcb", + "0x12", + "0x15", + "0xf3", + "0x29", + "0x2e", + "0x9b", + "0x5b", + "0x45", + "0xc7", + "0x1f", + "0x52", + "0x80", + "0x8d", + "0x69", + "0x2f", + "0x7b", + "0x46", + "0x6f", + "0xc7", + "0x83", + "0xb", + "0x8e", + "0xbd", + "0xe", + "0xe0", + "0xbb", + "0x59", + "0x30", + "0x4f", + "0x72", + "0xe7", + "0x1a", + "0xdc", + "0x35", + "0xdb", + "0x16", + "0xd9", + "0xfb", + "0xd1", + "0xd2", + "0xe9", + "0xe8", + "0x3c", + "0xd9", + "0x43", + "0xa2", + "0x2f", + "0x58", + "0x6e", + "0x5a", + "0xf2", + "0x32", + "0x28", + "0x21", + "0x86", + "0xed", + "0x5e", + "0x2b", + "0xc4", + "0x76", + "0x4e", + "0x60", + "0x12", + "0xd9", + "0xdd", + "0x98", + "0x2c", + "0xda", + "0x19", + "0x68", + "0x9d", + "0xfa", + "0x7f", + "0x44", + "0xb", + "0xa7", + "0x4c", + "0x83", + "0x6c", + "0x9c", + "0xd1", + "0x13", + "0x53", + "0x79", + "0x3c", + "0xca", + "0x58", + "0x35", + "0xd8", + "0xea", + "0x3c", + "0xdd", + "0x48", + "0x33", + "0xcd", + "0xa1", + "0x6b", + "0x15", + "0xef", + "0xc9", + "0xae", + "0x31", + "0x59", + "0x79", + "0xee", + "0x85", + "0x7", + "0xf4", + "0x3a", + "0xea", + "0x8c", + "0xb0", + "0x5d", + "0xca", + "0xdd", + "0xcd", + "0xd8", + "0xc1", + "0x9b", + "0x1d", + "0x67", + "0xbe", + "0xd4", + "0xad", + "0xa0", + "0x77", + "0x8b", + "0x1f", + "0x37", + "0x5b", + "0x1a", + "0x97", + "0xbf", + "0xf9", + "0xb3", + "0xa3", + "0xa9", + "0xb2", + "0xdb", + "0xa7", + "0xdd", + "0x0", + "0x6b", + "0xc5", + "0xb", + "0xf", + "0x31", + "0xba", + "0x7d", + "0xe5", + "0x4c", + "0xc3", + "0x13", + "0xce", + "0xfc", + "0xb2", + "0xbf", + "0x87", + "0x99", + "0x59", + "0x84", + "0xc8", + "0x5a", + "0xb6", + "0xae", + "0xf3", + "0x8d", + "0xb9", + "0x77", + "0x99", + "0x57", + "0x1", + "0xfe", + "0x69", + "0x19", + "0xc2", + "0x37", + "0x56", + "0x1f", + "0xd0", + "0xbd", + "0x99", + "0x8", + "0xbd", + "0xa5", + "0xf3", + "0x4f", + "0x38", + "0xa3", + "0xae", + "0x9d", + "0xed", + "0xbe", + "0xfa", + "0x69", + "0xf", + "0x69", + "0x51", + "0xf5", + "0xca", + "0xa5", + "0x93", + "0xee", + "0xaa", + "0x53", + "0xf2", + "0xf1", + "0xb4", + "0xbb", + "0x92", + "0xdb", + "0x76", + "0xd2", + "0x7d", + "0x6", + "0xf5", + "0x7c", + "0x16", + "0xef", + "0xd9", + "0xbe", + "0xed", + "0x14", + "0x81", + "0x92", + "0x58", + "0xcc", + "0xb9", + "0x3", + "0x45", + "0x89", + "0xfd", + "0x23", + "0xc3", + "0x67", + "0x98", + "0x80", + "0xa0", + "0x59", + "0x1d", + "0xf1", + "0xc", + "0x67", + "0x74", + "0x4", + "0x54", + "0x29", + "0xeb", + "0x99", + "0x19", + "0x3e", + "0xfa", + "0x9f", + "0xd8", + "0x5b", + "0x1c", + "0x5a", + "0xf5", + "0xb1", + "0xbd", + "0xa7", + "0x54", + "0xfd", + "0xdf", + "0xd6", + "0x9f", + "0xa0", + "0x11", + "0xcb", + "0xcc", + "0x7", + "0x8c", + "0x43", + "0xd", + "0x71", + "0xef", + "0xf9", + "0x6f", + "0xb5", + "0x82", + "0x20", + "0x9a", + "0x19", + "0x8e", + "0x43", + "0x7f", + "0x5f", + "0xed", + "0xab", + "0xb7", + "0xe8", + "0x6a", + "0x4a", + "0xbf", + "0xca", + "0x2d", + "0xdb", + "0x9a", + "0xf3", + "0x53", + "0xbc", + "0x25", + "0x32", + "0x8a", + "0x8e", + "0xdc", + "0x67", + "0x52", + "0x3", + "0xb4", + "0x5c", + "0xd6", + "0xdb", + "0x20", + "0x80", + "0xbc", + "0x9d", + "0xc5", + "0x7", + "0x63", + "0xc", + "0x7a", + "0x67", + "0xd7", + "0x68", + "0x99", + "0x70", + "0x82", + "0xa3", + "0xa", + "0xae", + "0x8b", + "0xf2", + "0x96", + "0xb6", + "0xe2", + "0x0", + "0xd2", + "0x46", + "0x7f", + "0xe5", + "0xf1", + "0x3f", + "0xe4", + "0xd3", + "0xce", + "0x24", + "0x16", + "0xe6", + "0xd", + "0xbe", + "0x39", + "0x71", + "0x7b", + "0xc5", + "0x40", + "0xb4", + "0x9d", + "0x32", + "0x5c", + "0xca", + "0x48", + "0x9f", + "0xb", + "0xbf", + "0x54", + "0x2b", + "0x7", + "0xa0", + "0x37", + "0x11", + "0xca", + "0x73", + "0x8e", + "0x46", + "0xde", + "0x6e", + "0x45", + "0xe3", + "0xbe", + "0xc6", + "0x4e", + "0x95", + "0xa4", + "0x84", + "0xc0", + "0xfe", + "0xc6", + "0xcb", + "0x5", + "0xfe", + "0x3b", + "0x7d", + "0xfa", + "0x28", + "0xd7", + "0x9e", + "0xcf", + "0xc1", + "0x3f", + "0x23", + "0x12", + "0x77", + "0xcd", + "0xe5", + "0x93", + "0x7c", + "0x5a", + "0xef", + "0x7f", + "0xf9", + "0xa0", + "0xe6", + "0x47", + "0xf9", + "0x9e", + "0x36", + "0xe7", + "0x1c", + "0x6f", + "0x6", + "0x99", + "0xed", + "0x52", + "0x39", + "0x1b", + "0xa0", + "0x4c", + "0x26", + "0x19", + "0xd7", + "0x17", + "0xd3", + "0x17", + "0xe2", + "0x5d", + "0xd8", + "0x53", + "0xb7", + "0x14", + "0x62", + "0x3e", + "0x6b", + "0xf7", + "0xff", + "0x9b", + "0x53", + "0x4b", + "0xed", + "0xad", + "0x59", + "0x55", + "0x79", + "0x96", + "0x44", + "0xc2", + "0x5b", + "0xd9", + "0x4b", + "0x4", + "0xbf", + "0x20", + "0xf2", + "0xff", + "0xfa", + "0x8c", + "0x6e", + "0x35", + "0xe7", + "0xda", + "0x89", + "0xc8", + "0xc6", + "0x88", + "0xa1", + "0x3d", + "0x9b", + "0x4b", + "0x9d", + "0x4", + "0x75", + "0x77", + "0x44", + "0xff", + "0x27", + "0x6e", + "0xfe", + "0x96", + "0x35", + "0x33", + "0x39", + "0xef", + "0x37", + "0x97", + "0x8", + "0x88", + "0xd6", + "0x78", + "0xf7", + "0x7e", + "0x92", + "0xb3", + "0xa7", + "0xa9", + "0xf4", + "0x38", + "0x77", + "0xb5", + "0xea", + "0x97", + "0x7e", + "0xb", + "0x4d", + "0x40", + "0xce", + "0xbc", + "0xde", + "0x46", + "0x5a", + "0xbf", + "0x98", + "0xa1", + "0x5a", + "0xef", + "0x4a", + "0x3a", + "0x37", + "0x6a", + "0xc3", + "0x27", + "0xdc", + "0x62", + "0xb5", + "0xae", + "0x9a", + "0xcd", + "0x5e", + "0xd0", + "0x74", + "0x7c", + "0x91", + "0xdf", + "0xd4", + "0x85", + "0x8e", + "0xc3", + "0x5c", + "0xfa", + "0xa9", + "0x53", + "0x6", + "0xd3", + "0xe9", + "0x64", + "0x60", + "0xb5", + "0x94", + "0xa5", + "0x22", + "0xf5", + "0x2a", + "0xd5", + "0xe5", + "0xb4", + "0x5c", + "0x7f", + "0x18", + "0x50", + "0xb9", + "0xd2", + "0x59", + "0xb0", + "0xae", + "0x6e", + "0xcb", + "0xa5", + "0x44", + "0x39", + "0x8f", + "0xbd", + "0xfb", + "0x86", + "0x35", + "0x51", + "0xff", + "0x97", + "0x89", + "0xf3", + "0xcd", + "0x5d", + "0x4f", + "0x41", + "0xed", + "0x11", + "0x6e", + "0x64", + "0x8", + "0xa7", + "0x3", + "0x9c", + "0x21", + "0x90", + "0x44", + "0x74", + "0x26", + "0x13", + "0x6b", + "0x89", + "0xf5", + "0x5d", + "0x86", + "0x83", + "0x3", + "0x9f", + "0xd5", + "0x70", + "0xe6", + "0xa1", + "0x27", + "0x96", + "0xe5", + "0xcc", + "0x9e", + "0xc3", + "0xc7", + "0x34", + "0xe", + "0x66", + "0x50", + "0x3d", + "0x41", + "0x16", + "0x97", + "0xb6", + "0x85", + "0xe0", + "0xe7", + "0x5e", + "0x76", + "0xef", + "0xe6", + "0xf8", + "0x60", + "0x7e", + "0xea", + "0xf8", + "0x4d", + "0x6c", + "0x81", + "0x94", + "0xf2", + "0x16", + "0xdb", + "0xf0", + "0xfe", + "0x56", + "0xee", + "0x45", + "0x69", + "0xff", + "0x51", + "0xc3", + "0x31", + "0xba", + "0xd7", + "0xdf", + "0x61", + "0xef", + "0x1d", + "0x84", + "0x4d", + "0x65", + "0x3e", + "0x3d", + "0x7b", + "0x65", + "0x3e", + "0xae", + "0x51", + "0x88", + "0xf7", + "0x22", + "0x93", + "0x56", + "0xce", + "0x54", + "0xf4", + "0x43", + "0x57", + "0x5e", + "0xe8", + "0x94", + "0x38", + "0x88", + "0x5b", + "0xbf", + "0x82", + "0x5c", + "0x18", + "0xe5", + "0xc5", + "0x1a", + "0xd4", + "0x17", + "0xce", + "0xa", + "0xc1", + "0x1a", + "0x5a", + "0xff", + "0xa", + "0xbd", + "0x30", + "0x3b", + "0x70", + "0x88", + "0xe1", + "0xa8", + "0xdb", + "0xe3", + "0xec", + "0xf6", + "0xc7", + "0x48", + "0x38", + "0xae", + "0xab", + "0x35", + "0x4d", + "0x3f", + "0x7e", + "0x37", + "0xa9", + "0x6b", + "0xb", + "0xe0", + "0xf2", + "0x73", + "0xfe", + "0xeb", + "0x8c", + "0x64", + "0x5e", + "0xb0", + "0x7d", + "0x6f", + "0xdc", + "0x11", + "0xc4", + "0x5f", + "0x40", + "0x2f", + "0x2b", + "0x7c", + "0x15", + "0xb4", + "0x6c", + "0x3d", + "0xa", + "0x9e", + "0xea", + "0xd9", + "0x21", + "0xda", + "0xb8", + "0x26", + "0x38", + "0xe7", + "0x76", + "0x76", + "0xd3", + "0x3b", + "0x8a", + "0x35", + "0x6c", + "0xb8", + "0x4b", + "0x94", + "0xcb", + "0x1b", + "0x78", + "0xb5", + "0xc5", + "0x89", + "0x5e", + "0x3a", + "0xf3", + "0x7e", + "0x9d", + "0x73", + "0xe2", + "0x30", + "0xa5", + "0x9e", + "0x93", + "0x23", + "0xf1", + "0x92", + "0x51", + "0x99", + "0x79", + "0xd5", + "0x6a", + "0xaa", + "0xb3", + "0x75", + "0x1b", + "0x2a", + "0x14", + "0x36", + "0x64", + "0xda", + "0xad", + "0x8", + "0x27", + "0x7a", + "0x4b", + "0xeb", + "0x77", + "0xd4", + "0x15", + "0xa7", + "0x8f", + "0x3e", + "0xab", + "0x8b", + "0x73", + "0x7f", + "0x85", + "0xd5", + "0xd1", + "0x31", + "0x4f", + "0x96", + "0xba", + "0x8", + "0xda", + "0x48", + "0x60", + "0x70", + "0x8f", + "0xdf", + "0xeb", + "0x70", + "0x5f", + "0x2d", + "0x2b", + "0xd8", + "0x3e", + "0x6e", + "0x70", + "0xcc", + "0x72", + "0xc5", + "0x69", + "0x71", + "0xe0", + "0x6d", + "0x2b", + "0xc8", + "0xf1", + "0x78", + "0xca", + "0x8", + "0x21", + "0x59", + "0x64", + "0x89", + "0xce", + "0x6b", + "0x94", + "0xea", + "0x14", + "0x94", + "0xdf", + "0x1", + "0x39", + "0x1a", + "0xc", + "0xba", + "0x1f", + "0xee", + "0x99", + "0x36", + "0x7b", + "0x55", + "0xca", + "0xa4", + "0xe9", + "0xe4", + "0xa2", + "0xe8", + "0x59", + "0x28", + "0x33", + "0x6e", + "0x6f", + "0x6f", + "0x6b", + "0x56", + "0xb0", + "0x7e", + "0x91", + "0x10", + "0x65", + "0x52", + "0xa6", + "0xef", + "0x7d", + "0x71", + "0x85", + "0x86", + "0xc1", + "0x37", + "0x55", + "0x18", + "0x96", + "0x8d", + "0x56", + "0x83", + "0xab", + "0xb7", + "0x1b", + "0xf9", + "0xcc", + "0xfb", + "0xaa", + "0x22", + "0x8b", + "0xff", + "0xfd", + "0xfb", + "0x6f", + "0x9e", + "0x19", + "0xa6", + "0xa1", + "0xa7", + "0x42", + "0xa3", + "0x3", + "0x56", + "0x7c", + "0x92", + "0x7", + "0x83", + "0xd1", + "0x95", + "0xe4", + "0xb9", + "0xb", + "0xd2", + "0x24", + "0x4b", + "0x8b", + "0xbb", + "0x7a", + "0x54", + "0x4b", + "0xf5", + "0x11", + "0xba", + "0xec", + "0xf0", + "0xe5", + "0x9a", + "0x12", + "0x1d", + "0xa4", + "0x3f", + "0xb1", + "0xe2", + "0xce", + "0xfa", + "0x94", + "0xfc", + "0x7d", + "0xae", + "0x78", + "0xb2", + "0x9a", + "0x4e", + "0x1", + "0x1c", + "0xaf", + "0xf2", + "0xe", + "0x44", + "0x7e", + "0x20", + "0xdb", + "0x23", + "0xa0", + "0x44", + "0xe3", + "0x4a", + "0x9c", + "0xf3", + "0x93", + "0xc0", + "0xa3", + "0x95", + "0xed", + "0x62", + "0x43", + "0x6c", + "0x54", + "0x4a", + "0x82", + "0x74", + "0xe2", + "0x7a", + "0x8b", + "0xcf", + "0xf1", + "0x99", + "0x29", + "0x1a", + "0x4", + "0xed", + "0x73", + "0xcc", + "0xe6", + "0x2e", + "0x50", + "0x28", + "0x8c", + "0x82", + "0x80", + "0x64", + "0xd3", + "0xa8", + "0x38", + "0xba", + "0xb", + "0x22", + "0x75", + "0x27", + "0xa7", + "0x9b", + "0xda", + "0x35", + "0x10", + "0x94", + "0x57", + "0xcd", + "0x80", + "0x3f", + "0xc6", + "0xa7", + "0x7", + "0x7a", + "0xd5", + "0x7d", + "0xc3", + "0xc7", + "0x1b", + "0xa8", + "0xe1", + "0xfd", + "0xa3", + "0xb0", + "0x39", + "0xa8", + "0xbc", + "0x5e", + "0x8d", + "0x55", + "0xbe", + "0x49", + "0xbb", + "0x8b", + "0x7", + "0xba", + "0x2", + "0x19", + "0xc", + "0xfb", + "0xc7", + "0x29", + "0xb6", + "0x99", + "0x30", + "0xfc", + "0x2f", + "0x8f", + "0x73", + "0xf5", + "0xc0", + "0xbc", + "0xf0", + "0x6a", + "0x6c", + "0xc3", + "0x48", + "0x79", + "0x61", + "0xbb", + "0x78", + "0xdb", + "0x32", + "0xaa", + "0x7b", + "0xce", + "0xd1", + "0xb3", + "0x18", + "0x2d", + "0x13", + "0xd", + "0xab", + "0x93", + "0x6c", + "0x4", + "0x18", + "0x96", + "0x8b", + "0xbf", + "0xe5", + "0xfa", + "0x35", + "0xf9", + "0x8c", + "0x1a", + "0xf9", + "0xd3", + "0x5", + "0xf6", + "0x37", + "0xfd", + "0x22", + "0x25", + "0x16", + "0x3e", + "0x29", + "0xbb", + "0x26", + "0xa", + "0x2e", + "0xbb", + "0xc1", + "0x37", + "0xce", + "0x3a", + "0xd0", + "0xa9", + "0xd7", + "0xf4", + "0x7", + "0xa6", + "0xd4", + "0x30", + "0xe9", + "0xa9", + "0xd5", + "0xdf", + "0x8e", + "0x6f", + "0xbd", + "0x52", + "0x9b", + "0xc0", + "0xec", + "0xd4", + "0x9a", + "0x7", + "0xa2", + "0x61", + "0xec", + "0x88", + "0x18", + "0x75", + "0xae", + "0xe3", + "0x68", + "0xdb", + "0xf9", + "0x51", + "0x5f", + "0xa7", + "0x68", + "0x10", + "0xb0", + "0x12", + "0xf5", + "0x56", + "0xc4", + "0xd9", + "0x62", + "0x62", + "0x8c", + "0xbb", + "0x93", + "0x6c", + "0x88", + "0x49", + "0x45", + "0x9", + "0x4f", + "0xdb", + "0x8d", + "0xd0", + "0xe9", + "0x9", + "0x9b", + "0x71", + "0x1c", + "0x2", + "0xcd", + "0x2b", + "0xa6", + "0xf5", + "0x1a", + "0x98", + "0xeb", + "0xb9", + "0xee", + "0x5a", + "0x61", + "0x35", + "0x18", + "0x15", + "0x37", + "0xff", + "0x9c", + "0x12", + "0x6b", + "0xd6", + "0x56", + "0x54", + "0x5b", + "0xbf", + "0x88", + "0x76", + "0xad", + "0xc4", + "0x18", + "0x96", + "0x77", + "0xa2", + "0x14", + "0x2c", + "0x6d", + "0x6e", + "0xb7", + "0xfb", + "0x62", + "0x46", + "0x56", + "0x3c", + "0xa3", + "0xa", + "0x7d", + "0x42", + "0xf4", + "0x6c", + "0xe4", + "0xc8", + "0x9f", + "0x69", + "0x18", + "0x58", + "0xd8", + "0x27", + "0x64", + "0x22", + "0x4a", + "0xa8", + "0xdc", + "0x9f", + "0x36", + "0x5d", + "0xea", + "0xbf", + "0x25", + "0x8e", + "0x22", + "0xc0", + "0xf0", + "0xa1", + "0xb9", + "0x36", + "0x88", + "0xa7", + "0xea", + "0x2c", + "0x82", + "0x5", + "0xd3", + "0x12", + "0x58", + "0x34", + "0xa1", + "0x3e", + "0xed", + "0xa4", + "0xd7", + "0x9d", + "0x39", + "0x47", + "0x7d", + "0xad", + "0x99", + "0xff", + "0xb", + "0x8a", + "0x50", + "0x4b", + "0x19", + "0x31", + "0x73", + "0x55", + "0xfe", + "0x5f", + "0xa2", + "0x5f", + "0xa", + "0x6c", + "0x4e", + "0xde", + "0x8f", + "0xd5", + "0xde", + "0x1e", + "0x98", + "0x2c", + "0x1b", + "0xf5", + "0x98", + "0xa", + "0x50", + "0x7b", + "0xa4", + "0xef", + "0x1a", + "0xb8", + "0xc6", + "0xa2", + "0x98", + "0x4e", + "0x34", + "0x75", + "0x27", + "0xcb", + "0x81", + "0x50", + "0xb3", + "0xc6", + "0xb5", + "0xcc", + "0x3b", + "0xd3", + "0x69", + "0x13", + "0x9", + "0x6f", + "0xed", + "0xd6", + "0x24", + "0x7d", + "0x6b", + "0x23", + "0xec", + "0xd5", + "0x3e", + "0xa0", + "0x21", + "0x61", + "0x10", + "0x3b", + "0x88", + "0x38", + "0x76", + "0x75", + "0x5b", + "0x4a", + "0xd", + "0xeb", + "0xcf", + "0x68", + "0x8c", + "0xfc", + "0xce", + "0x2b", + "0x42", + "0xf6", + "0x65", + "0x1", + "0xbb", + "0xc3", + "0xfc", + "0xbb", + "0xd", + "0xe6", + "0x4", + "0xc9", + "0x9c", + "0x68", + "0xde", + "0xa2", + "0x60", + "0x5f", + "0x9f", + "0x47", + "0x3e", + "0xfe", + "0xb", + "0x7c", + "0x68", + "0xd4", + "0xe1", + "0x47", + "0x7d", + "0x90", + "0xdb", + "0x9a", + "0x17", + "0x2f", + "0x2", + "0xeb", + "0xae", + "0xff", + "0x20", + "0x35", + "0x2", + "0xec", + "0xb", + "0x9b", + "0xd3", + "0x79", + "0xc2", + "0xb2", + "0x4e", + "0x15", + "0xf", + "0xfa", + "0xfe", + "0x58", + "0x99", + "0x19", + "0x14", + "0xad", + "0x34", + "0x46", + "0x9b", + "0x37", + "0xd2", + "0x3e", + "0x95", + "0x93", + "0x8a", + "0x56", + "0xb8", + "0x45", + "0x33", + "0x59", + "0x56", + "0xe6", + "0x46", + "0xe4", + "0xfa", + "0x7b", + "0x89", + "0x6d", + "0x6b", + "0x3f", + "0x82", + "0x35", + "0xdb", + "0x62", + "0xc6", + "0x3a", + "0x91", + "0x44", + "0x78", + "0x7", + "0x66", + "0xab", + "0x80", + "0xd3", + "0xf8", + "0xf6", + "0x62", + "0xda", + "0x3c", + "0x6b", + "0xfc", + "0x61", + "0xcf", + "0x1", + "0xc1", + "0x2", + "0xe5", + "0x1b", + "0xa9", + "0xa6", + "0x5b", + "0x87", + "0xed", + "0x28", + "0x4d", + "0x1f", + "0xb2", + "0xf5", + "0xef", + "0xae", + "0xae", + "0x49", + "0xbb", + "0xf5", + "0xfd", + "0x74", + "0x7a", + "0xcf", + "0xba", + "0xe1", + "0x88", + "0xfa", + "0x28", + "0xee", + "0x3b", + "0xa6", + "0xba", + "0x8e", + "0x86", + "0x1f", + "0xdb", + "0xae", + "0x86", + "0x8c", + "0xd8", + "0x18", + "0xc0", + "0x7d", + "0x1c", + "0xda", + "0x1c", + "0xff", + "0x57", + "0xf6", + "0xff", + "0x7d", + "0x66", + "0x2d", + "0xd0", + "0x7f", + "0x5e", + "0x7a", + "0xee", + "0x38", + "0x2b", + "0x44", + "0x49", + "0xbe", + "0xcc", + "0x6d", + "0xad", + "0x7f", + "0xde", + "0x7b", + "0x8c", + "0x3d", + "0x79", + "0xf7", + "0x63", + "0xd9", + "0x40", + "0xcc", + "0xfe", + "0x42", + "0xed", + "0x25", + "0x49", + "0x2a", + "0xdc", + "0xd9", + "0xe", + "0xff", + "0x59", + "0x59", + "0xa6", + "0xde", + "0x66", + "0x1e", + "0xd9", + "0xe5", + "0x71", + "0x2f", + "0xd6", + "0x95", + "0xa8", + "0xbf", + "0xbf", + "0x38", + "0x15", + "0x6c", + "0x1f", + "0x53", + "0x3b", + "0xd7", + "0x64", + "0x6", + "0x8f", + "0x9a", + "0x94", + "0xc4", + "0xf3", + "0x7", + "0xc7", + "0xf2", + "0x18", + "0x6e", + "0xee", + "0xd7", + "0x64", + "0xe1", + "0x3d", + "0xb8", + "0xa3", + "0x1f", + "0x3e", + "0x29", + "0xb9", + "0x5b", + "0xb2", + "0x45", + "0x99", + "0x11", + "0x4c", + "0xe0", + "0xb8", + "0x4a", + "0x30", + "0xbd", + "0x2", + "0x45", + "0xda", + "0x4b", + "0xc8", + "0x77", + "0x94", + "0x2f", + "0x21", + "0x86", + "0x4e", + "0x4a", + "0x12", + "0xb0", + "0x8c", + "0xcc", + "0xdb", + "0x32", + "0x4a", + "0x15", + "0x58", + "0xfb", + "0x9b", + "0xc5", + "0xb8", + "0x14", + "0xf2", + "0xf5", + "0x67", + "0xe7", + "0x48", + "0x47", + "0x0", + "0xe9", + "0xa1", + "0x9e", + "0xa7", + "0x98", + "0x75", + "0xcb", + "0x19", + "0xc1", + "0xb", + "0x17", + "0xbc", + "0xe3", + "0x85", + "0xe0", + "0x66", + "0x54", + "0x2f", + "0x9c", + "0x3b", + "0x45", + "0xcd", + "0xc0", + "0xe", + "0xe0", + "0xe4", + "0xfe", + "0x3a", + "0xc7", + "0x45", + "0xee", + "0x40", + "0xdb", + "0xf5", + "0x9e", + "0x2d", + "0xda", + "0x9b", + "0xd7", + "0x6e", + "0x5e", + "0x1e", + "0xb0", + "0x15", + "0x74", + "0x20", + "0xf9", + "0xa9", + "0x47", + "0xb1", + "0x83", + "0xe4", + "0x1e", + "0x89", + "0x34", + "0x7d", + "0x97", + "0x12", + "0x2f", + "0x2a", + "0x4", + "0xe", + "0x58", + "0x2e", + "0x72", + "0xa0", + "0x9e", + "0xda", + "0xbf", + "0xd9", + "0x42", + "0xb2", + "0x19", + "0x19", + "0x6a", + "0xf4", + "0x5e", + "0x57", + "0xc5", + "0xb2", + "0xd6", + "0xb", + "0xbd", + "0xf4", + "0x7e", + "0x10", + "0xcb", + "0xa4", + "0xc8", + "0x78", + "0x87", + "0xd7", + "0x98", + "0xbb", + "0xeb", + "0x27", + "0xf6", + "0xb0", + "0xca", + "0x9d", + "0x7a", + "0x89", + "0x1b", + "0x94", + "0xf2", + "0x92", + "0x37", + "0x8b", + "0x45", + "0xd2", + "0x12", + "0x9f", + "0x9b", + "0x42", + "0x42", + "0xf3", + "0x81", + "0x14", + "0xc5", + "0x73", + "0x18", + "0xb5", + "0xc", + "0xd", + "0xc8", + "0x26", + "0xae", + "0xe2", + "0x8c", + "0xd0", + "0xe5", + "0xb7", + "0xca", + "0xf1", + "0xfb", + "0x4c", + "0xd1", + "0xb9", + "0xc7", + "0x98", + "0x75", + "0x30", + "0xfe", + "0xe3", + "0xcd", + "0x49", + "0x63", + "0xda", + "0x27", + "0x36", + "0xed", + "0x96", + "0xf6", + "0xb9", + "0xf4", + "0xcd", + "0xcf", + "0xa3", + "0xbd", + "0x75", + "0xf0", + "0x9c", + "0x36", + "0xb5", + "0x57", + "0xa6", + "0x2a", + "0xae", + "0xde", + "0xc", + "0xc7", + "0xb5", + "0x7e", + "0x7e", + "0x4a", + "0xfa", + "0xd5", + "0x56", + "0x80", + "0x75", + "0xc1", + "0xad", + "0xd5", + "0x26", + "0x27", + "0x75", + "0x28", + "0x57", + "0x3d", + "0x80", + "0xe5", + "0xf4", + "0x33", + "0x4e", + "0x85", + "0x36", + "0xa7", + "0xcd", + "0x32", + "0x64", + "0xe3", + "0xfc", + "0x98", + "0x37", + "0xad", + "0x60", + "0xc9", + "0x0", + "0xff", + "0x20", + "0xfc", + "0xcd", + "0x41", + "0x6d", + "0x3b", + "0x61", + "0x4", + "0x77", + "0xd2", + "0xfd", + "0xb0", + "0x58", + "0x2c", + "0x95", + "0x1d", + "0x1f", + "0x4c", + "0x64", + "0xb6", + "0xbb", + "0xc1", + "0x8c", + "0xe", + "0xd4", + "0x2a", + "0x2b", + "0x2", + "0xb5", + "0xd5", + "0x56", + "0x9", + "0xca", + "0x57", + "0x54", + "0x11", + "0xf1", + "0x49", + "0x74", + "0xd", + "0x8b", + "0x55", + "0xa0", + "0xe8", + "0xba", + "0x3d", + "0x4a", + "0x9c", + "0x6f", + "0xcc", + "0x4f", + "0x8e", + "0xc", + "0x57", + "0x29", + "0x40", + "0x89", + "0xa", + "0xdd", + "0x62", + "0x55", + "0x7b", + "0x11", + "0x41", + "0x9", + "0x17", + "0xc8", + "0x19", + "0xeb", + "0xa", + "0xa2", + "0x6f", + "0x79", + "0x32", + "0x2a", + "0x2d", + "0x2c", + "0xcc", + "0xf5", + "0x19", + "0xed", + "0x8d", + "0xb0", + "0xa7", + "0x39", + "0xe6", + "0x29", + "0xce", + "0x5d", + "0xf0", + "0x2f", + "0xc7", + "0x1f", + "0xdf", + "0x6", + "0x7d", + "0xef", + "0x25", + "0x8d", + "0x64", + "0xf8", + "0xf2", + "0x8c", + "0x7a", + "0x92", + "0x24", + "0x16", + "0x6d", + "0x4c", + "0x98", + "0xcc", + "0x25", + "0xbb", + "0xf5", + "0xd1", + "0xb1", + "0xda", + "0x49", + "0x1b", + "0x86", + "0xd4", + "0x39", + "0x23", + "0xf1", + "0x4a", + "0x6d", + "0x74", + "0xa6", + "0x4c", + "0x8d", + "0xe8", + "0xd5", + "0xc1", + "0x67", + "0x70", + "0x5d", + "0x76", + "0x37", + "0xc1", + "0x22", + "0x8b", + "0x3d", + "0x6b", + "0x4a", + "0x28", + "0x1c", + "0x8a", + "0xb6", + "0x50", + "0xc2", + "0x73", + "0x81", + "0x5d", + "0xc0", + "0x32", + "0xf1", + "0xd7", + "0x74", + "0xdc", + "0xfb", + "0xa5", + "0x39", + "0x86", + "0xa2", + "0x2f", + "0x80", + "0x67", + "0x47", + "0x28", + "0xee", + "0xf2", + "0xd9", + "0x73", + "0xd9", + "0x1c", + "0xe9", + "0xa5", + "0xad", + "0x82", + "0xbd", + "0xf9", + "0x1c", + "0x93", + "0x6e", + "0x8f", + "0x9e", + "0x9d", + "0xc8", + "0x4f", + "0xec", + "0xad", + "0x1d", + "0x91", + "0x40", + "0x1e", + "0xf2", + "0xdb", + "0x51", + "0x50", + "0xb", + "0x7d", + "0x2", + "0x88", + "0x50", + "0xef", + "0x4c", + "0xc1", + "0x98", + "0xfd", + "0x4f", + "0xc6", + "0xf3", + "0x8b", + "0xe2", + "0xd0", + "0xfe", + "0xc0", + "0xf", + "0x2c", + "0x2c", + "0x5a", + "0x77", + "0x64", + "0x9a", + "0xfd", + "0xff", + "0xd4", + "0x8f", + "0xe7", + "0x9d", + "0x7b", + "0x3c", + "0xb4", + "0x8b", + "0xd8", + "0x13", + "0x60", + "0xf0", + "0x2d", + "0x2b", + "0xd4", + "0xce", + "0xf8", + "0x9d", + "0x85", + "0x1b", + "0x39", + "0xc2", + "0x99", + "0x34", + "0x76", + "0xf6", + "0xbd", + "0xe5", + "0xca", + "0xb2", + "0x3f", + "0xa0", + "0x1d", + "0x8b", + "0xa", + "0xe6", + "0xb7", + "0xab", + "0x1a", + "0x2e", + "0x15", + "0x1f", + "0xbd", + "0x53", + "0x79", + "0x37", + "0x7c", + "0xfe", + "0x60", + "0xe1", + "0x71", + "0x70", + "0xb9", + "0xa1", + "0x1f", + "0x51", + "0xde", + "0xf4", + "0x4", + "0xba", + "0xa8", + "0x2", + "0xfc", + "0x9", + "0x1f", + "0x1c", + "0xa4", + "0x82", + "0x5d", + "0x30", + "0x77", + "0xb3", + "0xa5", + "0xf5", + "0x96", + "0x67", + "0x3f", + "0x3", + "0x1b", + "0xaa", + "0x5d", + "0x39", + "0xf9", + "0x79", + "0xad", + "0xc3", + "0xbe", + "0x87", + "0x7a", + "0xd2", + "0x47", + "0x54", + "0xea", + "0xe4", + "0x6c", + "0x1a", + "0xa0", + "0x12", + "0x0", + "0xb9", + "0x9c", + "0x26", + "0x7c", + "0x3f", + "0xed", + "0xf3", + "0xab", + "0x8a", + "0x5d", + "0x43", + "0x3c", + "0x3b", + "0x12", + "0x33", + "0x8e", + "0x77", + "0x66", + "0x31", + "0xe3", + "0x6e", + "0xeb", + "0x83", + "0xef", + "0xef", + "0x2f", + "0x64", + "0x33", + "0xa5", + "0x89", + "0xea", + "0x54", + "0x1f", + "0xca", + "0x37", + "0x2e", + "0x65", + "0xad", + "0x52", + "0x63", + "0x5", + "0x5e", + "0x5a", + "0x32", + "0x44", + "0xfa", + "0xbe", + "0x46", + "0xb6", + "0xe0", + "0x32", + "0x9a", + "0x56", + "0x91", + "0xf5", + "0x89", + "0x52", + "0xf1", + "0x21", + "0x9c", + "0xff", + "0xef", + "0x24", + "0x9e", + "0x6e", + "0x25", + "0x33", + "0xd1", + "0x1c", + "0x52", + "0xfc", + "0x3b", + "0x8a", + "0xbb", + "0xcf", + "0x73", + "0xa3", + "0x7c", + "0x76", + "0x6c", + "0xc7", + "0x99", + "0xd0", + "0x59", + "0xb", + "0x52", + "0xcf", + "0xdd", + "0x5f", + "0x76", + "0x1e", + "0xfe", + "0x2a", + "0x1e", + "0xe5", + "0x67", + "0xcf", + "0xc5", + "0x4c", + "0xc9", + "0xdc", + "0x16", + "0x2a", + "0xe3", + "0x81", + "0xc2", + "0xd4", + "0x78", + "0x9b", + "0x64", + "0x6d", + "0x27", + "0x23", + "0x62", + "0xa0", + "0x14", + "0xe1", + "0x9", + "0x31", + "0x9c", + "0x65", + "0xd6", + "0x4c", + "0x57", + "0x7f", + "0x79", + "0x99", + "0x9e", + "0x16", + "0x63", + "0xc0", + "0x77", + "0x3", + "0x8e", + "0xa6", + "0x40", + "0xfd", + "0xcd", + "0xdb", + "0x77", + "0x51", + "0xa2", + "0xfa", + "0xd4", + "0x21", + "0x91", + "0x44", + "0xd5", + "0x3d", + "0x89", + "0x94", + "0x5d", + "0x84", + "0xa4", + "0x40", + "0x66", + "0xc9", + "0xbc", + "0x2", + "0x8d", + "0x2a", + "0xb2", + "0xad", + "0xb8", + "0x3f", + "0x7f", + "0x86", + "0x8a", + "0xf", + "0xdd", + "0xf9", + "0x37", + "0x38", + "0x85", + "0xd2", + "0xfd", + "0xd8", + "0xd7", + "0xc", + "0xfa", + "0x8e", + "0x9a", + "0x72", + "0x44", + "0xf6", + "0xb9", + "0x66", + "0x4f", + "0x6", + "0x4a", + "0xb9", + "0x33", + "0x0", + "0xa6", + "0xa1", + "0x75", + "0xaf", + "0xf0", + "0x6f", + "0xb2", + "0x36", + "0x8a", + "0xf3", + "0x87", + "0xd5", + "0x1b", + "0x5c", + "0xf3", + "0x7e", + "0x9a", + "0xa8", + "0xaf", + "0xd4", + "0xcf", + "0xb7", + "0xc4", + "0xd6", + "0x1f", + "0xe6", + "0x76", + "0x2b", + "0xd7", + "0x29", + "0xc5", + "0xaf", + "0x5c", + "0x7f", + "0x48", + "0xdd", + "0xee", + "0x66", + "0xe9", + "0x2f", + "0x89", + "0xad", + "0x3f", + "0x15", + "0x5e", + "0xa", + "0x3c", + "0xf7", + "0xd3", + "0x4d", + "0xfd", + "0x41", + "0x37", + "0xf5", + "0x1e", + "0x8", + "0xa9", + "0x7f", + "0x65", + "0xe1", + "0x2e", + "0x30", + "0x50", + "0x95", + "0xd9", + "0x37", + "0x4c", + "0xb", + "0xe0", + "0xb7", + "0x2e", + "0x75", + "0x7a", + "0x1f", + "0x46", + "0x88", + "0x9c", + "0x6a", + "0x5f", + "0x10", + "0x2e", + "0x99", + "0xf1", + "0xfd", + "0x76", + "0x5f", + "0x27", + "0x34", + "0xae", + "0xdd", + "0xf6", + "0x62", + "0x94", + "0xf0", + "0xb2", + "0xcb", + "0x4b", + "0x5c", + "0x4", + "0x6e", + "0x1e", + "0xbe", + "0x35", + "0x68", + "0xe5", + "0xf1", + "0x56", + "0x3e", + "0x18", + "0x99", + "0xba", + "0x69", + "0xde", + "0xab", + "0x90", + "0x3c", + "0x1b", + "0x8b", + "0xe4", + "0x14", + "0x47", + "0x1d", + "0x99", + "0x7e", + "0x4a", + "0x57", + "0xe1", + "0x7f", + "0x77", + "0x68", + "0x4f", + "0x12", + "0x4a", + "0xef", + "0x98", + "0xd8", + "0x84", + "0x59", + "0xf4", + "0x10", + "0xe9", + "0x72", + "0x7a", + "0x16", + "0x59", + "0x54", + "0xdb", + "0x2f", + "0x37", + "0x46", + "0x60", + "0xac", + "0xc6", + "0x4d", + "0xf3", + "0x58", + "0x43", + "0xa0", + "0xe", + "0x2f", + "0x55", + "0x97", + "0xc1", + "0x11", + "0x90", + "0x15", + "0x1f", + "0xc9", + "0xd8", + "0x9b", + "0xaf", + "0x6b", + "0xe9", + "0xbb", + "0x38", + "0x61", + "0xda", + "0xc1", + "0x67", + "0xa6", + "0x9e", + "0x4f", + "0xb3", + "0x6", + "0x1f", + "0xde", + "0x82", + "0x7f", + "0xb6", + "0xa0", + "0xe8", + "0xd2", + "0xa6", + "0x52", + "0xe2", + "0xf2", + "0x9f", + "0xce", + "0xd4", + "0x7f", + "0xd0", + "0xf5", + "0x81", + "0xdc", + "0x9f", + "0x6", + "0x7b", + "0xc6", + "0xca", + "0xd2", + "0x69", + "0x30", + "0x36", + "0xfd", + "0xa4", + "0x97", + "0x33", + "0x83", + "0x19", + "0xac", + "0xb3", + "0x98", + "0x9f", + "0xed", + "0xd5", + "0x8", + "0x3f", + "0xa8", + "0xbd", + "0xf9", + "0x10", + "0x5f", + "0x36", + "0x3", + "0xf8", + "0x11", + "0xd3", + "0xdd", + "0xec", + "0x99", + "0xfc", + "0xc0", + "0x48", + "0x61", + "0x0", + "0x29", + "0x96", + "0x36", + "0x9c", + "0xa1", + "0x8d", + "0xa6", + "0xa5", + "0xb1", + "0xfc", + "0xfd", + "0x7a", + "0xd8", + "0x16", + "0xb9", + "0x7b", + "0xf3", + "0x17", + "0x7a", + "0x61", + "0x5", + "0x64", + "0x84", + "0xf7", + "0x67", + "0xe9", + "0x69", + "0xc9", + "0xcd", + "0x1b", + "0x6b", + "0x83", + "0x10", + "0xd0", + "0x84", + "0x4d", + "0x16", + "0x4", + "0x94", + "0xc6", + "0x4", + "0xbd", + "0xfa", + "0xd1", + "0x3f", + "0x63", + "0x55", + "0xac", + "0x72", + "0xdc", + "0x4b", + "0xb7", + "0x67", + "0x77", + "0xfc", + "0xa2", + "0x87", + "0xb4", + "0xa9", + "0x1e", + "0x27", + "0x85", + "0x66", + "0x86", + "0x3f", + "0xfd", + "0xe2", + "0x78", + "0xcf", + "0xfd", + "0xc5", + "0xe3", + "0x3a", + "0x70", + "0xd6", + "0xf", + "0x18", + "0xff", + "0x22", + "0xf9", + "0x9f", + "0x89", + "0x1d", + "0x1a", + "0xc3", + "0x6c", + "0x87", + "0x2b", + "0x8a", + "0xca", + "0xbc", + "0xd5", + "0x79", + "0xfc", + "0x5d", + "0x9d", + "0x9e", + "0x29", + "0x20", + "0x39", + "0x50", + "0x53", + "0x6", + "0x30", + "0xa9", + "0xd8", + "0xe7", + "0xb2", + "0x1e", + "0xce", + "0x34", + "0x5d", + "0x92", + "0xc9", + "0xf7", + "0x4d", + "0xfb", + "0x3a", + "0x38", + "0xdf", + "0xfc", + "0x74", + "0x64", + "0xb", + "0xfc", + "0x63", + "0xff", + "0x5", + "0x94", + "0x8f", + "0x49", + "0x4a", + "0x1a", + "0x9e", + "0x36", + "0x4b", + "0xd3", + "0xbc", + "0x32", + "0x29", + "0xe9", + "0x4d", + "0x56", + "0xb0", + "0x76", + "0x13", + "0x66", + "0xad", + "0x7f", + "0x54", + "0xdb", + "0xe", + "0xb3", + "0xef", + "0xc5", + "0x3e", + "0x74", + "0x64", + "0x66", + "0x66", + "0xb6", + "0xc0", + "0xfa", + "0xe6", + "0x71", + "0x8a", + "0x73", + "0x1", + "0xac", + "0xf6", + "0xe7", + "0xcb", + "0x2e", + "0xa3", + "0xa4", + "0x96", + "0xb8", + "0xfe", + "0x14", + "0x7", + "0x90", + "0x73", + "0xd2", + "0x96", + "0xa", + "0xf7", + "0x5", + "0x3c", + "0xf7", + "0x4e", + "0xb", + "0xba", + "0xf5", + "0x89", + "0x3c", + "0xff", + "0xe3", + "0x29", + "0xb5", + "0xd7", + "0x20", + "0x25", + "0xb5", + "0xd3", + "0x55", + "0x59", + "0xac", + "0xf2", + "0x98", + "0xe7", + "0x9", + "0xef", + "0xe1", + "0x6e", + "0x80", + "0x34", + "0xfe", + "0x8b", + "0xef", + "0x13", + "0x5c", + "0xf8", + "0xe1", + "0x90", + "0x2e", + "0xa4", + "0x47", + "0x15", + "0x57", + "0x71", + "0x8f", + "0x95", + "0xae", + "0x24", + "0x9d", + "0x73", + "0x54", + "0xcd", + "0x99", + "0xce", + "0xa7", + "0x4c", + "0xbc", + "0x82", + "0x9", + "0x5", + "0x6c", + "0xb0", + "0x2", + "0x42", + "0x19", + "0xd8", + "0xd9", + "0x3", + "0x8e", + "0xee", + "0xdb", + "0xa9", + "0xfb", + "0x66", + "0xe4", + "0xcd", + "0x7f", + "0x9a", + "0x73", + "0xbb", + "0x53", + "0xa6", + "0xfb", + "0xe", + "0xe1", + "0xa2", + "0xea", + "0xc0", + "0xe3", + "0xf3", + "0x76", + "0xae", + "0xaf", + "0x43", + "0xbf", + "0xb3", + "0x4b", + "0x9a", + "0xc3", + "0x29", + "0x36", + "0x5a", + "0x9d", + "0xf7", + "0xde", + "0x3c", + "0xb9", + "0xef", + "0x50", + "0x52", + "0x97", + "0x3c", + "0x49", + "0x40", + "0x36", + "0x7", + "0xfa", + "0x2c", + "0x1e", + "0x1b", + "0xf7", + "0xfe", + "0x30", + "0x31", + "0x40", + "0x3d", + "0x0", + "0x0", + "0x9c", + "0xb6", + "0xf4", + "0x13", + "0x8c", + "0xb8", + "0x47", + "0xb8", + "0x24", + "0x7", + "0xbd", + "0x58", + "0x47", + "0x5d", + "0x65", + "0x1f", + "0x63", + "0x44", + "0xc6", + "0x41", + "0x32", + "0xd5", + "0xe9", + "0x33", + "0xf6", + "0xf7", + "0x6", + "0xa1", + "0x5e", + "0xa9", + "0xa2", + "0x2d", + "0x89", + "0x77", + "0x5d", + "0x5e", + "0xfc", + "0x3c", + "0x8b", + "0x7d", + "0x7c", + "0x60", + "0xb3", + "0x27", + "0xe6", + "0x5b", + "0xc8", + "0x0", + "0x89", + "0xb0", + "0xd6", + "0x5c", + "0xe8", + "0xdd", + "0x5c", + "0xbb", + "0x4a", + "0xc4", + "0x38", + "0x49", + "0xf5", + "0x28", + "0x2b", + "0xf9", + "0x69", + "0xbb", + "0x7a", + "0x51", + "0xe1", + "0x69", + "0x4f", + "0xf3", + "0xa3", + "0x64", + "0xb8", + "0x65", + "0x71", + "0x9f", + "0x1d", + "0xe6", + "0xe4", + "0xf5", + "0xa5", + "0x72", + "0x89", + "0x9d", + "0x47", + "0x55", + "0xb9", + "0x6d", + "0x9", + "0xe", + "0x72", + "0xfd", + "0x97", + "0x32", + "0x5b", + "0x6c", + "0x39", + "0x9a", + "0xcc", + "0x4f", + "0xdf", + "0x4f", + "0x9d", + "0xb1", + "0x6c", + "0xf8", + "0xa4", + "0x2c", + "0x1d", + "0x67", + "0x3b", + "0xe7", + "0x36", + "0x2c", + "0x82", + "0x7a", + "0xcb", + "0x2d", + "0x2c", + "0x9b", + "0x6f", + "0xfb", + "0x86", + "0xd0", + "0x87", + "0x5f", + "0x2f", + "0x25", + "0xd8", + "0x7", + "0x26", + "0xf5", + "0x1e", + "0x8e", + "0x8b", + "0x98", + "0xed", + "0x4d", + "0x46", + "0x4d", + "0xad", + "0x6", + "0x6c", + "0xa6", + "0xd9", + "0xa4", + "0xa3", + "0x71", + "0x58", + "0x4b", + "0xce", + "0xdb", + "0x8e", + "0xe6", + "0xc4", + "0x3e", + "0x2f", + "0xa8", + "0x64", + "0x56", + "0x74", + "0x13", + "0x49", + "0x84", + "0xb7", + "0xe1", + "0x7f", + "0x24", + "0x1e", + "0x3c", + "0x2f", + "0xb7", + "0xe", + "0xcc", + "0x44", + "0x45", + "0x1f", + "0xa5", + "0x20", + "0x83", + "0x41", + "0x94", + "0xcb", + "0x34", + "0xa8", + "0x71", + "0x86", + "0x47", + "0x5b", + "0x84", + "0xfb", + "0xa9", + "0xdb", + "0xaa", + "0xd3", + "0x57", + "0xbc", + "0x76", + "0x14", + "0xd4", + "0x5b", + "0x8b", + "0x41", + "0x47", + "0xdc", + "0xcc", + "0xca", + "0xf7", + "0x8a", + "0xf4", + "0xd7", + "0xca", + "0x75", + "0x85", + "0x65", + "0x3", + "0x13" + ], + "padding": 3 + }, + "hashCount": 7, + "insertionCount": 10000, + "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000" + } +] From 5abbe8623175e8b01b103fb753798069242fea47 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Fri, 18 Nov 2022 15:32:19 -0800 Subject: [PATCH 14/31] Use number in bitmap instead of hexadecimal string representation --- packages/firestore/src/remote/bloom_filter.ts | 10 +- .../test/unit/remote/bloom_filter.test.ts | 15 +- .../unit/remote/bloom_filter_test_data.json | 21061 +--------------- 3 files changed, 1295 insertions(+), 19791 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 19943c4c8bd..b93d8fe81a1 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -38,9 +38,13 @@ export class BloomFilter { mightContain(document: string): boolean { // Empty bitmap should always return false on membership check - if (this.bitSize === 0) { return false; } - // If document path is an empty string, return false - if (!document) { return false; } + if (this.bitSize === 0) { + return false; + } + // If document name is an empty string, return false + if (!document) { + return false; + } // Hash the string using md5 const md5 = new Md5(); diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 696e4f5625e..71c836cbbcb 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -18,7 +18,7 @@ import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; -import testData from './bloom_filter_test_data.json'; +import testData from './bloom_filter_test_data.json'; describe('BloomFilter', () => { it('can initiate an empty BloomFilter', () => { @@ -99,25 +99,28 @@ describe('BloomFilter', () => { const prefix = 'projects/project-1/databases/database-1/documents/coll/doc'; interface TestDataType { - // + // Bloom filter result created by backend based on documents: prefix+(0 ~i) bits: { bitmap: number[]; padding: number; }; hashCount: number; - insertionCount: number; + // Check membership of documents prefix+(0 ~2i) + membershipCheckCount: number; + // Membership result on docs from 0~i are always postive, i~2i might have false positive membershipTestResult: string; } it('mightContain result should match backend result', () => { testData.forEach((data: TestDataType) => { - const { bits, hashCount, insertionCount, membershipTestResult } = data; + const { bits, hashCount, membershipCheckCount, membershipTestResult } = + data; const bloomFilter = new BloomFilter( - new Uint8Array(bits.bitmap), + Uint8Array.from(bits.bitmap), bits.padding, hashCount ); - for (let i = 0; i < insertionCount; i++) { + for (let i = 0; i < membershipCheckCount; i++) { const isMember = membershipTestResult[i] === '1' ? true : false; const mightContain = bloomFilter.mightContain(prefix + i); expect(mightContain).to.equal(isMember); diff --git a/packages/firestore/test/unit/remote/bloom_filter_test_data.json b/packages/firestore/test/unit/remote/bloom_filter_test_data.json index 0968191eb4c..84985216269 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_test_data.json +++ b/packages/firestore/test/unit/remote/bloom_filter_test_data.json @@ -1,19834 +1,1331 @@ [ { "bits": { - "bitmap": ["0x46", "0xcc", "0x19"], + "bitmap": [70, 204, 25], "padding": 1 }, "hashCount": 16, - "insertionCount": 2, + "membershipCheckCount": 2, "membershipTestResult": "10" }, { "bits": { - "bitmap": ["0x9b", "0x01"], + "bitmap": [155, 1], "padding": 5 }, "hashCount": 8, - "insertionCount": 2, + "membershipCheckCount": 2, "membershipTestResult": "10" }, { "bits": { "bitmap": [ - "0xbe", - "0xeb", - "0x16", - "0xe9", - "0x87", - "0x36", - "0xa0", - "0x8b", - "0x31", - "0x98", - "0x46", - "0xa9", - "0x69", - "0xbe", - "0x31", - "0x87", - "0xb4", - "0x2a", - "0xce", - "0x7c", - "0x76", - "0x2c", - "0x05", - "0x66", - "0x16", - "0xb0", - "0x37", - "0x4a", - "0xab", - "0x87", - "0xf3", - "0x99", - "0x05", - "0x47", - "0xc9", - "0x7e", - "0xfc", - "0xca", - "0x42", - "0x22", - "0x89", - "0x0f", - "0x00", - "0x03", - "0x2e", - "0x20", - "0x09", - "0x8a", - "0xa9", - "0xca", - "0xf0", - "0x06", - "0xdc", - "0x7f", - "0x23", - "0xc7", - "0x6c", - "0xf5", - "0x4c", - "0x3d", - "0x02", - "0x91", - "0xd6", - "0xd8", - "0xa6", - "0x7f", - "0x04", - "0xc4", - "0xdb", - "0x8a", - "0x33", - "0xc3", - "0x69", - "0xcd", - "0x87", - "0x9b", - "0x4a", - "0x10", - "0xbd", - "0x61", - "0x64", - "0x52", - "0x3c", - "0x9c", - "0x5f", - "0xb8", - "0x0d", - "0x42", - "0xb9", - "0x23", - "0x0c", - "0x8b", - "0x11", - "0x05", - "0xd3", - "0xbf", - "0x21", - "0xa6", - "0x03", - "0xc0", - "0x08", - "0x7b", - "0xe1", - "0x0c", - "0x28", - "0x7c", - "0x34", - "0x0b", - "0x63", - "0x1a", - "0xd2", - "0x36", - "0x00", - "0x1d", - "0x4f", - "0xeb", - "0x2d", - "0x20", - "0x2e", - "0xd4", - "0x2a", - "0x7a", - "0x71", - "0x66", - "0x5d", - "0x6d", - "0x44", - "0xa4", - "0xe7", - "0x21", - "0xad", - "0x09", - "0x41", - "0x7a", - "0xd1", - "0x0a", - "0x19", - "0xb1", - "0xbc", - "0xee", - "0x2b", - "0xe9", - "0x64", - "0x08", - "0xf5", - "0x04", - "0x7b", - "0xea", - "0xe9", - "0x39", - "0xe4", - "0xa3", - "0x59", - "0x15", - "0x0e", - "0x58", - "0x9a", - "0x0b", - "0xd3", - "0xea", - "0xe6", - "0x1e", - "0x4d", - "0xa7", - "0xe2", - "0x24", - "0x46", - "0x5b", - "0xeb", - "0x54", - "0x3d", - "0x57", - "0x73", - "0x8e", - "0x92", - "0xce", - "0x38", - "0x85", - "0x5f", - "0x37", - "0x17", - "0xff", - "0x3f", - "0xae", - "0x03", - "0xef", - "0x46", - "0x8c", - "0x1e", - "0x2c", - "0x71", - "0x49", - "0xf9", - "0xec", - "0xd2", - "0x27", - "0x4e", - "0x0f", - "0xf4", - "0x0f", - "0x9a", - "0xd4", - "0x31", - "0xe5", - "0x32", - "0xda", - "0x6b", - "0x88", - "0x3b", - "0x31", - "0x54", - "0x80", - "0x20", - "0x26", - "0x6f", - "0xc2", - "0x2a", - "0xe3", - "0xe4", - "0x04", - "0x2d", - "0x63", - "0x8a", - "0xda", - "0x69", - "0x17", - "0xd0", - "0x9a", - "0x82", - "0x72", - "0xcf", - "0x89", - "0xd0", - "0xba", - "0xe4", - "0x5d", - "0x4e", - "0x3d", - "0x21", - "0x3e", - "0xf1", - "0x10", - "0x33", - "0x1d", - "0xa1", - "0x1f", - "0xba", - "0x27", - "0x37", - "0xdb", - "0x23", - "0x49", - "0x12", - "0xe4", - "0x19", - "0x7d", - "0xbd", - "0x61", - "0xab", - "0x8a", - "0x70", - "0x13", - "0xad", - "0xa1", - "0x43", - "0x4f", - "0xee", - "0x95", - "0xcc", - "0xee", - "0x34", - "0x5b", - "0x10", - "0xca", - "0x48", - "0xa4", - "0x35", - "0xc1", - "0x81", - "0x01", - "0x65", - "0x83", - "0x1d", - "0x62", - "0xb8", - "0xba", - "0xbe", - "0x9d", - "0xc2", - "0x34", - "0x12", - "0x3f", - "0xbb", - "0x4e", - "0xab", - "0x79", - "0xb8", - "0x7c", - "0xb2", - "0xb7", - "0xc5", - "0x84", - "0x2d", - "0xe3", - "0x53", - "0xa9", - "0x21", - "0xd3", - "0xf3", - "0x3d", - "0xf9", - "0xf5", - "0x63", - "0x83", - "0x42", - "0xf8", - "0x11", - "0x5d", - "0x29", - "0x06", - "0x54", - "0x84", - "0x8c", - "0x44", - "0xa5", - "0x35", - "0xf6", - "0x4c", - "0xf1", - "0x68", - "0x1a", - "0xc5", - "0xbd", - "0x89", - "0x2a", - "0x91", - "0xbc", - "0x5d", - "0xb3", - "0xcd", - "0x6b", - "0x2d", - "0x02", - "0x37", - "0x0e", - "0xca", - "0xf4", - "0xff", - "0xc8", - "0x9d", - "0xfa", - "0x8a", - "0x31", - "0x23", - "0x55", - "0x5f", - "0x4e", - "0xfb", - "0xf3", - "0x56", - "0x7d", - "0x9b", - "0xf1", - "0x51", - "0xfb", - "0x76", - "0xeb", - "0xf3", - "0x4d", - "0x0d", - "0x13", - "0xe1", - "0xa6", - "0x7c", - "0x57", - "0x1c", - "0x51", - "0x9e", - "0x8b", - "0x5d", - "0x2a", - "0x28", - "0x63", - "0x18", - "0xca", - "0x6f", - "0xec", - "0x78", - "0x5a", - "0xf9", - "0xf8", - "0x79", - "0xb6", - "0x6e", - "0x97", - "0x33", - "0x2d", - "0xfa", - "0x59", - "0xb5", - "0xf4", - "0x2d", - "0xfc", - "0x81", - "0xca", - "0x83", - "0xc2", - "0xf2", - "0xaf", - "0xcb", - "0x8c", - "0xa0", - "0x02", - "0xb9", - "0x62", - "0x16", - "0x2b", - "0x4e", - "0xa2", - "0x98", - "0xe4", - "0x30", - "0xe8", - "0xda", - "0x30", - "0x8f", - "0x1a", - "0x72", - "0x1b", - "0x83", - "0x06", - "0x09", - "0x50", - "0x34", - "0x11", - "0x2f", - "0x7e", - "0x04", - "0x7a", - "0x0b", - "0xe7", - "0x77", - "0xa4", - "0xf4", - "0x03", - "0xa5", - "0xda", - "0x53", - "0x4c", - "0xbe", - "0x49", - "0x76", - "0xdb", - "0x7d", - "0xb9", - "0x36", - "0xbc", - "0x7c", - "0x9b", - "0x55", - "0x9c", - "0x2e", - "0x18", - "0x4a", - "0x1b", - "0x4d", - "0x86", - "0x5a", - "0x6c", - "0x4d", - "0x9b", - "0x36", - "0xd", - "0x2b", - "0x99", - "0xd6", - "0x31", - "0xe0", - "0xb2", - "0x6f", - "0x38", - "0x39", - "0x76", - "0x64", - "0x53", - "0x7b", - "0x59", - "0x9e", - "0x62", - "0xb3", - "0x25", - "0x0", - "0xb4", - "0x12", - "0x49", - "0x6b", - "0x5e", - "0x8f", - "0xcb", - "0x63", - "0xdf", - "0x2c", - "0x1c", - "0x5f", - "0xac", - "0x24", - "0x9c", - "0x56", - "0x94", - "0x9", - "0xaf", - "0xa5", - "0xdd", - "0x91", - "0xae", - "0x9e", - "0x52", - "0xb1", - "0xc0", - "0xe3", - "0x0", - "0x13", - "0xed", - "0x5f", - "0xab", - "0xdc", - "0xd0", - "0x99", - "0xb2", - "0x55", - "0x9", - "0xc9", - "0x9", - "0x32", - "0xe2", - "0x50", - "0xe3", - "0xb5", - "0xa7", - "0x2", - "0x56", - "0xc4", - "0x68", - "0xd8", - "0xe3", - "0x4c", - "0x1a", - "0xe5", - "0xa4", - "0x52", - "0x1f", - "0x71", - "0xab", - "0x29", - "0xd1", - "0x9", - "0xf", - "0x39", - "0x77", - "0x6d", - "0x52", - "0xb7", - "0xec", - "0x40", - "0xa3", - "0x8a", - "0x65", - "0xfd", - "0x5d", - "0x25", - "0x77", - "0x51", - "0x5e", - "0x53", - "0xab", - "0xe", - "0x54", - "0x6c", - "0xd5", - "0xe6", - "0x81", - "0xe8", - "0xb2", - "0x38", - "0xb7", - "0x4b", - "0x80", - "0xc5", - "0x65", - "0x9f", - "0x94", - "0x65", - "0xb2", - "0x9d", - "0x1", - "0xc", - "0x2a", - "0x47", - "0xe5", - "0x18", - "0xf8", - "0x34", - "0x4d", - "0xd1", - "0x5b", - "0x79", - "0xd4", - "0xc6", - "0x61", - "0x79", - "0x9d", - "0x58", - "0x60", - "0x97", - "0x7c", - "0xd1", - "0x95", - "0xf8", - "0xd", - "0x3b", - "0x21", - "0xb3", - "0xa7", - "0xde", - "0x48", - "0x9a", - "0x64", - "0xb6", - "0xe3", - "0x81", - "0x58", - "0x91", - "0x9f", - "0xb4", - "0x5c", - "0xdd", - "0x6c", - "0x82", - "0x1c", - "0x94", - "0x91", - "0xb6", - "0xf4", - "0xa2", - "0x9b", - "0xc1", - "0x2a", - "0x51", - "0xdb", - "0x9c", - "0x6", - "0x2a", - "0x71", - "0x5a", - "0x7c", - "0x8d", - "0xab", - "0xc0", - "0x8b", - "0x4d", - "0x8b", - "0x30", - "0x93", - "0x56", - "0x4c", - "0x5a", - "0xfd", - "0xa4", - "0x27", - "0x4d", - "0x81", - "0x78", - "0x3c", - "0x68", - "0x41", - "0x98", - "0xbb", - "0xb4", - "0xcd", - "0xf1", - "0x29", - "0x68", - "0x8c", - "0xf7", - "0xa6", - "0x6a", - "0x4c", - "0x50", - "0xee", - "0xd3", - "0x3c", - "0x4d", - "0x5a", - "0x62", - "0x3c", - "0x95", - "0xf3", - "0x16", - "0xa4", - "0x48", - "0x90", - "0x38", - "0x88", - "0x33", - "0x10", - "0x23", - "0x76", - "0x7b", - "0x9f", - "0xfe", - "0x9e", - "0x17", - "0xb3", - "0xc5", - "0xc7", - "0x2f", - "0xea", - "0x50", - "0xdb", - "0xb3", - "0x1f", - "0x39", - "0x95", - "0xdc", - "0xfa", - "0x32", - "0xbc", - "0xe8", - "0xc8", - "0xb", - "0xc1", - "0x8d", - "0x9d", - "0x66", - "0x94", - "0x77", - "0xf", - "0x52", - "0x97", - "0x4", - "0xeb", - "0xff", - "0x62", - "0xd4", - "0xcd", - "0xe", - "0x1f", - "0x86", - "0xe7", - "0x2", - "0xca", - "0x42", - "0x0", - "0x1d", - "0xc8", - "0x1a", - "0xc2", - "0xd7", - "0x3", - "0xff", - "0xbc", - "0x21", - "0x81", - "0xad", - "0x59", - "0xfc", - "0xb7", - "0xce", - "0x3d", - "0x13", - "0x85", - "0xd4", - "0x97", - "0xca", - "0xc3", - "0xb6", - "0xbc", - "0x1f", - "0x4b", - "0xc4", - "0x45", - "0x7d", - "0xd6", - "0xb", - "0x8d", - "0xbb", - "0x2c", - "0x78", - "0xdb", - "0xbd", - "0xb8", - "0x40", - "0xc3", - "0x42", - "0xa7", - "0x49", - "0xfc", - "0x88", - "0x3c", - "0xca", - "0x24", - "0xe3", - "0xd1", - "0xf6", - "0xd2", - "0x2d", - "0xe8", - "0x64", - "0xe7", - "0x47", - "0x40", - "0x4d", - "0x30", - "0xc5", - "0x88", - "0xff", - "0xd4", - "0x3", - "0xc3", - "0xf0", - "0x97", - "0xd4", - "0xfd", - "0x39", - "0x4c", - "0x5b", - "0x5b", - "0xa6", - "0x45", - "0x50", - "0x11", - "0x67", - "0xca", - "0x21", - "0x58", - "0xb1", - "0x74", - "0xa1", - "0x97", - "0x28", - "0x84", - "0x4a", - "0x9e", - "0xc5", - "0xa8", - "0xe7", - "0x29", - "0x11", - "0x0", - "0xad", - "0xf5", - "0x6f", - "0xbc", - "0x1a", - "0xe8", - "0xc8", - "0x5b", - "0xc8", - "0xe7", - "0x24", - "0x60", - "0x47", - "0x8b", - "0xd0", - "0x6a", - "0x94", - "0xc8", - "0xd1", - "0x13", - "0xc2", - "0x9a", - "0x2e", - "0x2d", - "0x35", - "0xbc", - "0x35", - "0xd5", - "0x98", - "0x32", - "0xe3", - "0x7b", - "0x27", - "0x28", - "0x6d", - "0xa9", - "0x55", - "0x84", - "0x76", - "0x4b", - "0x82", - "0x3f", - "0xe", - "0xf", - "0x6b", - "0x70", - "0xae", - "0xf", - "0x96", - "0xbd", - "0xf4", - "0xd5", - "0x32", - "0x1b", - "0x15", - "0x10", - "0x13", - "0xd0", - "0x21", - "0x3e", - "0xbe", - "0xa5", - "0x0", - "0x8e", - "0xe", - "0x7a", - "0x96", - "0x4c", - "0x5c", - "0xe", - "0x75", - "0x31", - "0x31", - "0x6f", - "0xe9", - "0xf6", - "0xa0", - "0xd4", - "0xd9", - "0xb2", - "0xb", - "0x6b", - "0x2a", - "0x64", - "0x5f", - "0x2a", - "0xf5", - "0xe9", - "0x28", - "0x99", - "0xc5", - "0xcf", - "0x5b", - "0x32", - "0xf6", - "0x4", - "0x55", - "0x50", - "0x73", - "0xb5", - "0xc6", - "0xf2", - "0x53", - "0xab", - "0x88", - "0xf8", - "0x92", - "0xc5", - "0xae", - "0xe8", - "0x8f", - "0x97", - "0x89", - "0x87", - "0x1e", - "0xfe", - "0x88", - "0xca", - "0x52", - "0x48", - "0x73", - "0xb1", - "0xc9", - "0xd6", - "0xf2", - "0xf5", - "0x82", - "0x74", - "0x53", - "0x3f", - "0x76", - "0xc1", - "0x6", - "0xfc", - "0x39", - "0xab", - "0x21", - "0x25", - "0xd0", - "0xa4", - "0xba", - "0xc2", - "0x8a", - "0xde", - "0x83", - "0x1d", - "0x51", - "0x1", - "0xb3", - "0xec", - "0xcf", - "0xc", - "0x51", - "0xad", - "0x34", - "0x7e", - "0xcd", - "0xfc", - "0x55", - "0xf6", - "0xd5", - "0xa", - "0xb8", - "0x2e", - "0x7d", - "0x5", - "0x91", - "0xe5", - "0x9a", - "0x90", - "0xb9", - "0x60", - "0x50", - "0xa", - "0xdb", - "0x2", - "0xf2", - "0x53", - "0x57", - "0x79", - "0xad", - "0xc", - "0xa1", - "0x30", - "0xde", - "0x32", - "0x48", - "0xf", - "0xf", - "0x39", - "0x80", - "0xfa", - "0xae", - "0x3f", - "0x34", - "0xc", - "0x46", - "0x47", - "0x5d", - "0xc", - "0xe8", - "0x4e", - "0xf7", - "0xd0", - "0x22", - "0x2b", - "0x4f", - "0xa7", - "0x8d", - "0xae", - "0x9c", - "0x44", - "0x11", - "0x18", - "0xc2", - "0x90", - "0xb7", - "0xf3", - "0xea", - "0x96", - "0x34", - "0xfc", - "0x3", - "0xf9", - "0x41", - "0x53", - "0x90", - "0xd9", - "0x71", - "0xcf", - "0xc", - "0xde", - "0x19", - "0x5", - "0x92", - "0x50", - "0xe9", - "0xf", - "0x22", - "0x17", - "0x2a", - "0xec", - "0xb", - "0x91", - "0xdd", - "0x73", - "0xba", - "0x23", - "0xeb", - "0xc3", - "0x39", - "0x2", - "0xdb", - "0xb1", - "0x99", - "0xd1", - "0x26", - "0x44", - "0xbd", - "0xb", - "0xd4", - "0x8b", - "0x7c", - "0x55", - "0x79", - "0xf7", - "0xaf", - "0xc8", - "0x57", - "0x58", - "0xf2", - "0x50", - "0x1e", - "0x2", - "0x53", - "0xf5", - "0xef", - "0x3e", - "0x7b", - "0x13", - "0xeb", - "0xca", - "0xe", - "0x31", - "0xbd", - "0x1a", - "0xea", - "0x3e", - "0xb1", - "0x7e", - "0xc8", - "0xd6", - "0xa0", - "0x72", - "0x35", - "0x40", - "0x69", - "0x31", - "0x23", - "0xb8", - "0x52", - "0x43", - "0x8c", - "0x3f", - "0xda", - "0x2d", - "0x44", - "0x14", - "0xe8", - "0x46", - "0x3c", - "0x43", - "0xd5", - "0x16", - "0xfe", - "0x94", - "0x47", - "0x46", - "0x9", - "0x4c", - "0x1c", - "0x16", - "0x6e", - "0xbb", - "0xec", - "0xa2", - "0xfa", - "0x85", - "0x1f", - "0x5e", - "0xdc", - "0xe9", - "0xbd", - "0x3d", - "0x69", - "0x19", - "0x17", - "0xa2", - "0xe9", - "0x5a", - "0xa1", - "0xfe", - "0xaa", - "0x7b", - "0x7d", - "0xfa", - "0x53", - "0xd5", - "0xc6", - "0x6" + 190, 235, 22, 233, 135, 54, 160, 139, 49, 152, 70, 169, 105, 190, 49, + 135, 180, 42, 206, 124, 118, 44, 5, 102, 22, 176, 55, 74, 171, 135, 243, + 153, 5, 71, 201, 126, 252, 202, 66, 34, 137, 15, 0, 3, 46, 32, 9, 138, + 169, 202, 240, 6, 220, 127, 35, 199, 108, 245, 76, 61, 2, 145, 214, 216, + 166, 127, 4, 196, 219, 138, 51, 195, 105, 205, 135, 155, 74, 16, 189, + 97, 100, 82, 60, 156, 95, 184, 13, 66, 185, 35, 12, 139, 17, 5, 211, + 191, 33, 166, 3, 192, 8, 123, 225, 12, 40, 124, 52, 11, 99, 26, 210, 54, + 0, 29, 79, 235, 45, 32, 46, 212, 42, 122, 113, 102, 93, 109, 68, 164, + 231, 33, 173, 9, 65, 122, 209, 10, 25, 177, 188, 238, 43, 233, 100, 8, + 245, 4, 123, 234, 233, 57, 228, 163, 89, 21, 14, 88, 154, 11, 211, 234, + 230, 30, 77, 167, 226, 36, 70, 91, 235, 84, 61, 87, 115, 142, 146, 206, + 56, 133, 95, 55, 23, 255, 63, 174, 3, 239, 70, 140, 30, 44, 113, 73, + 249, 236, 210, 39, 78, 15, 244, 15, 154, 212, 49, 229, 50, 218, 107, + 136, 59, 49, 84, 128, 32, 38, 111, 194, 42, 227, 228, 4, 45, 99, 138, + 218, 105, 23, 208, 154, 130, 114, 207, 137, 208, 186, 228, 93, 78, 61, + 33, 62, 241, 16, 51, 29, 161, 31, 186, 39, 55, 219, 35, 73, 18, 228, 25, + 125, 189, 97, 171, 138, 112, 19, 173, 161, 67, 79, 238, 149, 204, 238, + 52, 91, 16, 202, 72, 164, 53, 193, 129, 1, 101, 131, 29, 98, 184, 186, + 190, 157, 194, 52, 18, 63, 187, 78, 171, 121, 184, 124, 178, 183, 197, + 132, 45, 227, 83, 169, 33, 211, 243, 61, 249, 245, 99, 131, 66, 248, 17, + 93, 41, 6, 84, 132, 140, 68, 165, 53, 246, 76, 241, 104, 26, 197, 189, + 137, 42, 145, 188, 93, 179, 205, 107, 45, 2, 55, 14, 202, 244, 255, 200, + 157, 250, 138, 49, 35, 85, 95, 78, 251, 243, 86, 125, 155, 241, 81, 251, + 118, 235, 243, 77, 13, 19, 225, 166, 124, 87, 28, 81, 158, 139, 93, 42, + 40, 99, 24, 202, 111, 236, 120, 90, 249, 248, 121, 182, 110, 151, 51, + 45, 250, 89, 181, 244, 45, 252, 129, 202, 131, 194, 242, 175, 203, 140, + 160, 2, 185, 98, 22, 43, 78, 162, 152, 228, 48, 232, 218, 48, 143, 26, + 114, 27, 131, 6, 9, 80, 52, 17, 47, 126, 4, 122, 11, 231, 119, 164, 244, + 3, 165, 218, 83, 76, 190, 73, 118, 219, 125, 185, 54, 188, 124, 155, 85, + 156, 46, 24, 74, 27, 77, 134, 90, 108, 77, 155, 54, 13, 43, 153, 214, + 49, 224, 178, 111, 56, 57, 118, 100, 83, 123, 89, 158, 98, 179, 37, 0, + 180, 18, 73, 107, 94, 143, 203, 99, 223, 44, 28, 95, 172, 36, 156, 86, + 148, 9, 175, 165, 221, 145, 174, 158, 82, 177, 192, 227, 0, 19, 237, 95, + 171, 220, 208, 153, 178, 85, 9, 201, 9, 50, 226, 80, 227, 181, 167, 2, + 86, 196, 104, 216, 227, 76, 26, 229, 164, 82, 31, 113, 171, 41, 209, 9, + 15, 57, 119, 109, 82, 183, 236, 64, 163, 138, 101, 253, 93, 37, 119, 81, + 94, 83, 171, 14, 84, 108, 213, 230, 129, 232, 178, 56, 183, 75, 128, + 197, 101, 159, 148, 101, 178, 157, 1, 12, 42, 71, 229, 24, 248, 52, 77, + 209, 91, 121, 212, 198, 97, 121, 157, 88, 96, 151, 124, 209, 149, 248, + 13, 59, 33, 179, 167, 222, 72, 154, 100, 182, 227, 129, 88, 145, 159, + 180, 92, 221, 108, 130, 28, 148, 145, 182, 244, 162, 155, 193, 42, 81, + 219, 156, 6, 42, 113, 90, 124, 141, 171, 192, 139, 77, 139, 48, 147, 86, + 76, 90, 253, 164, 39, 77, 129, 120, 60, 104, 65, 152, 187, 180, 205, + 241, 41, 104, 140, 247, 166, 106, 76, 80, 238, 211, 60, 77, 90, 98, 60, + 149, 243, 22, 164, 72, 144, 56, 136, 51, 16, 35, 118, 123, 159, 254, + 158, 23, 179, 197, 199, 47, 234, 80, 219, 179, 31, 57, 149, 220, 250, + 50, 188, 232, 200, 11, 193, 141, 157, 102, 148, 119, 15, 82, 151, 4, + 235, 255, 98, 212, 205, 14, 31, 134, 231, 2, 202, 66, 0, 29, 200, 26, + 194, 215, 3, 255, 188, 33, 129, 173, 89, 252, 183, 206, 61, 19, 133, + 212, 151, 202, 195, 182, 188, 31, 75, 196, 69, 125, 214, 11, 141, 187, + 44, 120, 219, 189, 184, 64, 195, 66, 167, 73, 252, 136, 60, 202, 36, + 227, 209, 246, 210, 45, 232, 100, 231, 71, 64, 77, 48, 197, 136, 255, + 212, 3, 195, 240, 151, 212, 253, 57, 76, 91, 91, 166, 69, 80, 17, 103, + 202, 33, 88, 177, 116, 161, 151, 40, 132, 74, 158, 197, 168, 231, 41, + 17, 0, 173, 245, 111, 188, 26, 232, 200, 91, 200, 231, 36, 96, 71, 139, + 208, 106, 148, 200, 209, 19, 194, 154, 46, 45, 53, 188, 53, 213, 152, + 50, 227, 123, 39, 40, 109, 169, 85, 132, 118, 75, 130, 63, 14, 15, 107, + 112, 174, 15, 150, 189, 244, 213, 50, 27, 21, 16, 19, 208, 33, 62, 190, + 165, 0, 142, 14, 122, 150, 76, 92, 14, 117, 49, 49, 111, 233, 246, 160, + 212, 217, 178, 11, 107, 42, 100, 95, 42, 245, 233, 40, 153, 197, 207, + 91, 50, 246, 4, 85, 80, 115, 181, 198, 242, 83, 171, 136, 248, 146, 197, + 174, 232, 143, 151, 137, 135, 30, 254, 136, 202, 82, 72, 115, 177, 201, + 214, 242, 245, 130, 116, 83, 63, 118, 193, 6, 252, 57, 171, 33, 37, 208, + 164, 186, 194, 138, 222, 131, 29, 81, 1, 179, 236, 207, 12, 81, 173, 52, + 126, 205, 252, 85, 246, 213, 10, 184, 46, 125, 5, 145, 229, 154, 144, + 185, 96, 80, 10, 219, 2, 242, 83, 87, 121, 173, 12, 161, 48, 222, 50, + 72, 15, 15, 57, 128, 250, 174, 63, 52, 12, 70, 71, 93, 12, 232, 78, 247, + 208, 34, 43, 79, 167, 141, 174, 156, 68, 17, 24, 194, 144, 183, 243, + 234, 150, 52, 252, 3, 249, 65, 83, 144, 217, 113, 207, 12, 222, 25, 5, + 146, 80, 233, 15, 34, 23, 42, 236, 11, 145, 221, 115, 186, 35, 235, 195, + 57, 2, 219, 177, 153, 209, 38, 68, 189, 11, 212, 139, 124, 85, 121, 247, + 175, 200, 87, 88, 242, 80, 30, 2, 83, 245, 239, 62, 123, 19, 235, 202, + 14, 49, 189, 26, 234, 62, 177, 126, 200, 214, 160, 114, 53, 64, 105, 49, + 35, 184, 82, 67, 140, 63, 218, 45, 68, 20, 232, 70, 60, 67, 213, 22, + 254, 148, 71, 70, 9, 76, 28, 22, 110, 187, 236, 162, 250, 133, 31, 94, + 220, 233, 189, 61, 105, 25, 23, 162, 233, 90, 161, 254, 170, 123, 125, + 250, 83, 213, 198, 6 ], "padding": 5 }, "hashCount": 13, - "insertionCount": 1000, + "membershipCheckCount": 1000, "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, { "bits": { "bitmap": [ - "0x9f", - "0xed", - "0xfa", - "0xa9", - "0xfe", - "0x14", - "0x81", - "0x65", - "0xcb", - "0xc5", - "0x16", - "0x9b", - "0x1f", - "0xa", - "0xb0", - "0xbd", - "0xaf", - "0x23", - "0xa5", - "0x79", - "0x59", - "0xef", - "0x27", - "0xdd", - "0xa", - "0x34", - "0x4d", - "0xc0", - "0x74", - "0x39", - "0x30", - "0x19", - "0xa0", - "0x73", - "0x7e", - "0x6d", - "0x18", - "0xd5", - "0x85", - "0xbd", - "0x38", - "0x2b", - "0x5b", - "0x27", - "0xe6", - "0xce", - "0x7b", - "0xb3", - "0xd6", - "0x3d", - "0x30", - "0x31", - "0xa6", - "0xc7", - "0xdb", - "0xda", - "0x51", - "0xf3", - "0x83", - "0x23", - "0x8d", - "0x61", - "0xa0", - "0x3", - "0x12", - "0xe1", - "0xd", - "0x75", - "0x37", - "0x77", - "0x26", - "0x13", - "0x63", - "0x9d", - "0x39", - "0xf3", - "0x5d", - "0xbe", - "0x5", - "0x84", - "0xce", - "0xe4", - "0x65", - "0xc4", - "0x3", - "0x21", - "0xa8", - "0x51", - "0x98", - "0x5c", - "0x6", - "0x55", - "0x19", - "0x3c", - "0xaf", - "0x91", - "0x2", - "0xa4", - "0x99", - "0xfb", - "0xd7", - "0xb7", - "0xab", - "0xd1", - "0xb1", - "0xa6", - "0x6a", - "0x1e", - "0xb3", - "0xfe", - "0x22", - "0x9", - "0xbc", - "0x49", - "0x15", - "0xce", - "0x5e", - "0x7b", - "0xd", - "0x3e", - "0xf7", - "0x9b", - "0xf9", - "0x67", - "0x48", - "0x79", - "0x7e", - "0xf9", - "0x45", - "0xd9", - "0x8f", - "0x62", - "0x44", - "0x10", - "0xee", - "0xd8", - "0xf5", - "0x82", - "0xd6", - "0x95", - "0x46", - "0xb9", - "0xcf", - "0xe3", - "0xdd", - "0x6f", - "0xb7", - "0xe3", - "0xee", - "0x48", - "0xc0", - "0xfb", - "0x43", - "0x2c", - "0xf6", - "0xed", - "0x7e", - "0xf6", - "0x21", - "0x9e", - "0x88", - "0x53", - "0x7d", - "0x73", - "0xf4", - "0xda", - "0xfb", - "0x1f", - "0xdb", - "0xfe", - "0xfb", - "0x62", - "0xa1", - "0x2d", - "0x7e", - "0x63", - "0x15", - "0x15", - "0xf2", - "0xc", - "0x64", - "0x9e", - "0x5e", - "0xee", - "0xe2", - "0xce", - "0x3", - "0xea", - "0xdc", - "0x99", - "0x0", - "0xb9", - "0x7c", - "0x57", - "0xf1", - "0x8e", - "0xe6", - "0xc9", - "0x7c", - "0xa4", - "0x79", - "0x47", - "0xe4", - "0x73", - "0xc3", - "0xf5", - "0x16", - "0x77", - "0x41", - "0x20", - "0xde", - "0x8", - "0xbe", - "0x14", - "0x25", - "0x8", - "0x93", - "0xf5", - "0x94", - "0x3f", - "0x9f", - "0x77", - "0xf1", - "0x1e", - "0x2d", - "0x3c", - "0x7d", - "0xdf", - "0x9e", - "0xbb", - "0x50", - "0x8d", - "0xc9", - "0x6f", - "0xb1", - "0x98", - "0x6d", - "0x8f", - "0x97", - "0x5a", - "0x93", - "0xb5", - "0x96", - "0xc3", - "0x53", - "0xe1", - "0xe1", - "0x91", - "0x5d", - "0x24", - "0x4d", - "0x97", - "0x74", - "0x50", - "0x47", - "0xd4", - "0x94", - "0xaf", - "0x82", - "0x2", - "0x39", - "0xb4", - "0x52", - "0x87", - "0xe5", - "0x65", - "0x1e", - "0x20", - "0x19", - "0x47", - "0x62", - "0x3f", - "0x95", - "0xdc", - "0x7a", - "0x26", - "0x43", - "0x68", - "0x3", - "0xaf", - "0x3", - "0x17", - "0x1a", - "0xc2", - "0x9", - "0xa2", - "0x47", - "0x30", - "0x42", - "0x2d", - "0x6a", - "0x4d", - "0x48", - "0xc4", - "0xa", - "0x7c", - "0x18", - "0x1a", - "0x53", - "0xa5", - "0xfc", - "0x54", - "0x63", - "0x65", - "0x8", - "0x3b", - "0x87", - "0x74", - "0x28", - "0x4a", - "0x4c", - "0xb1", - "0x80", - "0x19", - "0xe9", - "0xeb", - "0xe", - "0xd7", - "0x2a", - "0xdb", - "0x5c", - "0xfc", - "0x42", - "0x5f", - "0xfb", - "0x6e", - "0xfd", - "0x58", - "0xb9", - "0x2f", - "0x9b", - "0xa2", - "0xbf", - "0xb1", - "0x3b", - "0x90", - "0x88", - "0x5b", - "0xe", - "0x1a", - "0xa7", - "0x50", - "0x43", - "0xe7", - "0x3a", - "0xa2", - "0xcb", - "0xbd", - "0x4b", - "0x32", - "0x2", - "0x9f", - "0xb4", - "0x6d", - "0xbb", - "0x8f", - "0x91", - "0xce", - "0x67", - "0xf1", - "0x80", - "0x2c", - "0x75", - "0x8b", - "0x6a", - "0xd7", - "0xd4", - "0xeb", - "0xd5", - "0xb7", - "0xe0", - "0xcb", - "0x59", - "0xaf", - "0x3f", - "0x2b", - "0x94", - "0xe5", - "0x2e", - "0xf5", - "0x4c", - "0xec", - "0x6a", - "0x97", - "0x88", - "0x77", - "0x9a", - "0x2e", - "0xeb", - "0xe4", - "0x6b", - "0x3e", - "0x2e", - "0x47", - "0xbe", - "0x78", - "0x4f", - "0x52", - "0x2e", - "0xae", - "0x9f", - "0x3f", - "0x3e", - "0xcd", - "0xb2", - "0x25", - "0xd5", - "0xd8", - "0x1c", - "0xbc", - "0x86", - "0x9d", - "0xd2", - "0x5a", - "0xfb", - "0xb0", - "0xc9", - "0xd4", - "0x13", - "0xec", - "0x18", - "0xaf", - "0x19", - "0x61", - "0xb6", - "0x5", - "0x37", - "0xb8", - "0xc6", - "0x6a", - "0x61", - "0xc5", - "0xf5", - "0xd7", - "0xbe", - "0xdc", - "0xaf", - "0xec", - "0xca", - "0x9d", - "0x6b", - "0x68", - "0x39", - "0x6d", - "0xb0", - "0xd5", - "0x31", - "0x50", - "0x60", - "0x1a", - "0x30", - "0x18", - "0x21", - "0x2b", - "0x59", - "0xc8", - "0x44", - "0x3b", - "0x47", - "0x2d", - "0x21", - "0xc1", - "0xb5", - "0x59", - "0x2e", - "0xc6", - "0xf5", - "0x24", - "0x3f", - "0x78", - "0x95", - "0x22", - "0x49", - "0xba", - "0xa4", - "0x4a", - "0x74", - "0x2b", - "0xfd", - "0xa7", - "0xa5", - "0x85", - "0x4", - "0x2", - "0xc6", - "0xd8", - "0x56", - "0x4b", - "0xa0", - "0xe0", - "0x8b", - "0xfb", - "0xaa", - "0x19", - "0xcb", - "0x4c", - "0x6c", - "0xc", - "0x51", - "0x73", - "0xf7", - "0xa6", - "0x24", - "0xcc", - "0xc9", - "0x22", - "0xcb", - "0xa1", - "0x9f", - "0x5b", - "0x19", - "0x8d", - "0x24", - "0xd7", - "0x71", - "0x4c", - "0x5f", - "0xb8", - "0x7f", - "0xb3", - "0xbf", - "0x5d", - "0x24", - "0x37", - "0x8", - "0x21", - "0xfe", - "0x1f", - "0x47", - "0xd4", - "0xb4", - "0x48", - "0xde", - "0x9f", - "0x59", - "0x72", - "0x9d", - "0x64", - "0xe0", - "0x4b", - "0x17", - "0x3c", - "0x97", - "0x19", - "0xcc", - "0x5b", - "0xf", - "0xea", - "0x34", - "0xa3", - "0x73", - "0x4e", - "0xfd", - "0x43", - "0x99", - "0xe", - "0x9", - "0x93", - "0x7a", - "0xdd", - "0xa8", - "0xaf", - "0xca", - "0xef", - "0x8a", - "0x9a", - "0xf8", - "0xb4", - "0x60", - "0xf2", - "0x1a", - "0x5b", - "0x94", - "0x9d", - "0x6d", - "0x68", - "0xfd", - "0xf5", - "0x8f", - "0x94", - "0x6b", - "0xc4", - "0x22", - "0x8f", - "0xfb", - "0x12", - "0x9e", - "0x9a", - "0xbc", - "0x6c", - "0xb0", - "0xee", - "0x38", - "0xa5", - "0x2c", - "0xa6", - "0x22", - "0xba", - "0x70", - "0x0" + 159, 237, 250, 169, 254, 20, 129, 101, 203, 197, 22, 155, 31, 10, 176, + 189, 175, 35, 165, 121, 89, 239, 39, 221, 10, 52, 77, 192, 116, 57, 48, + 25, 160, 115, 126, 109, 24, 213, 133, 189, 56, 43, 91, 39, 230, 206, + 123, 179, 214, 61, 48, 49, 166, 199, 219, 218, 81, 243, 131, 35, 141, + 97, 160, 3, 18, 225, 13, 117, 55, 119, 38, 19, 99, 157, 57, 243, 93, + 190, 5, 132, 206, 228, 101, 196, 3, 33, 168, 81, 152, 92, 6, 85, 25, 60, + 175, 145, 2, 164, 153, 251, 215, 183, 171, 209, 177, 166, 106, 30, 179, + 254, 34, 9, 188, 73, 21, 206, 94, 123, 13, 62, 247, 155, 249, 103, 72, + 121, 126, 249, 69, 217, 143, 98, 68, 16, 238, 216, 245, 130, 214, 149, + 70, 185, 207, 227, 221, 111, 183, 227, 238, 72, 192, 251, 67, 44, 246, + 237, 126, 246, 33, 158, 136, 83, 125, 115, 244, 218, 251, 31, 219, 254, + 251, 98, 161, 45, 126, 99, 21, 21, 242, 12, 100, 158, 94, 238, 226, 206, + 3, 234, 220, 153, 0, 185, 124, 87, 241, 142, 230, 201, 124, 164, 121, + 71, 228, 115, 195, 245, 22, 119, 65, 32, 222, 8, 190, 20, 37, 8, 147, + 245, 148, 63, 159, 119, 241, 30, 45, 60, 125, 223, 158, 187, 80, 141, + 201, 111, 177, 152, 109, 143, 151, 90, 147, 181, 150, 195, 83, 225, 225, + 145, 93, 36, 77, 151, 116, 80, 71, 212, 148, 175, 130, 2, 57, 180, 82, + 135, 229, 101, 30, 32, 25, 71, 98, 63, 149, 220, 122, 38, 67, 104, 3, + 175, 3, 23, 26, 194, 9, 162, 71, 48, 66, 45, 106, 77, 72, 196, 10, 124, + 24, 26, 83, 165, 252, 84, 99, 101, 8, 59, 135, 116, 40, 74, 76, 177, + 128, 25, 233, 235, 14, 215, 42, 219, 92, 252, 66, 95, 251, 110, 253, 88, + 185, 47, 155, 162, 191, 177, 59, 144, 136, 91, 14, 26, 167, 80, 67, 231, + 58, 162, 203, 189, 75, 50, 2, 159, 180, 109, 187, 143, 145, 206, 103, + 241, 128, 44, 117, 139, 106, 215, 212, 235, 213, 183, 224, 203, 89, 175, + 63, 43, 148, 229, 46, 245, 76, 236, 106, 151, 136, 119, 154, 46, 235, + 228, 107, 62, 46, 71, 190, 120, 79, 82, 46, 174, 159, 63, 62, 205, 178, + 37, 213, 216, 28, 188, 134, 157, 210, 90, 251, 176, 201, 212, 19, 236, + 24, 175, 25, 97, 182, 5, 55, 184, 198, 106, 97, 197, 245, 215, 190, 220, + 175, 236, 202, 157, 107, 104, 57, 109, 176, 213, 49, 80, 96, 26, 48, 24, + 33, 43, 89, 200, 68, 59, 71, 45, 33, 193, 181, 89, 46, 198, 245, 36, 63, + 120, 149, 34, 73, 186, 164, 74, 116, 43, 253, 167, 165, 133, 4, 2, 198, + 216, 86, 75, 160, 224, 139, 251, 170, 25, 203, 76, 108, 12, 81, 115, + 247, 166, 36, 204, 201, 34, 203, 161, 159, 91, 25, 141, 36, 215, 113, + 76, 95, 184, 127, 179, 191, 93, 36, 55, 8, 33, 254, 31, 71, 212, 180, + 72, 222, 159, 89, 114, 157, 100, 224, 75, 23, 60, 151, 25, 204, 91, 15, + 234, 52, 163, 115, 78, 253, 67, 153, 14, 9, 147, 122, 221, 168, 175, + 202, 239, 138, 154, 248, 180, 96, 242, 26, 91, 148, 157, 109, 104, 253, + 245, 143, 148, 107, 196, 34, 143, 251, 18, 158, 154, 188, 108, 176, 238, + 56, 165, 44, 166, 34, 186, 112, 0 ], "padding": 7 }, "hashCount": 7, - "insertionCount": 1000, + "membershipCheckCount": 1000, "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, { "bits": { "bitmap": [ - "0xc5", - "0xd4", - "0x1c", - "0x67", - "0xc3", - "0x4e", - "0x32", - "0x3b", - "0xdd", - "0x25", - "0x6c", - "0xc0", - "0xfd", - "0x64", - "0xae", - "0x58", - "0x2d", - "0xf6", - "0x6", - "0x3d", - "0xf6", - "0xac", - "0x88", - "0xec", - "0x7d", - "0x10", - "0xf5", - "0xb9", - "0x50", - "0x6c", - "0xe7", - "0x59", - "0xf6", - "0x7d", - "0xe3", - "0x96", - "0x9b", - "0xd", - "0x4d", - "0x54", - "0xbd", - "0x76", - "0x82", - "0x42", - "0x76", - "0xfc", - "0x4e", - "0x9a", - "0x58", - "0xbc", - "0x67", - "0x7e", - "0x8d", - "0x3b", - "0x18", - "0x10", - "0xcf", - "0xa", - "0x40", - "0x9d", - "0x26", - "0x15", - "0x66", - "0xaa", - "0x65", - "0xf3", - "0x22", - "0xaa", - "0x40", - "0x1d", - "0xb4", - "0xf1", - "0xd1", - "0x64", - "0xdc", - "0xee", - "0xbf", - "0xba", - "0xc9", - "0xb2", - "0x67", - "0x1e", - "0x22", - "0x58", - "0xa2", - "0x7b", - "0xf8", - "0x56", - "0xfb", - "0x5e", - "0xdc", - "0x40", - "0x6e", - "0xff", - "0xe3", - "0x5d", - "0xf5", - "0x14", - "0xa9", - "0xd2", - "0x58", - "0xb2", - "0xfc", - "0x5c", - "0x56", - "0xe3", - "0x97", - "0x63", - "0x81", - "0x9", - "0x55", - "0xa8", - "0xab", - "0x58", - "0x8c", - "0xad", - "0x1c", - "0xcb", - "0xcc", - "0x8d", - "0x3f", - "0x64", - "0x0", - "0x35", - "0x46", - "0x21", - "0x1e", - "0xd4", - "0x51", - "0x1e", - "0xe", - "0xe7", - "0xd5", - "0x10", - "0xbf", - "0x9e", - "0xcc", - "0xde", - "0xe6", - "0x82", - "0xd4", - "0xb1", - "0x83", - "0x82", - "0x92", - "0x33", - "0xf", - "0x15", - "0x94", - "0x25", - "0x18", - "0x5c", - "0x91", - "0x75", - "0x75", - "0xe8", - "0x1b", - "0xdd", - "0x1", - "0xd0", - "0x87", - "0x8f", - "0xc7", - "0x7e", - "0xb5", - "0xb4", - "0xb5", - "0xd8", - "0x20", - "0x35", - "0x1c", - "0x4a", - "0x24", - "0xc", - "0x5a", - "0xf", - "0xf1", - "0xb", - "0xd4", - "0xe7", - "0x4a", - "0x24", - "0x35", - "0x88", - "0x6e", - "0x37", - "0xd3", - "0xce", - "0x7d", - "0x80", - "0x25", - "0xc6", - "0x98", - "0xdd", - "0x27", - "0x9f", - "0xe1", - "0xd0", - "0xa1", - "0x9b", - "0xde", - "0x19", - "0x87", - "0x9a", - "0x13", - "0xd1", - "0x83", - "0x16", - "0x6a", - "0x81", - "0x41", - "0x1d", - "0xcb", - "0x85", - "0x92", - "0x81", - "0x86", - "0x89", - "0xd1", - "0x65", - "0x20", - "0xe5", - "0x5f", - "0xfc", - "0xa8", - "0xda", - "0x1a", - "0x66", - "0x3e", - "0xd0", - "0xda", - "0xc5", - "0x8c", - "0x27", - "0x56", - "0x7b", - "0x84", - "0x18", - "0x5e", - "0x61", - "0xce", - "0xd5", - "0xc3", - "0x57", - "0x61", - "0x5e", - "0x4c", - "0x51", - "0x95", - "0x88", - "0x68", - "0x2a", - "0xbf", - "0x67", - "0x0", - "0xcf", - "0xc0", - "0x26", - "0x93", - "0xb0", - "0x1f", - "0x78", - "0xd6", - "0xb2", - "0x17", - "0x59", - "0x32", - "0x9c", - "0x90", - "0xd8", - "0x6b", - "0x5f", - "0xd2", - "0xb7", - "0x29", - "0xe0", - "0xfa", - "0xd5", - "0xa2", - "0x7a", - "0xa", - "0xff", - "0x81", - "0x98", - "0xb1", - "0x37", - "0x46", - "0x5b", - "0x48", - "0xac", - "0x5d", - "0xe2", - "0x9f", - "0xd8", - "0x17", - "0xfa", - "0xe1", - "0x44", - "0xa4", - "0xce", - "0xb1", - "0x94", - "0xb5", - "0x57", - "0x8a", - "0x9c", - "0xc2", - "0x6e", - "0x76", - "0x4b", - "0x25", - "0xad", - "0x40", - "0x3d", - "0x9c", - "0xdf", - "0x9c", - "0x1b", - "0xfa", - "0x2e", - "0x43", - "0xd3", - "0xdd", - "0xf4", - "0x25", - "0x93", - "0xbd", - "0x88", - "0xba", - "0xce", - "0x18", - "0x26", - "0x36", - "0x6f", - "0xc8", - "0xc", - "0x87", - "0x29", - "0x39", - "0xee", - "0x60", - "0x7d", - "0x7f", - "0x9c", - "0xc4", - "0x93", - "0x3f", - "0x83", - "0x20", - "0x7a", - "0x48", - "0x5e", - "0x51", - "0x7e", - "0x95", - "0x53", - "0x75", - "0xb1", - "0x40", - "0x9", - "0x3a", - "0xeb", - "0x6", - "0xa8", - "0xf2", - "0x96", - "0x7f", - "0x6c", - "0x1b", - "0x48", - "0x62", - "0x18", - "0xc5", - "0xb4", - "0x63", - "0xba", - "0xfa", - "0x3e", - "0x62", - "0xe3", - "0xb8", - "0x6d", - "0xed", - "0x38", - "0x13", - "0x73", - "0x28", - "0xc9", - "0xf7", - "0x62", - "0x91", - "0x98", - "0x66", - "0xaf", - "0xe2", - "0xad", - "0x22", - "0xf1", - "0x77", - "0x64", - "0x15", - "0xa5", - "0xc9", - "0xac", - "0x4d", - "0x5d", - "0xa6", - "0x11", - "0xb5", - "0xfc", - "0x5", - "0x72", - "0xd6", - "0xf", - "0x5e", - "0xda", - "0x5", - "0x32", - "0x27", - "0xe8", - "0xe8", - "0x56", - "0xd3", - "0xf9", - "0xff", - "0x28", - "0x4", - "0x7", - "0x24", - "0x39", - "0x7b", - "0xea", - "0x32", - "0xea", - "0x77", - "0xbb", - "0x61", - "0xf9", - "0x7d", - "0x8c", - "0x0", - "0xf", - "0xc6", - "0xa8", - "0x39", - "0x4e", - "0x10", - "0x7a", - "0xe6", - "0x95", - "0x52", - "0xb6", - "0x93", - "0xba", - "0x5c", - "0x84", - "0xab", - "0x7b", - "0x48", - "0xe2", - "0x79", - "0xdb", - "0x23", - "0x9", - "0x89", - "0x9c", - "0x1d", - "0x6b", - "0x17", - "0x87", - "0x4f", - "0xf3", - "0x1c", - "0xf0", - "0x8f", - "0xa2", - "0x30", - "0x1a", - "0x4d", - "0xab", - "0xcf", - "0x5b", - "0x38", - "0x1", - "0x29", - "0x78", - "0x42", - "0x46", - "0x57", - "0x51", - "0x48", - "0xd9", - "0x88", - "0xdf", - "0x8", - "0xf7", - "0xf8", - "0x85", - "0xd1", - "0x6", - "0x22", - "0x8d", - "0x5d", - "0x9b", - "0x67", - "0xa7", - "0xe8", - "0xe3", - "0x34", - "0x84", - "0x53", - "0xe", - "0x75", - "0x40", - "0xa8", - "0xf9", - "0x2a", - "0x26", - "0x13", - "0x49", - "0x20", - "0x79", - "0xb2", - "0x44", - "0x47", - "0x15", - "0x6f", - "0x63", - "0x2c", - "0xe", - "0x0", - "0x24", - "0xa5", - "0x23", - "0x83", - "0x20", - "0xe6", - "0x95", - "0x84", - "0xe6", - "0xe4", - "0xe7", - "0x28", - "0xa2", - "0x4a", - "0xfd", - "0xa7", - "0x45", - "0x41", - "0x27", - "0xfa", - "0x77", - "0xca", - "0x8c", - "0x13", - "0x9b", - "0xbc", - "0x97", - "0x6f", - "0x91", - "0x43", - "0xb1", - "0xc9", - "0x1a", - "0xe2", - "0x3c", - "0x61", - "0x96", - "0x38", - "0x2e", - "0x8a", - "0x4f", - "0x60", - "0xd5", - "0x80", - "0x5c", - "0xe1", - "0x77", - "0x43", - "0xa7", - "0x4d", - "0x7d", - "0x9f", - "0x7", - "0x68", - "0x4a", - "0x72", - "0x7f", - "0x14", - "0x7e", - "0x11", - "0xd0", - "0xa9", - "0x74", - "0x12", - "0xcc", - "0x64", - "0x18", - "0x9e", - "0xf4", - "0xd5", - "0xf0", - "0xec", - "0xd8", - "0x69", - "0x7f", - "0xf1", - "0xce", - "0x18", - "0x2d", - "0xb7", - "0xf5", - "0xbb", - "0xa6", - "0xa0", - "0x68", - "0xe9", - "0x5b", - "0x42", - "0x95", - "0x66", - "0xe4", - "0x13", - "0x24", - "0xce", - "0x80", - "0x3c", - "0xfc", - "0xb4", - "0xd", - "0x9b", - "0xc", - "0x43", - "0xb0", - "0xb1", - "0x81", - "0x9d", - "0xc", - "0x14", - "0x69", - "0xc5", - "0x94", - "0xa3", - "0xc", - "0x18", - "0xe7", - "0x4", - "0x2", - "0x7", - "0x15", - "0xbf", - "0xcb", - "0x2e", - "0xe1", - "0x17", - "0xf4", - "0xe7", - "0x17", - "0x3b", - "0x32", - "0xb0", - "0x1", - "0xd3", - "0x17", - "0x18", - "0xa8", - "0x65", - "0xdd", - "0x86", - "0x1d", - "0xbb", - "0x77", - "0x2d", - "0x66", - "0xe5", - "0x7", - "0x62", - "0x9b", - "0x98", - "0x9a", - "0x95", - "0x34", - "0xb", - "0x2c", - "0xae", - "0x4d", - "0xf6", - "0xf3", - "0x87", - "0x3e", - "0x8d", - "0x12", - "0xd1", - "0x1a", - "0x2d", - "0x24", - "0xa", - "0xbf", - "0xa", - "0x72", - "0x25", - "0x33", - "0xb4", - "0x80", - "0x67", - "0x25", - "0xf6", - "0x8c", - "0x89", - "0x66", - "0xfe", - "0x89", - "0xf0", - "0xf9", - "0x8c", - "0xd0", - "0xc3", - "0x66", - "0x28", - "0x3b", - "0xe1", - "0xe4", - "0x57", - "0x88", - "0x11", - "0x8", - "0x70", - "0xc", - "0x8e", - "0xe6", - "0xc4", - "0x83", - "0xff", - "0x4e", - "0xa8", - "0x7f", - "0x91", - "0x45", - "0x7c", - "0xe2", - "0x15", - "0x9d", - "0x81", - "0x69", - "0x2d", - "0xe7", - "0x73", - "0x56", - "0x46", - "0xf", - "0x1c", - "0xc3", - "0xcd", - "0x5e", - "0xb2", - "0x3f", - "0xd2", - "0x21", - "0xbe", - "0xf0", - "0xf4", - "0x89", - "0xcf", - "0x84", - "0x33", - "0x1a", - "0x6a", - "0xe7", - "0xe8", - "0xf4", - "0x22", - "0xc3", - "0x73", - "0xa3", - "0xe8", - "0x14", - "0xe2", - "0x7a", - "0x46", - "0x3d", - "0x8b", - "0x84", - "0xf7", - "0x82", - "0x54", - "0x49", - "0x89", - "0x16", - "0x15", - "0xf", - "0x17", - "0x5a", - "0x81", - "0x64", - "0x79", - "0x3b", - "0xa1", - "0x1a", - "0x40", - "0xff", - "0xb7", - "0x65", - "0x20", - "0x6e", - "0x62", - "0xe9", - "0xa3", - "0x65", - "0xfa", - "0x45", - "0x17", - "0x8d", - "0x8b", - "0xd8", - "0x94", - "0xac", - "0x74", - "0xfb", - "0xc3", - "0x7d", - "0xd1", - "0x2e", - "0xe9", - "0x2f", - "0x70", - "0x53", - "0xda", - "0x4c", - "0xf4", - "0xf0", - "0xa9", - "0xa6", - "0xd9", - "0xc4", - "0xf9", - "0x5c", - "0x6c", - "0x97", - "0x7a", - "0x17", - "0x0", - "0xe1", - "0x7a", - "0xfd", - "0x47", - "0x7e", - "0xa4", - "0xec", - "0xb6", - "0x87", - "0x6d", - "0x2e", - "0xd2", - "0x45", - "0x58", - "0x4c", - "0xd1", - "0x96", - "0x42", - "0x67", - "0x8c", - "0xb7", - "0xa2", - "0x4a", - "0xc4", - "0x9", - "0xc2", - "0x31", - "0x72", - "0xa0", - "0xe3", - "0x41", - "0xc7", - "0x54", - "0x3c", - "0x8f", - "0x43", - "0x4", - "0x55", - "0x9e", - "0xb7", - "0x94", - "0x37", - "0x99", - "0x66", - "0xba", - "0x8b", - "0x74", - "0xbd", - "0x42", - "0x70", - "0x75", - "0x6b", - "0xcc", - "0xd7", - "0x24", - "0x5", - "0x53", - "0xcc", - "0xcd", - "0xf", - "0x85", - "0x94", - "0x59", - "0xb8", - "0xf", - "0xe8", - "0x19", - "0xdf", - "0xe7", - "0xc1", - "0x69", - "0x98", - "0xec", - "0x5", - "0x43", - "0xda", - "0x39", - "0xa1", - "0xd7", - "0x4", - "0x9c", - "0x7a", - "0x8a", - "0xca", - "0x7e", - "0x35", - "0xd1", - "0xed", - "0x46", - "0xc9", - "0x3e", - "0x81", - "0x6c", - "0xf6", - "0x6d", - "0x0", - "0xf6", - "0x78", - "0x81", - "0x25", - "0x3", - "0x8b", - "0xac", - "0xf1", - "0x5e", - "0xa", - "0x49", - "0x53", - "0xe2", - "0xc3", - "0xa", - "0xa5", - "0x35", - "0xd3", - "0x8c", - "0x8b", - "0x6b", - "0x36", - "0x70", - "0x20", - "0x98", - "0x4e", - "0xd6", - "0xa2", - "0x3", - "0x64", - "0x20", - "0x1d", - "0xbe", - "0xba", - "0xdf", - "0x51", - "0x36", - "0x78", - "0x16", - "0x61", - "0x1", - "0xbb", - "0xdb", - "0x40", - "0x7a", - "0x95", - "0x5b", - "0xab", - "0xf0", - "0x57", - "0xf0", - "0xad", - "0x52", - "0x70", - "0xdf", - "0xea", - "0x56", - "0xa2", - "0x66", - "0x52", - "0x72", - "0x19", - "0xc2", - "0xfd", - "0xb6", - "0x2", - "0xb2", - "0x60", - "0x6", - "0xf5", - "0x44", - "0x73", - "0xe5", - "0x9f", - "0x21", - "0xb6", - "0x5b", - "0x6c", - "0xb4", - "0xc6", - "0xfc", - "0x23", - "0xb1", - "0x49", - "0x89", - "0xeb", - "0xbd", - "0xf0", - "0xa9", - "0x2", - "0x5a", - "0xea", - "0xba", - "0xf0", - "0xb7", - "0x77", - "0xf5", - "0x40", - "0x9", - "0xd3", - "0x2c", - "0xe4", - "0x9c", - "0x8", - "0x2d", - "0x26", - "0x89", - "0xa0", - "0x66", - "0x86", - "0x61", - "0x26", - "0x1e", - "0xbc", - "0xc2", - "0xa1", - "0xf", - "0x29", - "0xff", - "0xd3", - "0x52", - "0x98", - "0xf9", - "0x13", - "0x95", - "0xeb", - "0x36", - "0x9d", - "0x4", - "0xca", - "0x42", - "0xee", - "0x8", - "0x3e", - "0xee", - "0x28", - "0x8f", - "0x94", - "0x91", - "0xc4", - "0xd6", - "0xef", - "0xfa", - "0x10", - "0xcd", - "0x31", - "0x7e", - "0xe1", - "0xf9", - "0xea", - "0x22", - "0x3d", - "0xbb", - "0x90", - "0x1a", - "0x87", - "0xd", - "0xe1", - "0x4", - "0x2e", - "0xb2", - "0x9", - "0x7a", - "0x95", - "0xc6", - "0xc6", - "0x8d", - "0xb", - "0x79", - "0x5b", - "0xd6", - "0x76", - "0xa1", - "0xcf", - "0xf4", - "0x3b", - "0xe7", - "0xa", - "0x57", - "0x1f", - "0x14", - "0x66", - "0x54", - "0x31", - "0x24", - "0x7d", - "0x5e", - "0x81", - "0x9", - "0x9c", - "0xb5", - "0x36", - "0x89", - "0x76", - "0x9b", - "0x63", - "0xf4", - "0xbc", - "0x20", - "0x35", - "0xb4", - "0xcc", - "0xc6", - "0x82", - "0x4a", - "0xa8", - "0x95", - "0x4", - "0xdf", - "0x73", - "0x4f", - "0xf2", - "0x30", - "0x9d", - "0x3b", - "0x59", - "0x57", - "0x62", - "0xca", - "0x60", - "0xda", - "0xad", - "0xb", - "0xf0", - "0x51", - "0xf9", - "0xbf", - "0x52", - "0x1a", - "0x0", - "0x1d", - "0xfb", - "0x1d", - "0xdc", - "0x2", - "0x82", - "0x86", - "0x4f", - "0xc9", - "0xca", - "0x47", - "0xfc", - "0xf5", - "0x6d", - "0xe8", - "0x32", - "0x25", - "0x46", - "0xb", - "0xbd", - "0xe5", - "0x43", - "0xb6", - "0x47", - "0x54", - "0xc3", - "0x8f", - "0xc", - "0xb8", - "0x44", - "0x41", - "0xef", - "0x7", - "0x47", - "0xf6", - "0xef", - "0xba", - "0xb0", - "0x91", - "0xf", - "0xb3", - "0x8b", - "0xd9", - "0x3c", - "0x45", - "0x14", - "0x32", - "0x34", - "0xab", - "0x57", - "0x31", - "0x83", - "0x8a", - "0xfe", - "0x62", - "0x9e", - "0x9f", - "0x64", - "0x21", - "0x2c", - "0xc2", - "0x85", - "0x1e", - "0x2b", - "0xbe", - "0x7a", - "0x7", - "0xd", - "0xf2", - "0xe", - "0x6e", - "0x15", - "0x80", - "0x4", - "0xf", - "0xef", - "0x62", - "0xe8", - "0x3b", - "0xd3", - "0xfc", - "0xe4", - "0xcb", - "0x67", - "0x12", - "0x80", - "0x4a", - "0x77", - "0x15", - "0x5b", - "0x4", - "0x40", - "0x44", - "0x1e", - "0x9d", - "0xe3", - "0xa", - "0xf", - "0xab", - "0x1d", - "0x1b", - "0xf1", - "0xc8", - "0x61", - "0xb0", - "0x42", - "0xec", - "0xf8", - "0xb3", - "0xee", - "0xa7", - "0xdd", - "0xe7", - "0xe0", - "0x87", - "0x9f", - "0xe0", - "0xbd", - "0xd8", - "0xbe", - "0x46", - "0xf4", - "0xc7", - "0x16", - "0xa9", - "0x77", - "0x46", - "0xc8", - "0x65", - "0x8c", - "0x5", - "0x4e", - "0x23", - "0x6e", - "0x8c", - "0x95", - "0x6f", - "0xf7", - "0x32", - "0xeb", - "0x53", - "0xa4", - "0xbf", - "0x15", - "0xd8", - "0x86", - "0x8b", - "0xc7", - "0xbc", - "0x72", - "0x53", - "0x69", - "0x8c", - "0x6", - "0xc6", - "0xa0", - "0x8", - "0x60", - "0x4", - "0x1e", - "0x1f", - "0x3c", - "0xd8", - "0xed", - "0xe1", - "0x86", - "0x4e", - "0xb1", - "0x5a", - "0x4e", - "0xd9", - "0x7f", - "0xfd", - "0xba", - "0x20", - "0x1a", - "0x2f", - "0x61", - "0x7f", - "0x80", - "0x59", - "0x4b", - "0xdd", - "0xdb", - "0x21", - "0x75", - "0xc8", - "0x34", - "0x9f", - "0xe6", - "0x6", - "0xfd", - "0x29", - "0xbe", - "0x22", - "0x78", - "0x15", - "0x2f", - "0x48", - "0x16", - "0xfd", - "0x10", - "0x46", - "0xfb", - "0xf1", - "0x73", - "0x87", - "0x9e", - "0x56", - "0xb8", - "0x76", - "0x1", - "0x53", - "0x56", - "0xde", - "0x39", - "0xfa", - "0x6e", - "0xe9", - "0x49", - "0xce", - "0x40", - "0x3b", - "0x12", - "0x54", - "0x25", - "0xd2", - "0x5", - "0xf", - "0xbf", - "0xa0", - "0xbf", - "0xb3", - "0xab", - "0x3b", - "0xe2", - "0x12", - "0x26", - "0x4a", - "0xeb", - "0xa0", - "0x1b", - "0x87", - "0xaf", - "0xf4", - "0x18", - "0xb9", - "0xcb", - "0x7", - "0xce", - "0xf4", - "0x21", - "0x9f", - "0x36", - "0xa3", - "0xfa", - "0x4a", - "0x5a", - "0x54", - "0x51", - "0x66", - "0x4b", - "0x1b", - "0x40", - "0x60", - "0xe9", - "0x4d", - "0x5f", - "0x12", - "0xaf", - "0xee", - "0x97", - "0xa4", - "0x7", - "0xa9", - "0x50", - "0xd1", - "0x1f", - "0x61", - "0x9c", - "0x65", - "0xa8", - "0x80", - "0x11", - "0x8f", - "0x77", - "0xd0", - "0xa8", - "0x1e", - "0xf4", - "0x9f", - "0x17", - "0x2c", - "0x53", - "0x7e", - "0x54", - "0xf5", - "0x5b", - "0x1e", - "0xa4", - "0x69", - "0x42", - "0x1", - "0x65", - "0xb0", - "0xc4", - "0x1d", - "0xc7", - "0x7f", - "0x88", - "0x3c", - "0xdf", - "0x2c", - "0xae", - "0xf5", - "0x63", - "0x9e", - "0x7d", - "0x30", - "0x7f", - "0x0", - "0xe8", - "0x80", - "0xa0", - "0x75", - "0x40", - "0x7", - "0x8d", - "0xb8", - "0x79", - "0x16", - "0x58", - "0x21", - "0x2b", - "0xe4", - "0x67", - "0xdf", - "0x16", - "0xf4", - "0xd8", - "0xa7", - "0x67", - "0xb5", - "0x76", - "0xac", - "0xe5", - "0x58", - "0xf3", - "0x61", - "0x42", - "0xe0", - "0xe0", - "0x3a", - "0xd5", - "0x66", - "0x95", - "0x47", - "0x6d", - "0x4e", - "0x19", - "0xc6", - "0x61", - "0x28", - "0xe8", - "0x49", - "0x37", - "0x83", - "0x70", - "0x23", - "0x4a", - "0xcf", - "0x2d", - "0xf0", - "0x97", - "0xf5", - "0xda", - "0x68", - "0x45", - "0x7d", - "0xc9", - "0xa2", - "0x1", - "0x74", - "0xec", - "0x5d", - "0xb4", - "0x31", - "0x6", - "0x38", - "0x55", - "0xa1", - "0x4c", - "0xd4", - "0xa0", - "0xfb", - "0x29", - "0xb7", - "0xac", - "0x31", - "0xb7", - "0xa4", - "0x19", - "0x67", - "0xd5", - "0xac", - "0xf6", - "0x4d", - "0x2f", - "0x14", - "0xb", - "0x7", - "0xa5", - "0x1d", - "0x45", - "0xc9", - "0xa1", - "0x9c", - "0xd8", - "0xbb", - "0x93", - "0xd5", - "0x3b", - "0xb6", - "0xe1", - "0xba", - "0xa", - "0xd6", - "0xae", - "0xd3", - "0xcc", - "0x15", - "0x56", - "0x75", - "0x7d", - "0xca", - "0x96", - "0x28", - "0x7c", - "0x96", - "0x34", - "0x33", - "0x23", - "0x8c", - "0x22", - "0xda", - "0x32", - "0xdd", - "0x9b", - "0xff", - "0xa0", - "0x86", - "0x3d", - "0xdc", - "0xd8", - "0x55", - "0x17", - "0x82", - "0xbd", - "0xb3", - "0xce", - "0x73", - "0x48", - "0x2a", - "0xec", - "0xe7", - "0xec", - "0x2f", - "0xd6", - "0x36", - "0xab", - "0x1a", - "0x2a", - "0x60", - "0x5e", - "0xcd", - "0x3c", - "0xee", - "0xab", - "0xce", - "0x1d", - "0xb9", - "0xbc", - "0x7d", - "0xac", - "0x7c", - "0x11", - "0x23", - "0x7f", - "0x3e", - "0x85", - "0x50", - "0x8", - "0x47", - "0x25", - "0x76", - "0x8a", - "0x2b", - "0x97", - "0xf0", - "0x87", - "0x18", - "0xbe", - "0xdb", - "0x94", - "0xe9", - "0xc4", - "0xac", - "0x11", - "0x68", - "0xba", - "0xc7", - "0xd0", - "0x41", - "0x25", - "0x34", - "0xb4", - "0x64", - "0x87", - "0x52", - "0x72", - "0x7d", - "0xa", - "0x20", - "0xb", - "0xef", - "0x56", - "0xb7", - "0x75", - "0x14", - "0x97", - "0xaa", - "0x4d", - "0x9b", - "0x30", - "0xef", - "0x73", - "0x7d", - "0x64", - "0xf", - "0xa9", - "0x28", - "0xc2", - "0x56", - "0xd", - "0x29", - "0x5e", - "0x47", - "0x4f", - "0x2", - "0x36", - "0x34", - "0x6a", - "0xf", - "0x3d", - "0xff", - "0xb7", - "0x8b", - "0x63", - "0x88", - "0x51", - "0x87", - "0x25", - "0x80", - "0x70", - "0x12", - "0x5d", - "0xc4", - "0xb5", - "0xea", - "0xcf", - "0x48", - "0x9d", - "0x94", - "0xb", - "0x6e", - "0x1f", - "0x92", - "0x59", - "0x82", - "0x72", - "0xfc", - "0x3a", - "0xa1", - "0x4b", - "0x8d", - "0xab", - "0x12", - "0x9c", - "0xca", - "0x4a", - "0x2a", - "0xa8", - "0xe9", - "0xbe", - "0xe3", - "0xba", - "0x29", - "0x24", - "0xbd", - "0x22", - "0x9c", - "0x19", - "0x5e", - "0x17", - "0x97", - "0x94", - "0xc2", - "0x98", - "0x64", - "0xc1", - "0xcf", - "0xff", - "0x5c", - "0x99", - "0xd5", - "0x7", - "0x3c", - "0xa0", - "0x7", - "0x51", - "0xa6", - "0x6", - "0x15", - "0x3b", - "0xbf", - "0x84", - "0x25", - "0x75", - "0xc2", - "0xf3", - "0xd8", - "0x8a", - "0x9b", - "0xbc", - "0x14", - "0xc1", - "0xc", - "0xdd", - "0x47", - "0x11", - "0x87", - "0x98", - "0xdb", - "0x21", - "0x73", - "0x9", - "0xae", - "0x12", - "0x11", - "0x5c", - "0x59", - "0x91", - "0x6a", - "0x31", - "0x3d", - "0x56", - "0x2", - "0x49", - "0xba", - "0x73", - "0x6", - "0xe5", - "0xd9", - "0x24", - "0x88", - "0xc3", - "0x89", - "0xb7", - "0x7", - "0xa7", - "0x5b", - "0xf8", - "0xa8", - "0x3", - "0x58", - "0x7c", - "0x5f", - "0x74", - "0x7f", - "0x54", - "0xed", - "0x76", - "0x92", - "0x8e", - "0x2a", - "0xbc", - "0xce", - "0xc2", - "0xae", - "0x2d", - "0x2a", - "0x2e", - "0x58", - "0x16", - "0x0", - "0x40", - "0x21", - "0x9c", - "0x7c", - "0x78", - "0x4f", - "0xd5", - "0x64", - "0x97", - "0x0", - "0x85", - "0x87", - "0xc4", - "0x32", - "0x3d", - "0x44", - "0x8", - "0xb8", - "0x44", - "0xfb", - "0x30", - "0x27", - "0x40", - "0x35", - "0xd4", - "0xbd", - "0x99", - "0xe0", - "0x77", - "0x35", - "0x83", - "0xa4", - "0x2c", - "0x0", - "0x28", - "0x45", - "0x35", - "0x42", - "0xfd", - "0xa6", - "0x1", - "0xe0", - "0xe9", - "0x6f", - "0xbe", - "0x2b", - "0x9", - "0xfb", - "0xd7", - "0x63", - "0xa6", - "0xfd", - "0x42", - "0xa8", - "0x20", - "0xcd", - "0x7e", - "0xc7", - "0x9b", - "0xa", - "0xca", - "0xc3", - "0x42", - "0xe7", - "0x2d", - "0x33", - "0xbd", - "0x91", - "0xd5", - "0x17", - "0x5b", - "0x98", - "0x8d", - "0xc4", - "0x8b", - "0x39", - "0x66", - "0x16", - "0xa", - "0xc6", - "0x5c", - "0xe8", - "0x87", - "0xc5", - "0x86", - "0x9", - "0x2e", - "0x33", - "0xdd", - "0xc7", - "0x4c", - "0x61", - "0x72", - "0xb9", - "0x92", - "0xd", - "0xde", - "0xcc", - "0x3c", - "0xea", - "0x4e", - "0x43", - "0xa8", - "0xe8", - "0x8b", - "0x1c", - "0x81", - "0x33", - "0xda", - "0xea", - "0xe4", - "0xb8", - "0xf0", - "0xd9", - "0x6e", - "0xa7", - "0x3d", - "0xe0", - "0x37", - "0x9d", - "0x8f", - "0x55", - "0xf6", - "0xf9", - "0x1e", - "0x6b", - "0xaa", - "0xc9", - "0x1b", - "0x4f", - "0xf7", - "0x9d", - "0xf6", - "0x30", - "0x6", - "0xc2", - "0x90", - "0xa4", - "0xee", - "0x30", - "0x8f", - "0xeb", - "0x47", - "0xa3", - "0xd", - "0xb8", - "0x3b", - "0x77", - "0x27", - "0x37", - "0xa1", - "0x83", - "0x74", - "0x54", - "0x18", - "0xa2", - "0x20", - "0x92", - "0xe6", - "0x3a", - "0x6e", - "0x23", - "0x67", - "0x4", - "0x11", - "0x8d", - "0x8d", - "0x63", - "0x50", - "0x76", - "0x8d", - "0x73", - "0x86", - "0xbc", - "0x28", - "0xcd", - "0x43", - "0x12", - "0xef", - "0xef", - "0x4e", - "0x8e", - "0xa4", - "0x98", - "0xce", - "0x6d", - "0x2e", - "0xc8", - "0x30", - "0x2d", - "0x88", - "0xbb", - "0xb8", - "0x84", - "0x26", - "0x15", - "0xfa", - "0x68", - "0x4c", - "0xe8", - "0xd", - "0x62", - "0x60", - "0x32", - "0xa2", - "0xa5", - "0x33", - "0x5d", - "0x8c", - "0x73", - "0x10", - "0x94", - "0xdd", - "0x57", - "0x2c", - "0xe0", - "0x15", - "0x17", - "0x5c", - "0xa0", - "0xb1", - "0xb8", - "0xe", - "0x5b", - "0x6d", - "0xfb", - "0xf8", - "0xce", - "0x28", - "0x2a", - "0x68", - "0xe", - "0x89", - "0xe7", - "0x37", - "0xb4", - "0x88", - "0x79", - "0x71", - "0x0", - "0x24", - "0xc9", - "0x9", - "0x40", - "0xee", - "0x46", - "0x6e", - "0xc9", - "0xd9", - "0xee", - "0x1b", - "0xea", - "0x5d", - "0x98", - "0x20", - "0xa8", - "0xf0", - "0xb9", - "0x82", - "0xc9", - "0x6b", - "0x7", - "0xf2", - "0x8b", - "0x38", - "0xae", - "0x2c", - "0x55", - "0x62", - "0x5d", - "0x3", - "0x81", - "0xd6", - "0xbb", - "0xff", - "0xf2", - "0x10", - "0xd7", - "0xa1", - "0x89", - "0x3f", - "0xe6", - "0xd1", - "0x77", - "0x72", - "0x78", - "0x17", - "0x7a", - "0x2e", - "0x5c", - "0xc6", - "0x50", - "0x44", - "0xad", - "0x1e", - "0x76", - "0xab", - "0x84", - "0xc3", - "0xc5", - "0x35", - "0x37", - "0xba", - "0xbf", - "0x50", - "0xb1", - "0x72", - "0x9e", - "0xf0", - "0x6d", - "0xea", - "0x79", - "0x3c", - "0x1", - "0xa7", - "0x3e", - "0xa1", - "0x24", - "0xa6", - "0x5e", - "0x69", - "0x90", - "0x2e", - "0x27", - "0x94", - "0x61", - "0xee", - "0xd5", - "0x27", - "0x99", - "0xb6", - "0x15", - "0xda", - "0xea", - "0x71", - "0xff", - "0x28", - "0x8", - "0x18", - "0x6f", - "0x9", - "0x4", - "0xec", - "0xf5", - "0x4d", - "0x4e", - "0xbe", - "0xcb", - "0xa4", - "0xd9", - "0x0", - "0xe0", - "0xd7", - "0xd3", - "0x82", - "0x55", - "0x7b", - "0x2b", - "0xa1", - "0x38", - "0x65", - "0x18", - "0x2f", - "0x9a", - "0xb5", - "0x24", - "0xaf", - "0xb0", - "0x54", - "0xd", - "0x84", - "0x41", - "0xfb", - "0xfb", - "0xf", - "0x69", - "0x66", - "0xdf", - "0x2a", - "0x79", - "0x3b", - "0x2", - "0x4f", - "0x43", - "0x46", - "0x38", - "0xdf", - "0x3e", - "0xb1", - "0xa5", - "0x5b", - "0x69", - "0x7c", - "0x80", - "0x64", - "0xd0", - "0x75", - "0x54", - "0x44", - "0xc6", - "0xac", - "0xf2", - "0x8a", - "0x8c", - "0x2d", - "0xdb", - "0x7f", - "0x34", - "0xbc", - "0x6a", - "0x69", - "0x6a", - "0xb3", - "0x6e", - "0x17", - "0xfe", - "0xf2", - "0x2e", - "0x20", - "0xa6", - "0x3e", - "0xb9", - "0xd2", - "0x2b", - "0xbd", - "0x3a", - "0x41", - "0x8e", - "0x59", - "0xd8", - "0x32", - "0x65", - "0xe8", - "0xd4", - "0x5f", - "0xf7", - "0x4d", - "0x95", - "0x25", - "0xf8", - "0x5c", - "0x63", - "0x71", - "0xea", - "0x6a", - "0x8d", - "0x8", - "0xfe", - "0x96", - "0x92", - "0xdf", - "0x68", - "0x70", - "0xc2", - "0x1a", - "0xc", - "0xba", - "0xe6", - "0xa2", - "0x60", - "0x5b", - "0x40", - "0x3e", - "0x91", - "0xb5", - "0xdc", - "0xd7", - "0x6b", - "0x69", - "0x3", - "0xab", - "0x73", - "0xca", - "0x3a", - "0x17", - "0x52", - "0xb3", - "0x55", - "0x36", - "0x37", - "0xdf", - "0xb6", - "0x5e", - "0x46", - "0x90", - "0x83", - "0xa9", - "0xb0", - "0xfa", - "0xb3", - "0xc9", - "0xf0", - "0xcd", - "0x42", - "0xe7", - "0xf6", - "0x16", - "0x38", - "0x22", - "0x6", - "0x38", - "0x8e", - "0x9d", - "0xdd", - "0xa3", - "0x8a", - "0xb6", - "0xcd", - "0xc6", - "0xd8", - "0xf0", - "0x2b", - "0xf4", - "0xa9", - "0xe9", - "0xf9", - "0xe9", - "0x68", - "0xd6", - "0xe9", - "0x32", - "0xab", - "0xeb", - "0x61", - "0x9e", - "0xe0", - "0x0", - "0x82", - "0x4", - "0x48", - "0x9a", - "0x25", - "0x26", - "0x5d", - "0xa7", - "0x18", - "0x0", - "0x68", - "0x6a", - "0xa0", - "0x9d", - "0x5b", - "0x5a", - "0x40", - "0x23", - "0xc3", - "0xd2", - "0x79", - "0xb9", - "0x75", - "0x74", - "0x9a", - "0x20", - "0x1a", - "0x62", - "0x8b", - "0x0", - "0xaa", - "0xe4", - "0x8e", - "0xbb", - "0xa6", - "0x9d", - "0x42", - "0xec", - "0xb2", - "0x67", - "0x71", - "0xe1", - "0x1", - "0x41", - "0xcf", - "0xb9", - "0xbe", - "0x84", - "0x5b", - "0x79", - "0x2", - "0x2", - "0x6e", - "0x89", - "0x89", - "0x98", - "0x8a", - "0xbe", - "0x2f", - "0x41", - "0x60", - "0x20", - "0x41", - "0x2d", - "0x13", - "0xeb", - "0x17", - "0x60", - "0xce", - "0x64", - "0x91", - "0x35", - "0x0", - "0x4f", - "0x4", - "0xc5", - "0xe7", - "0x2b", - "0xc8", - "0xd5", - "0x8a", - "0x81", - "0x1a", - "0x67", - "0xe7", - "0x84", - "0xd3", - "0x30", - "0x37", - "0x75", - "0xfd", - "0xbe", - "0x35", - "0xd", - "0xe6", - "0x9", - "0xc2", - "0x9a", - "0x54", - "0xc2", - "0x86", - "0x98", - "0xef", - "0x34", - "0x15", - "0x7a", - "0xc4", - "0xe9", - "0xfe", - "0xb3", - "0xf4", - "0xad", - "0xf0", - "0xe6", - "0x87", - "0x3d", - "0xb", - "0x8", - "0xac", - "0xf5", - "0x31", - "0xe", - "0x0", - "0x57", - "0x73", - "0x1", - "0x8f", - "0x88", - "0x91", - "0x8b", - "0x3e", - "0x1f", - "0xc9", - "0x84", - "0x1d", - "0xc", - "0x15", - "0x48", - "0x70", - "0xd0", - "0x75", - "0xfa", - "0x34", - "0xf9", - "0x15", - "0x7c", - "0xab", - "0x9d", - "0x69", - "0x12", - "0x80", - "0x79", - "0xe8", - "0xec", - "0xca", - "0x3d", - "0xe7", - "0x46", - "0x9f", - "0x52", - "0xe2", - "0x4d", - "0xfc", - "0xd5", - "0x54", - "0xb1", - "0x62", - "0x45", - "0x4b", - "0xb", - "0xf3", - "0xdd", - "0xad", - "0x2b", - "0xd7", - "0xae", - "0x92", - "0xd0", - "0xe7", - "0x9d", - "0x9e", - "0xb2", - "0xe6", - "0xc0", - "0xcb", - "0x36", - "0x9e", - "0xac", - "0xd2", - "0xc9", - "0x83", - "0x39", - "0x13", - "0xaa", - "0x42", - "0xe2", - "0xf2", - "0xf9", - "0x1e", - "0x15", - "0x7b", - "0x21", - "0x4c", - "0xd4", - "0xed", - "0x19", - "0xb8", - "0x48", - "0xe3", - "0x12", - "0x3b", - "0x50", - "0xd", - "0x9d", - "0xc8", - "0xa1", - "0xbc", - "0xcc", - "0xf4", - "0xe3", - "0x66", - "0x9f", - "0x3f", - "0x21", - "0x1f", - "0xba", - "0x8f", - "0x53", - "0xf1", - "0xd8", - "0x26", - "0xae", - "0xc9", - "0x81", - "0xb9", - "0xdd", - "0x61", - "0xb4", - "0x9f", - "0x46", - "0x9b", - "0x9d", - "0xaa", - "0x3e", - "0x6e", - "0x0", - "0x2c", - "0xb2", - "0xb3", - "0x50", - "0xc3", - "0xe4", - "0xa4", - "0x62", - "0x52", - "0xf2", - "0xcd", - "0x59", - "0x1a", - "0x74", - "0x67", - "0x3a", - "0x82", - "0x6c", - "0x7c", - "0xe4", - "0x9e", - "0x31", - "0xd9", - "0x6e", - "0xf6", - "0xba", - "0xab", - "0xce", - "0x49", - "0xff", - "0x35", - "0x94", - "0x5f", - "0x70", - "0x67", - "0x4e", - "0x5", - "0xbc", - "0x5d", - "0xb0", - "0xcb", - "0x82", - "0x95", - "0xd3", - "0xa2", - "0x35", - "0x84", - "0x2a", - "0x4b", - "0xf", - "0x3b", - "0xd", - "0xb3", - "0xbb", - "0x7", - "0x14", - "0x46", - "0xab", - "0x18", - "0x39", - "0x6f", - "0x87", - "0xa7", - "0x61", - "0x25", - "0x60", - "0x98", - "0xc1", - "0x39", - "0x30", - "0xe3", - "0x10", - "0x38", - "0x47", - "0xb", - "0xb4", - "0xef", - "0x97", - "0x7e", - "0x99", - "0xb4", - "0xb0", - "0xdd", - "0x7", - "0x83", - "0x70", - "0xe", - "0x32", - "0x66", - "0x77", - "0x15", - "0xce", - "0x5c", - "0x94", - "0x72", - "0xff", - "0xac", - "0xbb", - "0xc5", - "0xe0", - "0xe1", - "0x4e", - "0x22", - "0x9a", - "0x2b", - "0x27", - "0x85", - "0x33", - "0x2c", - "0x5", - "0x52", - "0xf5", - "0x60", - "0xb3", - "0x81", - "0x44", - "0xa0", - "0x29", - "0xcd", - "0xba", - "0x11", - "0x8e", - "0xa5", - "0xc1", - "0x54", - "0x7b", - "0x49", - "0x47", - "0xb9", - "0x83", - "0x38", - "0xb6", - "0x9e", - "0x8a", - "0x82", - "0x7c", - "0x96", - "0x90", - "0xe5", - "0x88", - "0xee", - "0xea", - "0xad", - "0x4b", - "0x5b", - "0x97", - "0x99", - "0x84", - "0xc9", - "0x1", - "0x3a", - "0x2d", - "0x39", - "0x76", - "0xa6", - "0xc7", - "0x8c", - "0xbd", - "0xe", - "0x47", - "0x97", - "0x60", - "0x33", - "0xd", - "0xc6", - "0x5e", - "0xd0", - "0xb1", - "0x14", - "0x84", - "0x2b", - "0x7e", - "0x79", - "0x1", - "0x5c", - "0x20", - "0xeb", - "0xe8", - "0x8c", - "0x8", - "0x4a", - "0xa1", - "0xce", - "0x4e", - "0x82", - "0xe6", - "0xca", - "0xfa", - "0xad", - "0x53", - "0xa0", - "0x75", - "0xea", - "0x4", - "0x88", - "0x7d", - "0x9", - "0x12", - "0x1e", - "0xb", - "0x9d", - "0x1d", - "0xd2", - "0x6d", - "0xfa", - "0xd5", - "0xf5", - "0x76", - "0x5", - "0xf4", - "0x1d", - "0x3f", - "0x6", - "0x67", - "0x87", - "0xaa", - "0x49", - "0x7d", - "0x43", - "0x9", - "0xac", - "0xd0", - "0xd6", - "0x4e", - "0xbb", - "0x15", - "0xe2", - "0x20", - "0x46", - "0x9a", - "0x94", - "0xf", - "0xb", - "0x6b", - "0xe3", - "0x48", - "0xb9", - "0x48", - "0x64", - "0x23", - "0x73", - "0xa8", - "0x1d", - "0xe3", - "0x5e", - "0x6c", - "0x9", - "0x1c", - "0xa1", - "0x80", - "0xc8", - "0xfd", - "0x27", - "0xcf", - "0x65", - "0x9f", - "0x44", - "0x38", - "0x61", - "0xc1", - "0xad", - "0x6a", - "0x7d", - "0xa7", - "0xf8", - "0x5e", - "0xaa", - "0xb1", - "0x18", - "0xe2", - "0xfe", - "0x13", - "0x3c", - "0xeb", - "0xe3", - "0x91", - "0x7a", - "0x6e", - "0x5e", - "0x68", - "0x1a", - "0xb2", - "0xf3", - "0x2e", - "0xc7", - "0x30", - "0x1d", - "0x94", - "0xd0", - "0xec", - "0xac", - "0x4d", - "0xe0", - "0xfd", - "0x5e", - "0xa5", - "0xb4", - "0x97", - "0x5e", - "0x3f", - "0xe2", - "0x80", - "0xa6", - "0xd2", - "0x11", - "0x51", - "0x78", - "0x3a", - "0x74", - "0xf3", - "0x9", - "0xdb", - "0xd5", - "0x6b", - "0xe8", - "0xf4", - "0x61", - "0x72", - "0x86", - "0xa1", - "0x3f", - "0xc3", - "0x24", - "0x78", - "0x18", - "0xc1", - "0x8", - "0x45", - "0x1e", - "0x8", - "0x96", - "0xe", - "0xc0", - "0x9", - "0x5b", - "0xa7", - "0x91", - "0x3e", - "0x64", - "0xf0", - "0x5e", - "0x3d", - "0xdb", - "0x9c", - "0x87", - "0x88", - "0x8f", - "0x53", - "0x49", - "0x1f", - "0x6d", - "0x66", - "0x48", - "0x3b", - "0x13", - "0x56", - "0xe1", - "0x60", - "0xca", - "0xbe", - "0x13", - "0x9c", - "0x1d", - "0xf3", - "0xf0", - "0x4e", - "0xcd", - "0x71", - "0x7f", - "0x3c", - "0x93", - "0x3f", - "0x7b", - "0x7", - "0x23", - "0x96", - "0xed", - "0x6f", - "0xac", - "0xf0", - "0x4a", - "0x91", - "0x9c", - "0x27", - "0xd3", - "0xd0", - "0x6f", - "0x1e", - "0xe0", - "0x2c", - "0xd9", - "0x37", - "0xa4", - "0xc7", - "0xbe", - "0x4", - "0x2a", - "0x16", - "0x5c", - "0xb0", - "0x6d", - "0x1c", - "0xed", - "0x2b", - "0xd9", - "0x34", - "0xf5", - "0x3f", - "0x86", - "0x9", - "0x4b", - "0x14", - "0x89", - "0xd2", - "0x26", - "0xe", - "0xf", - "0x38", - "0xd5", - "0xe3", - "0x72", - "0xd1", - "0x48", - "0x3e", - "0x13", - "0xb9", - "0xc", - "0x29", - "0x2a", - "0xac", - "0xec", - "0x70", - "0x87", - "0x64", - "0xa6", - "0x7f", - "0x2b", - "0x9a", - "0xaa", - "0xe4", - "0xe2", - "0x6", - "0x1b", - "0x14", - "0x7", - "0x17", - "0xfd", - "0x17", - "0xfe", - "0x39", - "0xf4", - "0x0", - "0xa5", - "0x8d", - "0xb2", - "0x11", - "0xbd", - "0xbd", - "0xd2", - "0x91", - "0x10", - "0x35", - "0xe4", - "0xc6", - "0x9b", - "0xf7", - "0x50", - "0x6a", - "0xe1", - "0x2a", - "0xce", - "0xa", - "0xe5", - "0x28", - "0x8b", - "0x15", - "0x7", - "0xa8", - "0x3d", - "0x37", - "0x14", - "0x0", - "0x2b", - "0x94", - "0x94", - "0x76", - "0xe3", - "0xfd", - "0xa8", - "0x2f", - "0x42", - "0xa6", - "0x92", - "0xf6", - "0x48", - "0x47", - "0x89", - "0x80", - "0xa2", - "0xb9", - "0xe2", - "0x46", - "0xb6", - "0xa1", - "0x60", - "0xe2", - "0xd2", - "0xf3", - "0x2e", - "0xbc", - "0x9b", - "0xc1", - "0xa6", - "0x36", - "0x89", - "0xf4", - "0xb", - "0x87", - "0xbf", - "0xa0", - "0x7f", - "0x36", - "0x87", - "0xed", - "0x6c", - "0xdd", - "0x10", - "0x6f", - "0xfe", - "0xed", - "0x4a", - "0x79", - "0x5", - "0x1", - "0x7b", - "0x27", - "0x7f", - "0x75", - "0xe6", - "0x9", - "0x29", - "0x8b", - "0x8e", - "0x2b", - "0xa3", - "0x6c", - "0x40", - "0xe4", - "0xbb", - "0xee", - "0xb7", - "0x78", - "0x61", - "0x35", - "0x90", - "0x44", - "0x2f", - "0x11", - "0xa8", - "0x4", - "0xb1", - "0x2a", - "0x92", - "0x92", - "0xd5", - "0x4f", - "0x9a", - "0x61", - "0xec", - "0x6a", - "0x6e", - "0x2b", - "0x5d", - "0xfd", - "0xd5", - "0x19", - "0x34", - "0x79", - "0x18", - "0xb4", - "0xaa", - "0xa8", - "0xc7", - "0x56", - "0x7", - "0x34", - "0xd7", - "0x33", - "0x83", - "0xd4", - "0x2b", - "0x2e", - "0x6e", - "0xd8", - "0x37", - "0x80", - "0xa9", - "0xbe", - "0x6c", - "0x2d", - "0x81", - "0x8f", - "0xcb", - "0x75", - "0x6d", - "0xca", - "0xdb", - "0x9a", - "0x4e", - "0x45", - "0xd5", - "0x2", - "0x12", - "0x7a", - "0x23", - "0x6f", - "0xc0", - "0x6c", - "0x2e", - "0xb7", - "0x5a", - "0xfe", - "0xa2", - "0x6b", - "0x1f", - "0xa3", - "0xf1", - "0x57", - "0x99", - "0x3a", - "0x15", - "0x10", - "0x6a", - "0x5", - "0x2a", - "0x8", - "0x7f", - "0x86", - "0x8e", - "0x68", - "0x83", - "0x4c", - "0x8c", - "0xde", - "0x4c", - "0x7b", - "0x9", - "0xe1", - "0xed", - "0xa", - "0xf2", - "0xe3", - "0x57", - "0x64", - "0xcb", - "0x7f", - "0x6c", - "0x65", - "0x51", - "0x50", - "0x92", - "0xce", - "0x9d", - "0xbe", - "0x18", - "0x58", - "0x53", - "0xf2", - "0x2c", - "0x49", - "0xcb", - "0x61", - "0xdb", - "0x85", - "0x3e", - "0x74", - "0x5e", - "0x90", - "0x5e", - "0xb9", - "0x71", - "0xfb", - "0xb0", - "0x4d", - "0xb6", - "0xc7", - "0x11", - "0x40", - "0x20", - "0xaf", - "0xd6", - "0x5e", - "0xce", - "0x2", - "0xa4", - "0x3", - "0x28", - "0x2", - "0x8c", - "0x5f", - "0x6d", - "0x22", - "0x26", - "0x26", - "0x76", - "0xac", - "0xc4", - "0xa7", - "0xee", - "0xa3", - "0x89", - "0xc5", - "0xbd", - "0x63", - "0x84", - "0xf3", - "0x25", - "0xbe", - "0xad", - "0x7", - "0x1b", - "0x31", - "0x2a", - "0x3a", - "0x9e", - "0xd5", - "0x80", - "0x18", - "0x85", - "0xb1", - "0x7", - "0xc0", - "0x78", - "0x50", - "0x94", - "0x6d", - "0x28", - "0x43", - "0xc1", - "0x5d", - "0x29", - "0x40", - "0x76", - "0x15", - "0x63", - "0xee", - "0xd6", - "0xec", - "0x8b", - "0xf9", - "0x3b", - "0x61", - "0xb7", - "0x53", - "0x28", - "0xbe", - "0x11", - "0x2c", - "0xa4", - "0x36", - "0xd8", - "0x69", - "0x39", - "0x8a", - "0x50", - "0xab", - "0x63", - "0xc0", - "0x96", - "0x4d", - "0xde", - "0x80", - "0x6f", - "0xcd", - "0xaf", - "0x14", - "0x51", - "0x76", - "0xe2", - "0x2d", - "0xa3", - "0x44", - "0x43", - "0x3f", - "0xde", - "0xfb", - "0x1c", - "0xca", - "0x24", - "0x62", - "0x3b", - "0x70", - "0xc4", - "0x85", - "0xd8", - "0x85", - "0xee", - "0x70", - "0xe4", - "0xd9", - "0xd0", - "0xb7", - "0xd3", - "0x67", - "0xe1", - "0x12", - "0xad", - "0x46", - "0x40", - "0xae", - "0xd1", - "0xf5", - "0x1d", - "0xf3", - "0x4e", - "0xcf", - "0x9b", - "0xd6", - "0xbd", - "0x71", - "0x95", - "0x62", - "0xd3", - "0xef", - "0xa8", - "0xf5", - "0xdb", - "0xdd", - "0x35", - "0x43", - "0xd5", - "0xe6", - "0x70", - "0x57", - "0x14", - "0x5a", - "0x3f", - "0x7e", - "0xec", - "0xb", - "0x75", - "0xd1", - "0x3a", - "0x64", - "0x3a", - "0xc2", - "0x3e", - "0xa8", - "0x10", - "0x16", - "0x8f", - "0xc8", - "0x60", - "0x9d", - "0x0", - "0x76", - "0x69", - "0x6", - "0x39", - "0x89", - "0xef", - "0x77", - "0xb0", - "0xdc", - "0x58", - "0xff", - "0xcf", - "0xfc", - "0x58", - "0xd4", - "0x30", - "0x93", - "0x93", - "0xd5", - "0xa0", - "0xd4", - "0xeb", - "0xce", - "0x53", - "0x99", - "0xc8", - "0x94", - "0xa9", - "0xc0", - "0x2b", - "0xb8", - "0x38", - "0xdf", - "0xa7", - "0xc", - "0x68", - "0xe3", - "0xd2", - "0xcf", - "0xa6", - "0xc1", - "0xea", - "0xbc", - "0x17", - "0x3d", - "0x57", - "0xca", - "0xff", - "0x47", - "0xd0", - "0xa9", - "0x6f", - "0x75", - "0x85", - "0x7a", - "0x7a", - "0x2c", - "0xe5", - "0xbd", - "0xfc", - "0x97", - "0xbf", - "0xaa", - "0x86", - "0x38", - "0x52", - "0xbd", - "0x7a", - "0x2e", - "0x4", - "0xa9", - "0x43", - "0x41", - "0x91", - "0x90", - "0x9", - "0xb6", - "0xda", - "0xd1", - "0x63", - "0xf5", - "0xb6", - "0x99", - "0x5f", - "0x9d", - "0xd8", - "0xec", - "0x15", - "0xa8", - "0xf4", - "0x61", - "0x96", - "0xbb", - "0xea", - "0xc6", - "0x58", - "0x6f", - "0xd7", - "0xd8", - "0x25", - "0x2a", - "0xe7", - "0x3", - "0x9c", - "0xec", - "0xa7", - "0xd2", - "0x26", - "0x35", - "0xd", - "0x48", - "0x44", - "0xfd", - "0xf7", - "0x11", - "0xea", - "0x7c", - "0x3c", - "0x81", - "0x5e", - "0xb0", - "0x9b", - "0xf6", - "0x90", - "0xce", - "0x35", - "0x97", - "0xf2", - "0x73", - "0x49", - "0xfc", - "0x3d", - "0xcb", - "0xe7", - "0x49", - "0x21", - "0x2d", - "0x5f", - "0xd6", - "0xee", - "0xf4", - "0xeb", - "0xb9", - "0x7c", - "0xe5", - "0x68", - "0xe4", - "0xd8", - "0xed", - "0xf7", - "0xa9", - "0x51", - "0x36", - "0x29", - "0x6", - "0x8d", - "0xed", - "0xa3", - "0xe8", - "0xaf", - "0x4", - "0x1c", - "0x15", - "0xa7", - "0xbe", - "0xa2", - "0xb0", - "0x8d", - "0xcc", - "0xbf", - "0xe8", - "0x89", - "0x4d", - "0x41", - "0xc7", - "0x23", - "0x85", - "0xd6", - "0x36", - "0x15", - "0xc0", - "0x2c", - "0x3", - "0x3e", - "0x38", - "0x11", - "0xcc", - "0x3e", - "0x28", - "0x33", - "0xc7", - "0x2e", - "0x98", - "0xcd", - "0x92", - "0x5a", - "0xb0", - "0x96", - "0xde", - "0x92", - "0x4", - "0xd7", - "0xba", - "0xe9", - "0x10", - "0x1d", - "0xd7", - "0xc1", - "0xdd", - "0xf6", - "0x8e", - "0x9", - "0xc1", - "0xa3", - "0x71", - "0xe4", - "0xc1", - "0xa5", - "0xce", - "0x19", - "0x6", - "0xaf", - "0x52", - "0x49", - "0xfc", - "0x68", - "0xec", - "0x96", - "0xa7", - "0xa0", - "0x4b", - "0x64", - "0x1d", - "0xe0", - "0x68", - "0x86", - "0x23", - "0x58", - "0x93", - "0xf5", - "0xbe", - "0x78", - "0x1f", - "0xf8", - "0x4c", - "0x1e", - "0x68", - "0x23", - "0xa2", - "0x83", - "0xda", - "0x4", - "0xc2", - "0x24", - "0xa2", - "0x9c", - "0xe", - "0x2e", - "0x3d", - "0xfd", - "0x2c", - "0x96", - "0xeb", - "0xe1", - "0x1f", - "0x73", - "0xe5", - "0xa2", - "0xc7", - "0x3b", - "0xa1", - "0x4c", - "0x98", - "0xf0", - "0xde", - "0x20", - "0xf7", - "0xdc", - "0xde", - "0x17", - "0x8d", - "0xb3", - "0xc", - "0x1a", - "0x70", - "0x93", - "0xbd", - "0x66", - "0xf", - "0x4e", - "0x30", - "0xe3", - "0xbe", - "0x47", - "0xe0", - "0x0", - "0xe7", - "0x62", - "0x17", - "0x1b", - "0x20", - "0xff", - "0x41", - "0xb8", - "0x75", - "0x1f", - "0x74", - "0x4e", - "0xa9", - "0xac", - "0x4d", - "0xd5", - "0x5f", - "0x67", - "0x4c", - "0x1d", - "0x48", - "0xf0", - "0x4c", - "0x2e", - "0xe0", - "0x77", - "0x3f", - "0xcf", - "0x82", - "0xfa", - "0x2d", - "0x8b", - "0xcf", - "0xe4", - "0x1d", - "0xb3", - "0x40", - "0xb9", - "0x91", - "0xc9", - "0x11", - "0x25", - "0xa8", - "0x19", - "0x1b", - "0x81", - "0xe3", - "0x35", - "0x15", - "0x48", - "0x90", - "0x28", - "0xd9", - "0xd0", - "0xb0", - "0x5f", - "0x4", - "0x14", - "0x55", - "0x46", - "0x7", - "0x2e", - "0x8b", - "0x9e", - "0x2d", - "0x2d", - "0xae", - "0x1d", - "0xbc", - "0xd6", - "0x7b", - "0xb3", - "0xd0", - "0x79", - "0xc", - "0xed", - "0xbf", - "0x48", - "0xad", - "0x75", - "0x63", - "0x52", - "0x61", - "0xaf", - "0x2", - "0x78", - "0x1c", - "0x7f", - "0x3c", - "0x62", - "0xfc", - "0x9d", - "0x36", - "0x40", - "0x5b", - "0x5a", - "0xea", - "0x21", - "0x41", - "0xd0", - "0xba", - "0xfc", - "0x32", - "0x29", - "0x36", - "0x27", - "0xd3", - "0x2d", - "0x92", - "0xa3", - "0xef", - "0x50", - "0x6e", - "0x13", - "0xf8", - "0x5b", - "0x92", - "0x4e", - "0x69", - "0xdd", - "0x51", - "0xaf", - "0x53", - "0xd0", - "0xc1", - "0xa9", - "0x7", - "0x92", - "0x5a", - "0x76", - "0x59", - "0x20", - "0x3a", - "0x19", - "0x93", - "0x63", - "0xc5", - "0x14", - "0x77", - "0xa9", - "0x71", - "0xe7", - "0xe6", - "0x1c", - "0xd0", - "0xf6", - "0xe7", - "0x52", - "0xfa", - "0x7f", - "0xcc", - "0x80", - "0x70", - "0x65", - "0xb", - "0xce", - "0xb", - "0x72", - "0x42", - "0x86", - "0x8d", - "0x6b", - "0x5", - "0x9", - "0x48", - "0x35", - "0x4b", - "0x8", - "0x5c", - "0xff", - "0x52", - "0xd", - "0xb4", - "0x36", - "0xe9", - "0x26", - "0x9", - "0x54", - "0xb9", - "0x42", - "0xed", - "0x63", - "0xa1", - "0xa0", - "0x68", - "0xf0", - "0x77", - "0x2e", - "0x30", - "0x49", - "0x80", - "0x88", - "0x65", - "0x8e", - "0x2", - "0x47", - "0xfa", - "0x1a", - "0x4e", - "0x77", - "0x39", - "0x57", - "0x29", - "0x82", - "0x18", - "0xea", - "0xe2", - "0xd1", - "0x94", - "0x75", - "0xe", - "0xa9", - "0xc5", - "0xc7", - "0xd6", - "0x7f", - "0x92", - "0x85", - "0x57", - "0x61", - "0xc0", - "0x5f", - "0x24", - "0xd7", - "0x5d", - "0x76", - "0x52", - "0x51", - "0xd5", - "0x60", - "0x5b", - "0x85", - "0x43", - "0x82", - "0x71", - "0xf5", - "0x3f", - "0x1d", - "0xc8", - "0x90", - "0xbf", - "0x3a", - "0x4", - "0x47", - "0xac", - "0x5a", - "0x8a", - "0x39", - "0xb3", - "0x96", - "0x55", - "0x42", - "0x17", - "0x2c", - "0x61", - "0x9e", - "0x15", - "0x9c", - "0x32", - "0xd0", - "0x6e", - "0x56", - "0x2c", - "0x89", - "0xa4", - "0x60", - "0x55", - "0x45", - "0x80", - "0x63", - "0xea", - "0x48", - "0xad", - "0x8e", - "0x30", - "0x4f", - "0x2e", - "0xfa", - "0x2", - "0x28", - "0x1a", - "0x18", - "0xae", - "0x7d", - "0x15", - "0xc2", - "0x30", - "0x8f", - "0x51", - "0xc0", - "0x36", - "0x25", - "0x9", - "0x4b", - "0x97", - "0xaf", - "0x91", - "0x3e", - "0xa9", - "0xe0", - "0xdb", - "0xb7", - "0xcb", - "0x76", - "0x17", - "0xd2", - "0x44", - "0x77", - "0x14", - "0xbf", - "0xfc", - "0xcd", - "0xc6", - "0x2e", - "0xdf", - "0x65", - "0xc4", - "0xd", - "0xed", - "0x97", - "0xa9", - "0xd1", - "0xf7", - "0x4d", - "0xf8", - "0xa5", - "0x60", - "0x82", - "0x3f", - "0xad", - "0x14", - "0xd5", - "0x1d", - "0x58", - "0xbf", - "0x1a", - "0x1", - "0xa", - "0xb3", - "0x43", - "0x21", - "0xe6", - "0x3c", - "0x19", - "0xcd", - "0x78", - "0x52", - "0x5d", - "0x9f", - "0xed", - "0x75", - "0x39", - "0xce", - "0x15", - "0xd8", - "0x9b", - "0xa8", - "0xd", - "0x50", - "0x44", - "0xa7", - "0x28", - "0xc5", - "0xa", - "0x46", - "0x8c", - "0x3", - "0xa1", - "0x7d", - "0xaa", - "0xc5", - "0xd7", - "0xfd", - "0x14", - "0x24", - "0x74", - "0x18", - "0x93", - "0xf8", - "0x9", - "0xd6", - "0x76", - "0xcb", - "0x31", - "0xda", - "0x44", - "0xf0", - "0x72", - "0x6a", - "0xdd", - "0x6d", - "0x86", - "0xdc", - "0x82", - "0x37", - "0x96", - "0xa5", - "0xf8", - "0x12", - "0xa6", - "0xab", - "0x93", - "0xd9", - "0x2b", - "0x57", - "0xb3", - "0x7", - "0x1b", - "0xcb", - "0xb8", - "0xb7", - "0x17", - "0xd8", - "0xac", - "0x9a", - "0xe4", - "0xc", - "0x35", - "0x4c", - "0x48", - "0x10", - "0x84", - "0x18", - "0x71", - "0xca", - "0x5f", - "0x3a", - "0xd4", - "0xed", - "0x2f", - "0xd7", - "0xf7", - "0x5e", - "0x2b", - "0xd8", - "0x81", - "0xf8", - "0xe7", - "0x56", - "0x69", - "0x29", - "0xe9", - "0xbc", - "0x8", - "0x61", - "0xf7", - "0x2e", - "0x2d", - "0xd3", - "0x73", - "0x8c", - "0x39", - "0x5c", - "0xf3", - "0xda", - "0x74", - "0x82", - "0x23", - "0xb7", - "0x54", - "0xbc", - "0x6e", - "0x7d", - "0xba", - "0x22", - "0x85", - "0x5d", - "0xed", - "0xca", - "0xd8", - "0x5b", - "0x9", - "0xd", - "0xed", - "0x7b", - "0xd5", - "0xa1", - "0x7a", - "0xbc", - "0xb0", - "0x61", - "0xc2", - "0xfd", - "0x64", - "0xe1", - "0xc1", - "0xf4", - "0x40", - "0x9f", - "0xda", - "0xef", - "0x7a", - "0x1d", - "0x76", - "0xc1", - "0x4a", - "0x42", - "0x22", - "0xd9", - "0x2a", - "0x9a", - "0x8f", - "0x82", - "0x12", - "0x98", - "0xbd", - "0x1f", - "0xe4", - "0xa1", - "0x4d", - "0xd3", - "0xb9", - "0x1", - "0x2f", - "0x28", - "0x2", - "0xb6", - "0x6a", - "0xa3", - "0xcd", - "0x1a", - "0xf6", - "0xd2", - "0x5b", - "0xa7", - "0xd1", - "0x7b", - "0x44", - "0x30", - "0xe6", - "0xa8", - "0x96", - "0xf2", - "0xe3", - "0x6c", - "0x7d", - "0xa2", - "0xe4", - "0x56", - "0x73", - "0x36", - "0xd2", - "0xfe", - "0x19", - "0xc5", - "0x21", - "0x55", - "0x16", - "0xc6", - "0x87", - "0x9a", - "0xbc", - "0xd7", - "0x42", - "0x8b", - "0xa4", - "0x1a", - "0xdb", - "0x85", - "0x7d", - "0x3d", - "0xa5", - "0xd2", - "0xda", - "0x39", - "0xd", - "0x10", - "0x80", - "0xa8", - "0x76", - "0xc", - "0x8b", - "0xcc", - "0x49", - "0xe0", - "0xda", - "0x98", - "0xf1", - "0x8", - "0xef", - "0x9a", - "0x26", - "0x34", - "0x13", - "0x6b", - "0x1c", - "0x50", - "0xe0", - "0xe7", - "0x18", - "0x3d", - "0xde", - "0xf6", - "0x45", - "0x14", - "0x57", - "0x73", - "0x1a", - "0x87", - "0x4b", - "0x4e", - "0x9d", - "0x4d", - "0x2e", - "0xe8", - "0x82", - "0x47", - "0x5a", - "0x6b", - "0xb3", - "0xc3", - "0xae", - "0xdc", - "0x11", - "0x1", - "0x58", - "0xfc", - "0x73", - "0x5d", - "0xcd", - "0x92", - "0xbd", - "0x19", - "0xe3", - "0x3d", - "0xe7", - "0xb4", - "0x8d", - "0x53", - "0xf5", - "0x32", - "0x57", - "0xfd", - "0x52", - "0x67", - "0x36", - "0x85", - "0x7c", - "0x45", - "0xa1", - "0xd", - "0xd0", - "0x57", - "0x6e", - "0x77", - "0x8f", - "0xe6", - "0x69", - "0xc6", - "0x2e", - "0x4b", - "0x52", - "0x85", - "0xab", - "0xf0", - "0x36", - "0x66", - "0xe4", - "0xbe", - "0xb6", - "0xed", - "0x8c", - "0x9e", - "0x2b", - "0xcf", - "0xa0", - "0x9a", - "0x1a", - "0x24", - "0x74", - "0x74", - "0x59", - "0xb2", - "0xa8", - "0x14", - "0xa1", - "0xa5", - "0x1c", - "0x53", - "0x8c", - "0x62", - "0x92", - "0x8c", - "0x8a", - "0xd4", - "0xaa", - "0x77", - "0x2e", - "0x97", - "0xd8", - "0xa7", - "0x2", - "0xc9", - "0xde", - "0xc6", - "0xa2", - "0x55", - "0xe2", - "0x67", - "0x83", - "0xd7", - "0x3e", - "0x80", - "0xe6", - "0xd7", - "0xcd", - "0xc6", - "0x4e", - "0x38", - "0x80", - "0x7f", - "0x20", - "0xef", - "0xe2", - "0x94", - "0xa5", - "0x46", - "0x9a", - "0xc9", - "0x7b", - "0x5", - "0xf1", - "0x56", - "0x3", - "0xe7", - "0x25", - "0x83", - "0x9f", - "0x21", - "0x34", - "0x9a", - "0x6a", - "0xe3", - "0x41", - "0x43", - "0xc2", - "0x33", - "0x75", - "0xcc", - "0xcc", - "0xae", - "0xde", - "0x15", - "0x62", - "0x7b", - "0xd8", - "0x88", - "0x8f", - "0x86", - "0xe9", - "0xda", - "0x37", - "0xcb", - "0x64", - "0x34", - "0x12", - "0xac", - "0x8d", - "0xb1", - "0x86", - "0x29", - "0x17", - "0x4", - "0x74", - "0xe5", - "0x9f", - "0xf6", - "0x95", - "0x92", - "0xe5", - "0xeb", - "0xf5", - "0x4d", - "0x95", - "0xed", - "0xc8", - "0x7a", - "0x45", - "0xc4", - "0x17", - "0x7f", - "0x9d", - "0x2b", - "0x38", - "0xf1", - "0x5e", - "0x14", - "0xf", - "0xf0", - "0xe9", - "0xe9", - "0x60", - "0xbc", - "0x85", - "0x46", - "0xcd", - "0x23", - "0xe6", - "0x2f", - "0x72", - "0xbd", - "0xdd", - "0xcc", - "0xcd", - "0x42", - "0x41", - "0xe5", - "0x27", - "0x1", - "0x34", - "0xa8", - "0xc1", - "0x91", - "0x1", - "0xc4", - "0x36", - "0x3b", - "0x7e", - "0x24", - "0x7c", - "0x63", - "0x9b", - "0x84", - "0x35", - "0x6e", - "0xf6", - "0xcd", - "0x99", - "0x5", - "0x5a", - "0x82", - "0x53", - "0x23", - "0x42", - "0xd1", - "0xe5", - "0x5c", - "0x97", - "0x65", - "0x3f", - "0xbb", - "0x19", - "0xd6", - "0xc2", - "0x10", - "0x6a", - "0xa4", - "0x92", - "0x9c", - "0x24", - "0x3f", - "0x1d", - "0x6e", - "0x12", - "0x6f", - "0xf4", - "0x96", - "0xa", - "0xb0", - "0xec", - "0x16", - "0x8d", - "0xf8", - "0xc1", - "0xe", - "0x11", - "0x7a", - "0xc7", - "0x3d", - "0x23", - "0xd2", - "0x4", - "0xf", - "0x2b", - "0x7b", - "0xdb", - "0x7f", - "0xd1", - "0x90", - "0xc5", - "0xc1", - "0xda", - "0x4b", - "0x75", - "0xf7", - "0xb4", - "0xad", - "0xfa", - "0xe8", - "0x97", - "0x47", - "0x14", - "0xc0", - "0x70", - "0xdb", - "0x67", - "0xce", - "0x8d", - "0xbc", - "0xbb", - "0x2d", - "0x9a", - "0x51", - "0x19", - "0xeb", - "0xd1", - "0xd7", - "0xe8", - "0xcf", - "0x58", - "0x7c", - "0xcf", - "0x28", - "0x55", - "0x8", - "0xd0", - "0xf7", - "0x6b", - "0x92", - "0x5e", - "0x6a", - "0x4e", - "0x52", - "0xe9", - "0x4a", - "0x6c", - "0xf0", - "0x2f", - "0xa9", - "0xa", - "0x28", - "0x4d", - "0x26", - "0xea", - "0xc8", - "0x3", - "0x99", - "0x53", - "0xcf", - "0xb9", - "0xb7", - "0xde", - "0xf3", - "0xb0", - "0x75", - "0x3", - "0x91", - "0xc6", - "0xd8", - "0xc1", - "0x12", - "0x48", - "0xaf", - "0x21", - "0xac", - "0x8", - "0x6f", - "0x7a", - "0xd", - "0xad", - "0xe6", - "0xf2", - "0xc2", - "0xa2", - "0x5", - "0xac", - "0x1", - "0xd2", - "0xb", - "0x0", - "0x67", - "0xbc", - "0x3f", - "0x2d", - "0xd6", - "0xe6", - "0x93", - "0x81", - "0xf1", - "0x9b", - "0xce", - "0xac", - "0x60", - "0xcd", - "0x43", - "0x59", - "0xb2", - "0xc4", - "0xae", - "0x19", - "0x6d", - "0xf3", - "0xdd", - "0x8f", - "0xa7", - "0x93", - "0x17", - "0xbc", - "0x3b", - "0x6d", - "0x70", - "0x3f", - "0xe4", - "0xdb", - "0x43", - "0x3b", - "0xe5", - "0x22", - "0x75", - "0x83", - "0xd6", - "0x42", - "0x7", - "0x2f", - "0xc", - "0x26", - "0x85", - "0xa8", - "0xf1", - "0x25", - "0xe4", - "0xdb", - "0x7e", - "0xe4", - "0x56", - "0xa6", - "0x3b", - "0x51", - "0xb6", - "0xa6", - "0x0", - "0x16", - "0xd9", - "0xa8", - "0x97", - "0xba", - "0xf6", - "0xe3", - "0x32", - "0x20", - "0xd1", - "0x5b", - "0x15", - "0x19", - "0xed", - "0x8a", - "0x8e", - "0x62", - "0xc2", - "0x62", - "0x74", - "0xc5", - "0xa7", - "0xe3", - "0xb9", - "0x9c", - "0xab", - "0xbf", - "0x2a", - "0xa9", - "0xc0", - "0x3a", - "0x9f", - "0xd1", - "0x3b", - "0x87", - "0x7", - "0x20", - "0x2a", - "0x46", - "0x80", - "0x6d", - "0x2e", - "0x75", - "0x3b", - "0x68", - "0x7c", - "0xb4", - "0x52", - "0x73", - "0xd2", - "0x41", - "0xf4", - "0x91", - "0xcb", - "0xda", - "0x83", - "0xc0", - "0xab", - "0xe4", - "0x16", - "0x87", - "0x58", - "0xcb", - "0xf9", - "0x2c", - "0x80", - "0x7f", - "0x5e", - "0xb3", - "0xd3", - "0x52", - "0xfe", - "0x85", - "0x9", - "0x81", - "0xef", - "0x56", - "0x26", - "0xed", - "0x63", - "0x32", - "0x10", - "0x3d", - "0xa6", - "0xe4", - "0xb0", - "0xc2", - "0x11", - "0x3b", - "0x7", - "0x8d", - "0xe6", - "0x41", - "0xd8", - "0x92", - "0x3a", - "0x10", - "0x29", - "0xaa", - "0xa9", - "0xe0", - "0xff", - "0x31", - "0xbe", - "0x57", - "0xe7", - "0x0", - "0x97", - "0x58", - "0xef", - "0xa1", - "0xbd", - "0xa5", - "0xf", - "0x29", - "0xfa", - "0x6e", - "0xdb", - "0xc5", - "0xb8", - "0x51", - "0x85", - "0xcc", - "0x30", - "0x38", - "0xcf", - "0x29", - "0x87", - "0xa1", - "0xa8", - "0x28", - "0x37", - "0x85", - "0x2c", - "0xa6", - "0x45", - "0xfa", - "0x9d", - "0x30", - "0x43", - "0xa3", - "0xba", - "0x29", - "0x36", - "0xc0", - "0xb3", - "0x5b", - "0x28", - "0x1e", - "0xf8", - "0x6b", - "0x4a", - "0x13", - "0x6e", - "0x40", - "0x90", - "0xd3", - "0xf8", - "0xf", - "0x7f", - "0x77", - "0x47", - "0x3a", - "0x71", - "0x5e", - "0xa8", - "0x7e", - "0x75", - "0x56", - "0xc2", - "0xd7", - "0x12", - "0xc0", - "0x5", - "0xa1", - "0xd2", - "0x21", - "0x12", - "0xbe", - "0x32", - "0x87", - "0xf9", - "0xb", - "0x5b", - "0xd5", - "0x2c", - "0x41", - "0xdb", - "0xfa", - "0xaf", - "0xb8", - "0x32", - "0x7", - "0x69", - "0x8a", - "0x3e", - "0x6e", - "0xc1", - "0x83", - "0x84", - "0x19", - "0x5f", - "0x74", - "0xe1", - "0x3b", - "0x93", - "0xbe", - "0x9c", - "0x76", - "0x7e", - "0x8b", - "0xf2", - "0x67", - "0x32", - "0x8", - "0x82", - "0xc8", - "0xf9", - "0xe6", - "0xdd", - "0xb0", - "0x3b", - "0x62", - "0xf9", - "0xc8", - "0x35", - "0xf1", - "0xd2", - "0xa3", - "0xae", - "0x8b", - "0x51", - "0x8c", - "0xc4", - "0x6f", - "0x1a", - "0x4f", - "0xfe", - "0xf2", - "0x31", - "0x8b", - "0xb7", - "0xf", - "0xc4", - "0x3e", - "0x33", - "0x10", - "0x61", - "0x71", - "0xcd", - "0x4a", - "0x6c", - "0xec", - "0xdd", - "0x2", - "0xaa", - "0x34", - "0x14", - "0x23", - "0x58", - "0x90", - "0xee", - "0x9b", - "0xea", - "0xf", - "0x6b", - "0x12", - "0x7d", - "0xea", - "0x1c", - "0xe8", - "0xe8", - "0xa4", - "0x50", - "0xc2", - "0xdd", - "0x79", - "0x60", - "0xf4", - "0x76", - "0x7e", - "0x89", - "0x6", - "0x97", - "0xe7", - "0xcf", - "0xd1", - "0xc5", - "0x18", - "0x52", - "0x84", - "0x38", - "0x14", - "0x46", - "0x10", - "0x2c", - "0xcb", - "0xe5", - "0x1c", - "0xf7", - "0xf2", - "0xe8", - "0x64", - "0xe8", - "0x2", - "0xad", - "0xad", - "0xad", - "0x27", - "0x30", - "0x3e", - "0xe2", - "0xa4", - "0x18", - "0x4c", - "0xe", - "0x58", - "0x34", - "0x30", - "0x67", - "0xd1", - "0x51", - "0x11", - "0xc8", - "0x6e", - "0x46", - "0xba", - "0x19", - "0x40", - "0x3d", - "0xee", - "0x33", - "0x83", - "0xb6", - "0xa2", - "0xef", - "0xca", - "0x13", - "0x39", - "0xa1", - "0x3e", - "0x40", - "0x2a", - "0x5d", - "0x73", - "0xb9", - "0xdc", - "0x6a", - "0x49", - "0xf5", - "0xcf", - "0x5b", - "0x93", - "0x11", - "0x1c", - "0x9", - "0x70", - "0x38", - "0x7e", - "0x68", - "0x5c", - "0x45", - "0x35", - "0xd1", - "0x9c", - "0x62", - "0x58", - "0x55", - "0xb3", - "0x47", - "0x93", - "0x21", - "0x28", - "0x21", - "0xec", - "0x55", - "0xa6", - "0x34", - "0x8b", - "0xf6", - "0xef", - "0xda", - "0x30", - "0xf6", - "0x9b", - "0x12", - "0x71", - "0x5", - "0x4a", - "0x6d", - "0xe2", - "0x6c", - "0x41", - "0xf3", - "0x11", - "0xd", - "0xc3", - "0x81", - "0xf6", - "0xa4", - "0xd", - "0xad", - "0x31", - "0x36", - "0xfd", - "0x78", - "0x72", - "0x37", - "0x53", - "0x1", - "0x90", - "0x84", - "0xc", - "0x96", - "0xb5", - "0x15", - "0x70", - "0x66", - "0x19", - "0xcb", - "0x3f", - "0x1f", - "0xde", - "0x11", - "0x64", - "0x7f", - "0x90", - "0x52", - "0xe9", - "0x5d", - "0x23", - "0x6a", - "0xfc", - "0xfe", - "0x85", - "0xc1", - "0x95", - "0x5f", - "0x5", - "0x45", - "0xc7", - "0x57", - "0x93", - "0xb6", - "0x28", - "0x88", - "0x2", - "0x3f", - "0x7a", - "0x16", - "0x4b", - "0xb4", - "0x90", - "0x2a", - "0xb3", - "0x83", - "0x35", - "0x43", - "0x90", - "0x4c", - "0x6", - "0xac", - "0xa2", - "0x37", - "0x40", - "0xe6", - "0x4d", - "0x8d", - "0xed", - "0xe1", - "0x6e", - "0xfe", - "0x9a", - "0x7e", - "0xc", - "0x73", - "0x74", - "0x86", - "0xef", - "0xce", - "0xf8", - "0x29", - "0xe8", - "0x11", - "0x66", - "0xf2", - "0x97", - "0x3a", - "0x50", - "0x89", - "0x8c", - "0xa0", - "0x75", - "0xe1", - "0x9d", - "0xd2", - "0xbb", - "0x36", - "0xec", - "0x89", - "0xf1", - "0xf5", - "0x52", - "0xb1", - "0x92", - "0xeb", - "0xca", - "0x4d", - "0x5a", - "0x9c", - "0x26", - "0x5", - "0x96", - "0xaf", - "0x4e", - "0x8d", - "0xe4", - "0xf2", - "0x3e", - "0x56", - "0x0", - "0x3d", - "0xed", - "0xe6", - "0x6d", - "0x5", - "0xbb", - "0x46", - "0x7c", - "0x2", - "0x3a", - "0xb7", - "0xae", - "0xc5", - "0x49", - "0xae", - "0x3d", - "0xdb", - "0x10", - "0x5a", - "0x3b", - "0x42", - "0xaf", - "0x1e", - "0x31", - "0x5f", - "0x56", - "0xbc", - "0x98", - "0x5", - "0x41", - "0xb2", - "0xf9", - "0xda", - "0xbe", - "0x34", - "0x5a", - "0x3b", - "0x25", - "0x0", - "0xa2", - "0x1d", - "0x86", - "0x43", - "0x60", - "0x3d", - "0x87", - "0xa6", - "0x2b", - "0xcf", - "0xf5", - "0xcf", - "0x55", - "0x7f", - "0x55", - "0x74", - "0x39", - "0xa1", - "0x9d", - "0xd2", - "0xd", - "0xa4", - "0xf4", - "0xe1", - "0x13", - "0x65", - "0x26", - "0xc8", - "0x7", - "0x33", - "0xf", - "0xd6", - "0xad", - "0x4b", - "0x58", - "0xf7", - "0x13", - "0x80", - "0x52", - "0x4d", - "0x9b", - "0xa9", - "0xd8", - "0x31", - "0x29", - "0x74", - "0xf4", - "0xca", - "0x8e", - "0xbf", - "0xe1", - "0x98", - "0x28", - "0x5f", - "0x60", - "0x24", - "0x49", - "0xb5", - "0x2", - "0x71", - "0xf5", - "0x80", - "0x0", - "0x2f", - "0xbd", - "0x85", - "0x8f", - "0x23", - "0x17", - "0xeb", - "0x6b", - "0x30", - "0xd3", - "0x62", - "0x97", - "0xff", - "0xfd", - "0xce", - "0xdb", - "0x53", - "0x14", - "0x86", - "0xc0", - "0x40", - "0xd1", - "0xbd", - "0x33", - "0x2e", - "0x8", - "0x1f", - "0xa0", - "0xe2", - "0xd0", - "0x14", - "0xd0", - "0x8", - "0x31", - "0xf6", - "0xc9", - "0xe1", - "0x99", - "0x86", - "0x4c", - "0xc4", - "0xba", - "0xb", - "0xd9", - "0x18", - "0xb4", - "0x3d", - "0x75", - "0x16", - "0x59", - "0x47", - "0x5d", - "0x69", - "0x29", - "0x2d", - "0xb0", - "0x88", - "0x2e", - "0x2e", - "0xca", - "0xce", - "0x88", - "0x47", - "0x18", - "0xa0", - "0xb0", - "0x61", - "0xa8", - "0x5a", - "0xec", - "0x5b", - "0x7a", - "0xe2", - "0xc5", - "0x83", - "0x7d", - "0xfd", - "0xe4", - "0xd", - "0x6e", - "0xd6", - "0x32", - "0xe5", - "0xa4", - "0x60", - "0x0", - "0x2a", - "0x3f", - "0xcb", - "0xe9", - "0xb5", - "0x8c", - "0x79", - "0xa9", - "0xf0", - "0x9b", - "0x9", - "0xc7", - "0x8d", - "0xd4", - "0xf8", - "0xef", - "0x16", - "0x1c", - "0x56", - "0x32", - "0x46", - "0x54", - "0xf2", - "0x57", - "0x41", - "0x98", - "0x47", - "0xd7", - "0xb0", - "0xd2", - "0xf3", - "0x3c", - "0x9a", - "0x1a", - "0x93", - "0x56", - "0x8e", - "0x4d", - "0x2", - "0x40", - "0x27", - "0xea", - "0xef", - "0xab", - "0xf1", - "0x95", - "0x8d", - "0x3f", - "0x98", - "0xce", - "0x18", - "0xbc", - "0xa0", - "0x6f", - "0x6c", - "0xf5", - "0x40", - "0x83", - "0x1", - "0x8", - "0x37", - "0xcd", - "0x45", - "0xda", - "0x45", - "0xf4", - "0x8", - "0x91", - "0x5a", - "0xf7", - "0x42", - "0xc3", - "0x1b", - "0xbb", - "0x9f", - "0x84", - "0xcb", - "0x11", - "0xe", - "0x53", - "0x28", - "0xa1", - "0xb8", - "0x17", - "0x51", - "0xda", - "0xea", - "0xf1", - "0xaa", - "0x9f", - "0x43", - "0xb6", - "0x5c", - "0x5c", - "0xa4", - "0xa3", - "0x42", - "0xac", - "0x3a", - "0x19", - "0xa8", - "0xd", - "0x66", - "0x8", - "0xd8", - "0x91", - "0x32", - "0xfb", - "0x8", - "0xeb", - "0x14", - "0xf9", - "0x6f", - "0x35", - "0x63", - "0x9c", - "0x44", - "0x47", - "0x70", - "0xf3", - "0x9c", - "0x21", - "0x25", - "0xbe", - "0x19", - "0x99", - "0xc7", - "0xef", - "0xe1", - "0x84", - "0x38", - "0x90", - "0xb0", - "0xc", - "0x43", - "0xe3", - "0xe", - "0xf9", - "0x6e", - "0xf", - "0x9a", - "0x25", - "0xdd", - "0x27", - "0x45", - "0x24", - "0xe4", - "0x6a", - "0xee", - "0x74", - "0x77", - "0xda", - "0xa0", - "0x99", - "0x8e", - "0xff", - "0xa8", - "0xf8", - "0x18", - "0xa5", - "0x61", - "0xc8", - "0xb5", - "0x8b", - "0x76", - "0x37", - "0xf6", - "0x66", - "0xef", - "0x91", - "0x20", - "0x7c", - "0x40", - "0x6a", - "0xfc", - "0x7e", - "0x68", - "0x8f", - "0x39", - "0x1e", - "0xa4", - "0x7a", - "0x4b", - "0x62", - "0xe4", - "0xd9", - "0x57", - "0xf2", - "0xb0", - "0x50", - "0xe2", - "0x60", - "0xa7", - "0x1a", - "0x25", - "0xb8", - "0x53", - "0x5d", - "0xfd", - "0xca", - "0xca", - "0xdc", - "0xe8", - "0x39", - "0x16", - "0x79", - "0x2a", - "0xc0", - "0xa9", - "0xbc", - "0x37", - "0x5a", - "0xa3", - "0x3f", - "0xbb", - "0xe4", - "0x36", - "0xb5", - "0x1b", - "0xc3", - "0x77", - "0xe9", - "0xb1", - "0x83", - "0x6d", - "0x58", - "0xee", - "0x7b", - "0xe6", - "0x63", - "0x20", - "0x80", - "0xd6", - "0x6a", - "0x7d", - "0x11", - "0x1f", - "0x15", - "0xdd", - "0xac", - "0xe6", - "0xe", - "0x62", - "0xab", - "0x84", - "0x1d", - "0x31", - "0xf7", - "0x2c", - "0x78", - "0x2d", - "0x81", - "0x4", - "0xd1", - "0x8b", - "0xcc", - "0x6f", - "0x2a", - "0xf2", - "0x65", - "0x8e", - "0xa4", - "0x1", - "0x82", - "0x27", - "0xab", - "0x63", - "0x7e", - "0x3d", - "0x2", - "0x5a", - "0x82", - "0x84", - "0xe5", - "0x8", - "0x84", - "0x4b", - "0xa6", - "0xda", - "0x66", - "0xf5", - "0x84", - "0x51", - "0x8e", - "0x43", - "0xbc", - "0x34", - "0x24", - "0x44", - "0x8d", - "0xb7", - "0x24", - "0x7c", - "0x69", - "0xba", - "0xbc", - "0x78", - "0x9b", - "0x59", - "0xdf", - "0xc2", - "0x44", - "0x39", - "0x80", - "0x12", - "0x5e", - "0xeb", - "0x9f", - "0x1f", - "0x22", - "0x5b", - "0x8e", - "0xba", - "0xae", - "0x7e", - "0x4f", - "0xaa", - "0x56", - "0xe", - "0x8a", - "0x87", - "0xb0", - "0x9b", - "0x17", - "0xa4", - "0xfc", - "0x9b", - "0xc6", - "0x50", - "0xae", - "0xf8", - "0xc0", - "0x18", - "0xfa", - "0x67", - "0x41", - "0x1b", - "0xc9", - "0xbf", - "0x5c", - "0x5c", - "0xc5", - "0xc6", - "0x25", - "0xd6", - "0x6c", - "0x80", - "0xc", - "0x6c", - "0xdb", - "0x61", - "0x62", - "0xda", - "0x8a", - "0x68", - "0x79", - "0xb6", - "0xef", - "0x3b", - "0x8d", - "0xa", - "0xe3", - "0xd4", - "0xb1", - "0x67", - "0x51", - "0x2", - "0x7f", - "0x13", - "0x8c", - "0x6a", - "0xee", - "0xea", - "0x19", - "0x81", - "0xab", - "0xba", - "0xa7", - "0xdd", - "0x45", - "0xf6", - "0xad", - "0x9a", - "0xaf", - "0x9a", - "0xcc", - "0xa9", - "0x4e", - "0xc9", - "0xa3", - "0x44", - "0xb3", - "0x97", - "0xac", - "0x92", - "0xfd", - "0x9f", - "0x79", - "0x6a", - "0xf7", - "0x67", - "0x6c", - "0x90", - "0xb1", - "0xc2", - "0xfe", - "0xb2", - "0x1b", - "0x3b", - "0xd2", - "0x1a", - "0x96", - "0x60", - "0x36", - "0xe4", - "0x52", - "0x46", - "0x9f", - "0xcb", - "0x70", - "0x7b", - "0xde", - "0xb6", - "0x74", - "0x9", - "0x57", - "0x92", - "0x4e", - "0xb5", - "0x14", - "0x45", - "0x2c", - "0x19", - "0xf7", - "0x9", - "0x6c", - "0x67", - "0xf3", - "0x4", - "0x61", - "0x52", - "0x99", - "0x3e", - "0x52", - "0x88", - "0x34", - "0xbf", - "0x8c", - "0xe5", - "0xb2", - "0x46", - "0xce", - "0x85", - "0xd5", - "0x2", - "0x73", - "0xc", - "0xf9", - "0x7a", - "0x44", - "0x51", - "0x3", - "0x2a", - "0x29", - "0xc8", - "0x8f", - "0x8f", - "0xe3", - "0x8f", - "0x49", - "0x82", - "0xd6", - "0xbd", - "0x37", - "0xdc", - "0x13", - "0xf7", - "0xcc", - "0xf6", - "0xd4", - "0xad", - "0x12", - "0xe2", - "0x26", - "0x55", - "0x89", - "0x93", - "0x71", - "0x2e", - "0xb4", - "0x3", - "0xc6", - "0x4a", - "0x18", - "0x37", - "0x54", - "0x47", - "0x33", - "0x2a", - "0x55", - "0xfc", - "0x7d", - "0xe", - "0xf8", - "0x9", - "0xbc", - "0xc8", - "0x71", - "0xb5", - "0xe8", - "0xaa", - "0xbf", - "0x41", - "0x21", - "0x33", - "0xb6", - "0x2b", - "0xe8", - "0x65", - "0xee", - "0xfc", - "0x48", - "0x5a", - "0x33", - "0x93", - "0x7b", - "0x35", - "0xd9", - "0x54", - "0x31", - "0xf3", - "0x45", - "0xf5", - "0x99", - "0xd6", - "0x12", - "0x8c", - "0x98", - "0xc", - "0xfb", - "0x81", - "0x1e", - "0xb3", - "0x9d", - "0x71", - "0xcb", - "0xa", - "0x68", - "0x77", - "0x15", - "0xbd", - "0xb4", - "0x91", - "0xab", - "0x96", - "0x31", - "0xb9", - "0x2", - "0x90", - "0xe2", - "0x72", - "0x8c", - "0xbd", - "0xab", - "0x12", - "0xb5", - "0x31", - "0x1c", - "0x2d", - "0x36", - "0xd1", - "0x20", - "0x8", - "0xb2", - "0x44", - "0x5d", - "0xdd", - "0x22", - "0xe9", - "0xbc", - "0x67", - "0x68", - "0xf5", - "0x24", - "0x90", - "0x53", - "0xce", - "0x2", - "0xc2", - "0x91", - "0xb", - "0x33", - "0xe3", - "0x3", - "0xc9", - "0x6c", - "0x2f", - "0x3", - "0x50", - "0x8e", - "0x1a", - "0xe7", - "0x51", - "0x19", - "0xd", - "0x1d", - "0x9b", - "0x8e", - "0xa4", - "0xc2", - "0x81", - "0x5f", - "0x93", - "0x3b", - "0x9", - "0x26", - "0x1e", - "0x56", - "0xdb", - "0x75", - "0x64", - "0xac", - "0x92", - "0x8b", - "0x39", - "0xf9", - "0xad", - "0x9c", - "0xb9", - "0x15", - "0x94", - "0x7a", - "0x3f", - "0xe", - "0xd", - "0x2a", - "0x5f", - "0xb8", - "0xbb", - "0xaa", - "0xaa", - "0xb1", - "0x62", - "0xed", - "0xeb", - "0x4a", - "0x3d", - "0x8a", - "0xc0", - "0x52", - "0x43", - "0x4b", - "0x8f", - "0xf3", - "0x33", - "0x9b", - "0xf1", - "0x61", - "0xa3", - "0x8c", - "0x2c", - "0xb4", - "0x8c", - "0xaa", - "0x97", - "0xf8", - "0x8e", - "0x73", - "0xea", - "0xc5", - "0xbe", - "0xf5", - "0x84", - "0x77", - "0xab", - "0x6e", - "0x1b", - "0x68", - "0xbe", - "0xf2", - "0x1e", - "0x91", - "0x6b", - "0x47", - "0xc8", - "0x1b", - "0xeb", - "0x98", - "0x6d", - "0x94", - "0x49", - "0x2b", - "0xc7", - "0x1d", - "0x53", - "0x83", - "0xed", - "0x1b", - "0xe6", - "0xfd", - "0x1", - "0x8e", - "0x64", - "0x55", - "0xaa", - "0xda", - "0x21", - "0x31", - "0xb9", - "0xb5", - "0x11", - "0x54", - "0x39", - "0xf", - "0x3b", - "0x86", - "0x1", - "0x9a", - "0xd4", - "0xf8", - "0x53", - "0x61", - "0xae", - "0x83", - "0xcf", - "0x90", - "0x2c", - "0xa0", - "0x96", - "0xd6", - "0x1d", - "0xab", - "0xc9", - "0x3b", - "0x4e", - "0xa8", - "0x28", - "0xe6", - "0x72", - "0x11", - "0x5f", - "0xbb", - "0x44", - "0xd3", - "0x95", - "0x7", - "0x6", - "0x2b", - "0x10", - "0xaa", - "0xa3", - "0x33", - "0x69", - "0xf0", - "0x8", - "0x42", - "0xef", - "0xb7", - "0x83", - "0x41", - "0x7", - "0x77", - "0xd0", - "0x9a", - "0xcd", - "0x4b", - "0xd4", - "0x3e", - "0xd6", - "0x8a", - "0xb6", - "0xa4", - "0x1", - "0x2", - "0x5", - "0xf", - "0xe2", - "0x6a", - "0x26", - "0x93", - "0x0", - "0xf2", - "0xd0", - "0x35", - "0xf2", - "0x62", - "0x58", - "0x4c", - "0x41", - "0xd9", - "0x90", - "0x46", - "0xd2", - "0xa6", - "0x4e", - "0x13", - "0x5a", - "0xd1", - "0x67", - "0xfe", - "0x94", - "0x47", - "0x80", - "0x3a", - "0xb1", - "0x80", - "0x7c", - "0xce", - "0xce", - "0x31", - "0x72", - "0x25", - "0x23", - "0x36", - "0xc0", - "0x39", - "0xfa", - "0x47", - "0x1", - "0x81", - "0xed", - "0x94", - "0x25", - "0xe9", - "0xeb", - "0x2b", - "0x13", - "0xf", - "0xb4", - "0x4e", - "0x7a", - "0x26", - "0xe2", - "0x19", - "0x42", - "0xa7", - "0x20", - "0xec", - "0x45", - "0xf0", - "0x44", - "0x12", - "0x2d", - "0x9d", - "0x67", - "0xd6", - "0x6a", - "0x70", - "0xc5", - "0x1c", - "0x96", - "0x72", - "0x28", - "0xd9", - "0x3e", - "0x9b", - "0x53", - "0x0", - "0xa", - "0x13", - "0xa8", - "0x5f", - "0xd8", - "0x3b", - "0xab", - "0x6f", - "0x32", - "0x2a", - "0xdc", - "0x8e", - "0x3d", - "0x24", - "0x11", - "0xd7", - "0x7d", - "0x5c", - "0x1", - "0x3c", - "0x40", - "0x6c", - "0x87", - "0xfd", - "0x91", - "0xf1", - "0x15", - "0x39", - "0xdc", - "0xe0", - "0xd7", - "0xdc", - "0x54", - "0xe8", - "0x50", - "0xb5", - "0x7f", - "0x16", - "0x70", - "0x2c", - "0xf8", - "0xf2", - "0x49", - "0x3b", - "0x82", - "0x6f", - "0x7", - "0x1d", - "0x6a", - "0x2", - "0xe5", - "0x2d", - "0xe4", - "0xe0", - "0xf5", - "0xfb", - "0xbd", - "0x2e", - "0x60", - "0x7e", - "0xd3", - "0x5d", - "0x92", - "0xe6", - "0x87", - "0xce", - "0xea", - "0x8c", - "0xe8", - "0x2e", - "0x14", - "0x3", - "0x5c", - "0x57", - "0x84", - "0x49", - "0x10", - "0xf", - "0xee", - "0x44", - "0xd9", - "0xec", - "0x13", - "0x65", - "0x29", - "0x92", - "0x2d", - "0x4b", - "0x29", - "0x42", - "0xe8", - "0x7d", - "0xe6", - "0x6d", - "0x3b", - "0x60", - "0x8", - "0x77", - "0xeb", - "0x69", - "0x3d", - "0x25", - "0xde", - "0x1", - "0x3d", - "0x1e", - "0xe2", - "0x52", - "0x66", - "0x51", - "0xa2", - "0x7", - "0x68", - "0x61", - "0xce", - "0x14", - "0x41", - "0x65", - "0x84", - "0xb6", - "0xdf", - "0x22", - "0xad", - "0xba", - "0x36", - "0x51", - "0xe0", - "0x6d", - "0xb0", - "0x42", - "0x86", - "0x61", - "0x3a", - "0x6b", - "0xc9", - "0xdf", - "0x6e", - "0x4d", - "0xad", - "0x5c", - "0xde", - "0x89", - "0xc5", - "0x7c", - "0x5e", - "0x5a", - "0xbe", - "0x40", - "0x9a", - "0x5b", - "0xe5", - "0x47", - "0x5d", - "0xbf", - "0x8d", - "0x4", - "0x23", - "0x5d", - "0x68", - "0x5c", - "0x54", - "0x46", - "0x6b", - "0x91", - "0x9a", - "0xa0", - "0xff", - "0xf8", - "0xde", - "0x8f", - "0xdc", - "0x56", - "0xd", - "0xd4", - "0x2d", - "0x57", - "0x32", - "0x33", - "0xce", - "0x2b", - "0xd0", - "0x7d", - "0xa", - "0x51", - "0x4f", - "0xaf", - "0xeb", - "0x89", - "0xb8", - "0xc3", - "0xe0", - "0x32", - "0x61", - "0xd3", - "0xfa", - "0x16", - "0x82", - "0xbf", - "0xd4", - "0x48", - "0xb", - "0x98", - "0xbe", - "0x45", - "0x8f", - "0xcc", - "0x3c", - "0xa7", - "0x7", - "0x2b", - "0xfd", - "0xdd", - "0x3f", - "0x6a", - "0x92", - "0x41", - "0xec", - "0x3a", - "0x90", - "0xb5", - "0xa4", - "0xdd", - "0x4b", - "0x72", - "0x5a", - "0xa3", - "0x33", - "0x4e", - "0x5a", - "0xd0", - "0x50", - "0xa0", - "0xdc", - "0x2e", - "0xf4", - "0xf2", - "0x3", - "0xf8", - "0x55", - "0xeb", - "0x26", - "0x13", - "0xf3", - "0xc5", - "0x34", - "0xbf", - "0x4a", - "0xbb", - "0xbf", - "0x8a", - "0x3", - "0x14", - "0x48", - "0x19", - "0x5b", - "0xcb", - "0x28", - "0x1", - "0x56", - "0x45", - "0x6f", - "0x2", - "0x98", - "0x2e", - "0x93", - "0x99", - "0x76", - "0xef", - "0xb9", - "0x4e", - "0x69", - "0x21", - "0x2c", - "0x50", - "0x11", - "0xe0", - "0x18", - "0x7a", - "0x3b", - "0x94", - "0x4", - "0x65", - "0xa7", - "0x6", - "0x54", - "0xe4", - "0x37", - "0x29", - "0x7", - "0x3c", - "0x42", - "0x8b", - "0x48", - "0x4b", - "0xad", - "0x9a", - "0xfd", - "0xf5", - "0x55", - "0x5f", - "0x3", - "0x83", - "0xdb", - "0x3e", - "0x59", - "0x94", - "0x93", - "0x5a", - "0xc9", - "0x5d", - "0x60", - "0xf2", - "0xf6", - "0xdf", - "0x26", - "0xa0", - "0x20", - "0x6b", - "0x38", - "0xb", - "0xc1", - "0xe8", - "0xf9", - "0x58", - "0xfe", - "0x7", - "0xca", - "0x69", - "0x26", - "0xae", - "0x67", - "0x73", - "0x5", - "0x69", - "0x3", - "0x8", - "0xab", - "0x28", - "0xd5", - "0x3c", - "0xfa", - "0xe1", - "0xb9", - "0xa8", - "0xf3", - "0xab", - "0x39", - "0x77", - "0x12", - "0x5d", - "0x6c", - "0x15", - "0xde", - "0x39", - "0x90", - "0xe4", - "0x49", - "0x0", - "0x13", - "0x9f", - "0x43", - "0x45", - "0x6", - "0xe0", - "0x2b", - "0x7", - "0x90", - "0x73", - "0x26", - "0x95", - "0xee", - "0xa1", - "0x5a", - "0xb8", - "0x4e", - "0xe0", - "0x14", - "0xcb", - "0xb0", - "0x33", - "0xe4", - "0x69", - "0xbd", - "0xbc", - "0xa4", - "0xcd", - "0x32", - "0x1c", - "0xc8", - "0x21", - "0x66", - "0x5d", - "0x15", - "0xb", - "0xa4", - "0xaa", - "0x5", - "0x45", - "0x96", - "0x9f", - "0x3e", - "0x8c", - "0x75", - "0x84", - "0x7a", - "0xec", - "0xf9", - "0x65", - "0x9", - "0x30", - "0xe0", - "0xe5", - "0x32", - "0x5c", - "0x51", - "0x5a", - "0x65", - "0x40", - "0x19", - "0xe5", - "0xb7", - "0xfd", - "0x99", - "0x78", - "0xe9", - "0xa0", - "0xac", - "0xb", - "0x33", - "0x13", - "0xbb", - "0xf7", - "0x91", - "0x3e", - "0x73", - "0x1e", - "0xf", - "0xb2", - "0xbf", - "0x76", - "0x19", - "0x9b", - "0xef", - "0x3a", - "0xa", - "0x42", - "0x4c", - "0x3a", - "0x43", - "0x49", - "0x3f", - "0x19", - "0x27", - "0x42", - "0xd6", - "0xc7", - "0x4", - "0x95", - "0x3a", - "0xb5", - "0x13", - "0x4e", - "0x22", - "0x1b", - "0x4c", - "0x23", - "0xd1", - "0xe8", - "0xe4", - "0x6c", - "0x9b", - "0xcb", - "0x31", - "0x0", - "0x48", - "0x59", - "0x33", - "0x7b", - "0x20", - "0x2c", - "0xe3", - "0x34", - "0x95", - "0x3b", - "0x8a", - "0x34", - "0x53", - "0x79", - "0x16", - "0xc", - "0xf8", - "0xbc", - "0xaf", - "0xa6", - "0x22", - "0x84", - "0xe8", - "0xae", - "0xf4", - "0xff", - "0x69", - "0xa9", - "0x94", - "0xd2", - "0xf2", - "0xfd", - "0x79", - "0xf9", - "0xab", - "0x64", - "0x94", - "0x5e", - "0x17", - "0x1a", - "0x23", - "0xe", - "0xb6", - "0xde", - "0xc3", - "0x9d", - "0xa0", - "0xd2", - "0xb9", - "0x1a", - "0xc4", - "0x3d", - "0xd6", - "0x66", - "0x75", - "0x15", - "0x1f", - "0x3b", - "0xb7", - "0x91", - "0x44", - "0x17", - "0xb5", - "0x3e", - "0x40", - "0x3a", - "0xfd", - "0x47", - "0x3e", - "0x56", - "0xd7", - "0xce", - "0x65", - "0x11", - "0x9d", - "0xf1", - "0x5", - "0x6f", - "0xbf", - "0xd9", - "0x47", - "0x31", - "0x73", - "0x82", - "0xd8", - "0x52", - "0xc", - "0x58", - "0x28", - "0xb5", - "0xc8", - "0x4e", - "0xa2", - "0x71", - "0x5e", - "0x43", - "0x9", - "0x81", - "0xe8", - "0xb7", - "0x9e", - "0xa8", - "0x22", - "0x11", - "0x9", - "0x65", - "0x92", - "0x58", - "0x56", - "0x6d", - "0xbd", - "0xc2", - "0x4c", - "0x35", - "0x40", - "0x12", - "0xe2", - "0x1f", - "0x13", - "0x39", - "0xb5", - "0x4a", - "0x20", - "0xa0", - "0x7c", - "0xfc", - "0xfc", - "0x30", - "0x41", - "0xd3", - "0x83", - "0x14", - "0x87", - "0xa0", - "0x7", - "0x79", - "0x2c", - "0xcc", - "0x3e", - "0x61", - "0x5", - "0x7b", - "0x52", - "0x87", - "0x51", - "0xdd", - "0x24", - "0x71", - "0xf0", - "0x6", - "0xc2", - "0xa8", - "0xf1", - "0xb2", - "0x13", - "0xb6", - "0x24", - "0xb4", - "0x3a", - "0xe7", - "0x2b", - "0xa9", - "0x2", - "0x0", - "0xfe", - "0xc2", - "0x40", - "0x2e", - "0x30", - "0x68", - "0x64", - "0xd2", - "0x27", - "0x50", - "0x48", - "0xa3", - "0x80", - "0x3", - "0x58", - "0xb2", - "0xc0", - "0x77", - "0x89", - "0xa4", - "0x43", - "0xbf", - "0x68", - "0x38", - "0xb7", - "0x8d", - "0xdb", - "0xbe", - "0xc3", - "0x7b", - "0x25", - "0x30", - "0xdf", - "0x91", - "0xb2", - "0xb8", - "0xaf", - "0x4e", - "0x44", - "0x8f", - "0x4f", - "0xc7", - "0x1d", - "0x9d", - "0xeb", - "0x63", - "0x34", - "0x2a", - "0xa1", - "0x11", - "0x95", - "0x7e", - "0x55", - "0xe3", - "0xc2", - "0xa1", - "0xb8", - "0xdc", - "0xd6", - "0x3e", - "0x3f", - "0x2c", - "0x1e", - "0x81", - "0x64", - "0x2e", - "0x50", - "0x7c", - "0x0", - "0xf6", - "0xa", - "0xdf", - "0x21", - "0xc1", - "0xb7", - "0xfe", - "0x5", - "0x18", - "0x5a", - "0x42", - "0x6d", - "0xc2", - "0x3a", - "0x88", - "0xc1", - "0x16", - "0x8f", - "0xe3", - "0x7c", - "0x27", - "0xe8", - "0x29", - "0xec", - "0x6", - "0x94", - "0x50", - "0xe4", - "0x93", - "0x62", - "0x83", - "0x8e", - "0xba", - "0x4b", - "0x58", - "0xf7", - "0x4c", - "0xc6", - "0xa4", - "0x69", - "0x9", - "0x7", - "0x67", - "0x58", - "0x79", - "0x6", - "0xe", - "0x8c", - "0xba", - "0x60", - "0x5d", - "0xee", - "0xe", - "0xe9", - "0x47", - "0x5f", - "0xc5", - "0x31", - "0x6d", - "0x6a", - "0x46", - "0x90", - "0x8", - "0x50", - "0x30", - "0xb5", - "0xd7", - "0xa8", - "0xcf", - "0x78", - "0x9d", - "0x3d", - "0xd5", - "0xbc", - "0xfc", - "0xb", - "0xa5", - "0x40", - "0xab", - "0xdc", - "0x5", - "0xb7", - "0x33", - "0x6d", - "0x49", - "0x7", - "0x14", - "0xea", - "0x9", - "0xad", - "0x1b", - "0xce", - "0x86", - "0xbb", - "0x3f", - "0xac", - "0xd6", - "0x14", - "0xe3", - "0xc2", - "0x8b", - "0x8a", - "0xd0", - "0x66", - "0x6a", - "0xa1", - "0x36", - "0xc0", - "0x85", - "0x48", - "0xac", - "0xa3", - "0x73", - "0x61", - "0x2d", - "0x5c", - "0xa8", - "0x93", - "0xd4", - "0x19", - "0xc2", - "0x6b", - "0x1f", - "0xfa", - "0xda", - "0x7d", - "0x16", - "0xbb", - "0x92", - "0x9d", - "0x60", - "0xdb", - "0x4d", - "0x5e", - "0x95", - "0x55", - "0x27", - "0xc1", - "0xfe", - "0xa2", - "0x6d", - "0x51", - "0x1b", - "0x95", - "0xf1", - "0x1a", - "0x5d", - "0xe4", - "0xd3", - "0xa5", - "0xd1", - "0x54", - "0x4", - "0xfb", - "0xa5", - "0xda", - "0xc", - "0x1d", - "0x78", - "0xc", - "0x9d", - "0x59", - "0xa2", - "0xf2", - "0x4", - "0x6b", - "0x14", - "0x2b", - "0x3f", - "0xea", - "0x4", - "0x8e", - "0x70", - "0xfb", - "0x6c", - "0x5d", - "0x61", - "0x99", - "0x68", - "0x69", - "0x33", - "0x8d", - "0xc4", - "0xd2", - "0xa6", - "0x6a", - "0x99", - "0x98", - "0x4f", - "0xa1", - "0xb8", - "0x26", - "0x2a", - "0xef", - "0xbb", - "0xd7", - "0x2d", - "0xb5", - "0xcb", - "0xd7", - "0xea", - "0x68", - "0x9", - "0x40", - "0x30", - "0xc", - "0xdb", - "0x94", - "0x19", - "0x67", - "0xe4", - "0x5c", - "0x8c", - "0x19", - "0x2e", - "0xed", - "0xd3", - "0x4", - "0x9a", - "0x62", - "0xbf", - "0xf9", - "0x99", - "0xa5", - "0x89", - "0x5f", - "0x75", - "0x48", - "0x6c", - "0x39", - "0x9b", - "0xe6", - "0xeb", - "0xc5", - "0x37", - "0x83", - "0x10", - "0xf7", - "0xc6", - "0x4", - "0x1a", - "0x95", - "0x6b", - "0xb8", - "0xbc", - "0xc8", - "0x60", - "0x36", - "0x7", - "0x9b", - "0x9a", - "0x54", - "0x70", - "0xb9", - "0xf6", - "0x52", - "0x53", - "0xdb", - "0x3d", - "0xd4", - "0x2d", - "0x1d", - "0xfd", - "0x0", - "0x32", - "0x84", - "0xd8", - "0x60", - "0xc3", - "0x30", - "0xe5", - "0xd5", - "0x93", - "0xba", - "0x47", - "0x82", - "0xd5", - "0x94", - "0x64", - "0x80", - "0xd2", - "0x12", - "0x81", - "0x7c", - "0x79", - "0x89", - "0x49", - "0x2a", - "0xa0", - "0x4d", - "0xe6", - "0x88", - "0xd2", - "0xcb", - "0xe3", - "0xc4", - "0xfe", - "0xd8", - "0x45", - "0xe0", - "0xc1", - "0x16", - "0xe0", - "0x81", - "0x66", - "0x3e", - "0x61", - "0xf3", - "0x82", - "0x21", - "0xc0", - "0x99", - "0x2e", - "0x54", - "0x39", - "0x2f", - "0xd7", - "0xce", - "0x41", - "0x6f", - "0xb4", - "0x61", - "0xe0", - "0x8c", - "0x20", - "0x72", - "0x72", - "0xc2", - "0x9d", - "0xc3", - "0x85", - "0x86", - "0x47", - "0x94", - "0x1c", - "0xa8", - "0xc5", - "0x51", - "0x4f", - "0x87", - "0xa6", - "0xdb", - "0x82", - "0x7f", - "0x5e", - "0xc0", - "0x45", - "0x7e", - "0x1c", - "0xdb", - "0x68", - "0x22", - "0xcd", - "0xbf", - "0x38", - "0x6", - "0x2c", - "0x1d", - "0xda", - "0xaa", - "0xe9", - "0x8c", - "0x9d", - "0x14", - "0x89", - "0x9f", - "0x9", - "0xd6", - "0x7e", - "0x16", - "0xa5", - "0x98", - "0xb6", - "0xaa", - "0xb2", - "0xff", - "0xa1", - "0x1c", - "0x93", - "0x70", - "0x4b", - "0x99", - "0x45", - "0x64", - "0x45", - "0x54", - "0xf9", - "0x9f", - "0x63", - "0xba", - "0xaf", - "0x71", - "0xa0", - "0x2", - "0x4f", - "0xb7", - "0xeb", - "0x4e", - "0xd2", - "0x37", - "0x6c", - "0x36", - "0x6e", - "0x8", - "0x33", - "0xa2", - "0x4b", - "0xc0", - "0xe", - "0x90", - "0x9", - "0x87", - "0x3d", - "0x78", - "0x54", - "0x10", - "0xcb", - "0xe4", - "0x8a", - "0x75", - "0xc2", - "0x1", - "0xf5", - "0xec", - "0x92", - "0xd0", - "0x94", - "0x1c", - "0x9c", - "0x19", - "0x1c", - "0xf8", - "0x7f", - "0x73", - "0xf9", - "0x4", - "0x8e", - "0x15", - "0xc3", - "0xc1", - "0x76", - "0x10", - "0xdb", - "0x18", - "0xe1", - "0x9f", - "0x3", - "0x3c", - "0xc3", - "0xe9", - "0x2a", - "0x6a", - "0x41", - "0xf1", - "0x91", - "0x15", - "0x6d", - "0xdf", - "0xb0", - "0x25", - "0xb3", - "0x90", - "0xf9", - "0x3d", - "0xfb", - "0x65", - "0xa9", - "0xa8", - "0x5", - "0xb0", - "0xf", - "0xc9", - "0xd2", - "0x2e", - "0x35", - "0xb2", - "0x4a", - "0x6a", - "0xdd", - "0xd9", - "0x86", - "0xa8", - "0xac", - "0x73", - "0x46", - "0x1f", - "0xd0", - "0x5a", - "0x44", - "0xb", - "0xe5", - "0x3f", - "0x9c", - "0x74", - "0x39", - "0x9f", - "0xbe", - "0x33", - "0xdc", - "0x70", - "0x8f", - "0x94", - "0xce", - "0xf", - "0x4", - "0x81", - "0x9c", - "0xc1", - "0x4c", - "0xee", - "0xb2", - "0x8e", - "0xeb", - "0x2f", - "0x73", - "0x88", - "0xf9", - "0xdc", - "0x89", - "0x56", - "0xed", - "0xd3", - "0x74", - "0x8", - "0xf7", - "0x39", - "0x23", - "0xb4", - "0x17", - "0x4c", - "0x4d", - "0x52", - "0x35", - "0xb1", - "0xb3", - "0x6c", - "0x84", - "0x20", - "0xe7", - "0x19", - "0xe6", - "0x99", - "0x4c", - "0x1d", - "0xbd", - "0x92", - "0x59", - "0xde", - "0x93", - "0x76", - "0xec", - "0x7f", - "0x71", - "0x1", - "0xd9", - "0xf0", - "0xb6", - "0xd1", - "0xc5", - "0x23", - "0x99", - "0xc", - "0xa1", - "0x4c", - "0x13", - "0x91", - "0x64", - "0x46", - "0xa1", - "0x48", - "0x91", - "0xb6", - "0xba", - "0x6e", - "0xec", - "0x35", - "0x21", - "0x54", - "0x8d", - "0xa0", - "0x48", - "0xe1", - "0x78", - "0x1d", - "0x3b", - "0x4c", - "0xa0", - "0x49", - "0xe0", - "0x21", - "0xb6", - "0x95", - "0xce", - "0xcd", - "0x66", - "0x70", - "0xae", - "0xcd", - "0xb3", - "0x6f", - "0x7d", - "0xab", - "0x7", - "0x41", - "0x83", - "0xde", - "0x3c", - "0x75", - "0x82", - "0x31", - "0xe9", - "0x7", - "0x4e", - "0x9", - "0xa5", - "0xf8", - "0x8", - "0xdd", - "0xc6", - "0x79", - "0x6", - "0x54", - "0x3a", - "0x40", - "0xe3", - "0x48", - "0x71", - "0xf9", - "0x95", - "0xda", - "0xb5", - "0xb0", - "0x34", - "0x71", - "0x36", - "0xfd", - "0x66", - "0x92", - "0xa9", - "0x71", - "0x36", - "0xe2", - "0x66", - "0x35", - "0x77", - "0x94", - "0x9a", - "0x30", - "0x7", - "0x8d", - "0xad", - "0x3f", - "0x9", - "0x2e", - "0x1f", - "0x71", - "0x85", - "0x6", - "0x6", - "0x73", - "0xf3", - "0xb4", - "0xe8", - "0xf", - "0xb2", - "0xd5", - "0x84", - "0xb6", - "0x3f", - "0xd8", - "0xe8", - "0x1a", - "0x4c", - "0xa1", - "0x37", - "0x7f", - "0x23", - "0xb0", - "0x56", - "0x67", - "0x89", - "0xd1", - "0x5b", - "0x9a", - "0x20", - "0x42", - "0x2", - "0x2c", - "0x31", - "0xdc", - "0x76", - "0xb0", - "0xef", - "0xd7", - "0x12", - "0x71", - "0x1", - "0x60", - "0x63", - "0x9a", - "0x75", - "0x13", - "0x9f", - "0xd9", - "0xa0", - "0xdc", - "0x23", - "0xfe", - "0x22", - "0x9", - "0x7", - "0xee", - "0xb3", - "0x26", - "0x6c", - "0x40", - "0x7d", - "0xa3", - "0x41", - "0x4f", - "0xae", - "0x54", - "0x8b", - "0x45", - "0x4e", - "0xad", - "0x5c", - "0x1d", - "0x76", - "0xdc", - "0x44", - "0x3", - "0xc", - "0x85", - "0xeb", - "0x68", - "0x43", - "0xea", - "0xec", - "0x7e", - "0xa9", - "0x86", - "0xf7", - "0x7c", - "0xcc", - "0xbf", - "0x36", - "0xa6", - "0x34", - "0x26", - "0x99", - "0xd3", - "0x44", - "0x72", - "0xd0", - "0xf0", - "0xe", - "0xf7", - "0x2b", - "0x32", - "0xb1", - "0x60", - "0x9b", - "0x6e", - "0x9b", - "0x2c", - "0x5c", - "0xec", - "0xad", - "0x56", - "0x74", - "0xc7", - "0x7", - "0x5", - "0x3c", - "0xe", - "0x80", - "0x64", - "0x0", - "0x42", - "0xc8", - "0x44", - "0xe4", - "0x84", - "0x2e", - "0xc2", - "0x66", - "0x85", - "0x91", - "0xa", - "0x92", - "0x3a", - "0x63", - "0xd7", - "0xf4", - "0x3b", - "0xb9", - "0x56", - "0x9a", - "0x6e", - "0x4a", - "0x58", - "0xb7", - "0x62", - "0xe8", - "0x97", - "0xa2", - "0x4b", - "0x69", - "0xa8", - "0x27", - "0x28", - "0x18", - "0x4e", - "0xad", - "0xc2", - "0x8", - "0x91", - "0x2", - "0xba", - "0xe1", - "0xdd", - "0xac", - "0xb0", - "0x44", - "0x48", - "0x5f", - "0xca", - "0xdd", - "0xc3", - "0x20", - "0x51", - "0xa3", - "0x0", - "0xa", - "0x45", - "0xed", - "0xe0", - "0x33", - "0xca", - "0xed", - "0x2a", - "0xbc", - "0x4c", - "0x2c", - "0x40", - "0xf8", - "0xc3", - "0x89", - "0xf1", - "0x36", - "0xc2", - "0xad", - "0x80", - "0x16", - "0x63", - "0xea", - "0xd4", - "0xe9", - "0x94", - "0xd9", - "0xa2", - "0x18", - "0x86", - "0x82", - "0x92", - "0x9c", - "0xb6", - "0x31", - "0x1c", - "0xf2", - "0x9c", - "0x45", - "0x70", - "0xbf", - "0xec", - "0x41", - "0x49", - "0x95", - "0xd2", - "0xe7", - "0x43", - "0x2b", - "0x55", - "0x1b", - "0x22", - "0xcb", - "0x12", - "0x9e", - "0xfd", - "0x79", - "0x52", - "0x61", - "0x94", - "0xdd", - "0x39", - "0x7e", - "0x41", - "0x1d", - "0xb2", - "0xa3", - "0x68", - "0x75", - "0xbb", - "0x7e", - "0xa8", - "0x4c", - "0x67", - "0x91", - "0x19", - "0x30", - "0xb6", - "0xcf", - "0x1b", - "0xc4", - "0x2c", - "0x45", - "0x2", - "0x22", - "0x8a", - "0x80", - "0x64", - "0x62", - "0xbb", - "0x2f", - "0xe7", - "0x53", - "0x46", - "0xd0", - "0x91", - "0x80", - "0xca", - "0x3a", - "0xc6", - "0x29", - "0x3d", - "0x54", - "0x6d", - "0xf0", - "0xe5", - "0xae", - "0xd3", - "0x97", - "0x88", - "0xaf", - "0xb6", - "0x36", - "0xbf", - "0x86", - "0xb8", - "0x11", - "0x7a", - "0xd", - "0x48", - "0x80", - "0xda", - "0x31", - "0x4c", - "0x39", - "0x54", - "0x79", - "0xea", - "0xc3", - "0x85", - "0x99", - "0xa7", - "0x43", - "0xcd", - "0x83", - "0xf", - "0xe8", - "0xb7", - "0x6d", - "0x63", - "0xdf", - "0xf", - "0x70", - "0x19", - "0x5e", - "0x7", - "0x54", - "0x1f", - "0xcd", - "0x7b", - "0x30", - "0xbb", - "0x4d", - "0xa", - "0x24", - "0xec", - "0x83", - "0xe5", - "0x40", - "0x3f", - "0x29", - "0xa4", - "0x49", - "0xa7", - "0xff", - "0x8d", - "0xa8", - "0x9d", - "0xff", - "0xcc", - "0x3b", - "0x16", - "0xee", - "0xad", - "0x80", - "0x90", - "0xa3", - "0xd5", - "0xcf", - "0x1e", - "0x36", - "0x79", - "0x39", - "0xc9", - "0xee", - "0x76", - "0xd6", - "0xcd", - "0xe", - "0x6c", - "0x80", - "0xdb", - "0x41", - "0xba", - "0xdb", - "0x6a", - "0x9b", - "0xfe", - "0xe2", - "0xb9", - "0xd3", - "0x7a", - "0x13", - "0xc", - "0xcd", - "0x98", - "0xb9", - "0xed", - "0xe3", - "0x16", - "0x1d", - "0xa3", - "0xaf", - "0xf3", - "0xbf", - "0x34", - "0x29", - "0x50", - "0xa6", - "0xda", - "0x6d", - "0x68", - "0x48", - "0x5d", - "0x70", - "0xea", - "0x10", - "0x99", - "0xa2", - "0xac", - "0xdd", - "0xe5", - "0x2d", - "0xcd", - "0xdb", - "0x35", - "0x84", - "0x9e", - "0x29", - "0x42", - "0xc3", - "0xd0", - "0x94", - "0xba", - "0x9c", - "0xe1", - "0x48", - "0xeb", - "0xae", - "0x13", - "0x93", - "0x75", - "0x1e", - "0x82", - "0x82", - "0x2a", - "0x5d", - "0x5b", - "0x8f", - "0x88", - "0xcd", - "0x4a", - "0x22", - "0x88", - "0x84", - "0x2", - "0x4b", - "0xf9", - "0xfc", - "0x13", - "0x1c", - "0x53", - "0x15", - "0xa1", - "0x2e", - "0x3f", - "0x28", - "0xf1", - "0x43", - "0xe1", - "0x73", - "0x54", - "0x15", - "0xc9", - "0x3b", - "0xd8", - "0xdc", - "0x25", - "0x92", - "0x1e", - "0x14", - "0xc4", - "0x7", - "0x7f", - "0xa9", - "0xa7", - "0xe6", - "0xb8", - "0x32", - "0x4a", - "0x81", - "0x25", - "0xda", - "0x46", - "0xa5", - "0x23", - "0x92", - "0xf3", - "0x65", - "0x5d", - "0xd6", - "0x28", - "0x37", - "0x61", - "0x81", - "0xaf", - "0x3c", - "0x20", - "0x52", - "0x66", - "0x17", - "0x59", - "0x93", - "0xe0", - "0xfe", - "0x1e", - "0x14", - "0xd3", - "0x60", - "0xa2", - "0x45", - "0x45", - "0xd9", - "0x2a", - "0x5c", - "0xcf", - "0x92", - "0x37", - "0xb7", - "0xc4", - "0xc2", - "0x47", - "0x7a", - "0x13", - "0x1f", - "0x64", - "0xfe", - "0xbe", - "0xf0", - "0x71", - "0x84", - "0x38", - "0x17", - "0xbb", - "0x2f", - "0x43", - "0x66", - "0x8d", - "0x93", - "0xc4", - "0x2f", - "0xd8", - "0xe8", - "0x6d", - "0xa5", - "0x95", - "0xf", - "0x8d", - "0x3b", - "0xab", - "0x6d", - "0x2c", - "0x69", - "0x47", - "0x3a", - "0x3d", - "0x7e", - "0x14", - "0xfb", - "0x92", - "0x32", - "0x7", - "0xb5", - "0xb1", - "0xb5", - "0x43", - "0x70", - "0x46", - "0x42", - "0x39", - "0xca", - "0x68", - "0x52", - "0x9a", - "0x75", - "0xae", - "0x53", - "0x28", - "0x7c", - "0xa7", - "0xa2", - "0xe1", - "0x65", - "0xb5", - "0xd7", - "0xf8", - "0xf0", - "0xf8", - "0xb5", - "0x85", - "0xd6", - "0x6b", - "0x2f", - "0x22", - "0xc2", - "0xc9", - "0xf9", - "0xe", - "0x57", - "0x4a", - "0x88", - "0x28", - "0xb6", - "0x86", - "0xc8", - "0x4", - "0x59", - "0x47", - "0xec", - "0x6c", - "0x9a", - "0x14", - "0xa3", - "0xf7", - "0x14", - "0xfc", - "0x1f", - "0x36", - "0x7a", - "0xac", - "0x46", - "0x87", - "0x86", - "0xd5", - "0x68", - "0xd8", - "0x22", - "0x2", - "0xc2", - "0x3e", - "0x63", - "0x71", - "0xd5", - "0xf6", - "0xe7", - "0x9e", - "0x58", - "0xd0", - "0x62", - "0x99", - "0xea", - "0x9c", - "0x69", - "0x91", - "0xe3", - "0x7d", - "0xc1", - "0x6c", - "0xed", - "0x25", - "0x15", - "0x79", - "0xf1", - "0xe0", - "0xf1", - "0x30", - "0xb1", - "0x36", - "0x69", - "0x20", - "0xb8", - "0xc", - "0x78", - "0x4b", - "0x9b", - "0xc0", - "0x32", - "0xf9", - "0xb0", - "0x26", - "0x11", - "0x72", - "0x66", - "0x15", - "0xcc", - "0x6f", - "0x96", - "0xd7", - "0x4d", - "0x4b", - "0x57", - "0xcf", - "0x7", - "0x36", - "0x51", - "0x8e", - "0x4", - "0xbe", - "0xa9", - "0xa9", - "0xdd", - "0xad", - "0x41", - "0x79", - "0xac", - "0xa8", - "0xfb", - "0x9", - "0x1d", - "0xf9", - "0x5", - "0x65", - "0xa2", - "0x9d", - "0x63", - "0x9f", - "0xc2", - "0x2e", - "0x23", - "0xa1", - "0xb3", - "0xb1", - "0x38", - "0x47", - "0xb1", - "0x80", - "0x74", - "0xa5", - "0xcd", - "0x82", - "0x44", - "0xb", - "0xad", - "0x95", - "0x53", - "0x63", - "0xe1", - "0xc8", - "0x97", - "0x81", - "0xb2", - "0xc5", - "0xc0", - "0xef", - "0x5", - "0x33", - "0x8d", - "0x1b", - "0xcf", - "0xd1", - "0x3a", - "0x56", - "0x93", - "0xe2", - "0x96", - "0xe", - "0x95", - "0x15", - "0xa5", - "0xef", - "0x70", - "0x26", - "0xe3", - "0x15", - "0x82", - "0xaa", - "0x89", - "0x10", - "0xf5", - "0x43", - "0xc8", - "0xe6", - "0x7d", - "0xcb", - "0xe4", - "0x9", - "0x60", - "0x8d", - "0x2e", - "0x92", - "0x6c", - "0x6b", - "0x2f", - "0x63", - "0x12", - "0xd0", - "0xab", - "0x72", - "0x85", - "0xf4", - "0xfa", - "0x27", - "0xf7", - "0x7a", - "0xce", - "0xa9", - "0x77", - "0xc7", - "0xa1", - "0xbf", - "0x5d", - "0xcf", - "0x1b", - "0x21", - "0xa9", - "0xcd", - "0x84", - "0x32", - "0xf3", - "0xba", - "0x45", - "0x8e", - "0x58", - "0xee", - "0xbe", - "0x59", - "0x9b", - "0xa6", - "0xb", - "0xb5", - "0x9a", - "0x9f", - "0xf9", - "0x8f", - "0x5e", - "0x7f", - "0x5", - "0xe", - "0xda", - "0xc4", - "0x31", - "0x2e", - "0x84", - "0x8a", - "0x74", - "0xe", - "0x85", - "0xd7", - "0x86", - "0xde", - "0xd5", - "0x93", - "0x6f", - "0x2", - "0x74", - "0x51", - "0xb", - "0xf7", - "0x4e", - "0x5d", - "0x80", - "0x3", - "0x86", - "0x95", - "0xa0", - "0x63", - "0x90", - "0x25", - "0x4a", - "0xb7", - "0x6a", - "0x55", - "0x39", - "0x2a", - "0xf5", - "0xb3", - "0xd9", - "0x6", - "0xdd", - "0xe6", - "0x6b", - "0x6e", - "0x28", - "0x25", - "0xce", - "0x3c", - "0xe6", - "0x95", - "0x9", - "0x64", - "0x7b", - "0x9c", - "0x19", - "0x1e", - "0x86", - "0x2e", - "0xbb", - "0xfa", - "0xf", - "0xbb", - "0x50", - "0x39", - "0xf0", - "0x60", - "0xc2", - "0xe2", - "0x5c", - "0x5d", - "0xbf", - "0x42", - "0xf5", - "0xef", - "0x9f", - "0x5b", - "0xa2", - "0xa4", - "0xff", - "0x3b", - "0x32", - "0x1f", - "0x88", - "0x6d", - "0x8d", - "0x6", - "0x89", - "0xf5", - "0x61", - "0xd2", - "0x15", - "0x64", - "0xd3", - "0xcb", - "0x84", - "0xe6", - "0x72", - "0xfe", - "0x20", - "0x60", - "0xd3", - "0x53", - "0x5e", - "0xc3", - "0x3", - "0xd4", - "0x11", - "0xdd", - "0x42", - "0x39", - "0x3c", - "0x3", - "0x4f", - "0xce", - "0xbd", - "0xdf", - "0x24", - "0xb8", - "0x5f", - "0xee", - "0x3", - "0xd0", - "0x8d", - "0x74", - "0x9e", - "0x22", - "0xb5", - "0x14", - "0xd1", - "0xb7", - "0x73", - "0xf1", - "0x8f", - "0x47", - "0x4b", - "0x8b", - "0x5e", - "0x0", - "0x7a", - "0xa3", - "0xba", - "0x35", - "0x95", - "0xcc", - "0x5", - "0xa3", - "0xc", - "0xc", - "0x38", - "0xe6", - "0x19", - "0xbe", - "0x59", - "0xbb", - "0xf7", - "0x71", - "0x1b", - "0x95", - "0x28", - "0x9b", - "0x58", - "0x0", - "0xc0", - "0xc5", - "0x7", - "0xc9", - "0x8a", - "0xae", - "0x27", - "0xb9", - "0x7b", - "0xc0", - "0xdc", - "0x9f", - "0xdc", - "0x66", - "0xf2", - "0xd0", - "0x8a", - "0xe0", - "0x39", - "0xed", - "0x29", - "0x18", - "0x28", - "0x87", - "0x8d", - "0x17", - "0x69", - "0xca", - "0xf9", - "0xe9", - "0x7e", - "0xf8", - "0xd8", - "0xda", - "0x83", - "0xbd", - "0x6f", - "0xcb", - "0xf8", - "0x99", - "0x44", - "0x52", - "0x75", - "0xbe", - "0x70", - "0xb5", - "0x3c", - "0x2e", - "0x8c", - "0x45", - "0x36", - "0xc3", - "0x5", - "0x5c", - "0x52", - "0x9e", - "0x24", - "0x97", - "0x45", - "0xc7", - "0xa2", - "0x27", - "0x55", - "0xbc", - "0x16", - "0x6d", - "0xb5", - "0xea", - "0xcd", - "0x4c", - "0x44", - "0xfe", - "0x6d", - "0x2c", - "0xd2", - "0x96", - "0x5d", - "0xe3", - "0x59", - "0x5a", - "0xeb", - "0x48", - "0xe1", - "0x62", - "0xc7", - "0xd4", - "0xb5", - "0x71", - "0xfd", - "0x5a", - "0x22", - "0xb", - "0xd0", - "0xb8", - "0xf2", - "0xf1", - "0x9b", - "0x86", - "0x88", - "0x4e", - "0xf0", - "0x8f", - "0x24", - "0x6a", - "0x79", - "0x57", - "0x7b", - "0x0", - "0xaf", - "0x88", - "0x1f", - "0xf1", - "0x9a", - "0xf2", - "0x28", - "0x99", - "0xbc", - "0x32", - "0xd0", - "0xed", - "0x14", - "0x3c", - "0x2", - "0x73", - "0xb1", - "0x4c", - "0x5f", - "0x9d", - "0x8f", - "0x90", - "0x1e", - "0xe8", - "0xb8", - "0x3b", - "0x99", - "0xeb", - "0xc6", - "0xa", - "0x91", - "0xf2", - "0xa7", - "0xd9", - "0x19", - "0x15", - "0x1a", - "0x41", - "0x87", - "0x7", - "0xb9", - "0xcc", - "0xf5", - "0x14", - "0x1b", - "0x2d", - "0xd6", - "0xc4", - "0x63", - "0x37", - "0xd1", - "0x8b", - "0xd1", - "0x86", - "0x4d", - "0x7a", - "0x87", - "0x9e", - "0x4", - "0x16", - "0x60", - "0xaa", - "0x6", - "0x52", - "0xc1", - "0x48", - "0x8c", - "0xc6", - "0x71", - "0x78", - "0x1c", - "0x8e", - "0xf3", - "0xb5", - "0x95", - "0x77", - "0x11", - "0x59", - "0x4a", - "0x8f", - "0x54", - "0xd2", - "0xc3", - "0x4a", - "0xdf", - "0x6b", - "0xf3", - "0xa8", - "0x60", - "0x5c", - "0x74", - "0xfc", - "0x4c", - "0xc", - "0xb9", - "0x6b", - "0x9d", - "0x98", - "0x62", - "0x38", - "0x66", - "0x12", - "0xfb", - "0x40", - "0x15", - "0xeb", - "0x46", - "0xdd", - "0xb1", - "0x66", - "0xd", - "0xba", - "0x8a", - "0x90", - "0x52", - "0xca", - "0xc3", - "0xc5", - "0xec", - "0x32", - "0xe7", - "0xfb", - "0xc6", - "0x15", - "0x28", - "0x25", - "0xd1", - "0xfc", - "0xf5", - "0x25", - "0x1", - "0x64", - "0x3d", - "0x94", - "0x27", - "0xcf", - "0xcb", - "0x8e", - "0x7b", - "0x37", - "0x94", - "0x1f", - "0xc3", - "0xfb", - "0x15", - "0x40", - "0x8a", - "0xc1", - "0x4b", - "0x61", - "0x49", - "0xe", - "0x7f", - "0x1d", - "0x1", - "0xfd", - "0x58", - "0xcc", - "0x92", - "0xfe", - "0x5", - "0xcc", - "0x90", - "0x82", - "0x27", - "0x24", - "0xe5", - "0xc3", - "0xb9", - "0x36", - "0xfe", - "0x2b", - "0x7d", - "0x8f", - "0xb9", - "0xa5", - "0xa5", - "0x6e", - "0xbe", - "0xe2", - "0xf", - "0x5e", - "0xc0", - "0x29", - "0x85", - "0x1d", - "0x1c", - "0xb7", - "0x4f", - "0x4", - "0x65", - "0x44", - "0xf4", - "0x46", - "0xae", - "0x4f", - "0x1d", - "0x90", - "0x5", - "0xc", - "0xd9", - "0xec", - "0x13", - "0x4c", - "0xb5", - "0xa0", - "0x57", - "0xf", - "0xfb", - "0xd8", - "0x4d", - "0xd2", - "0x82", - "0x1b", - "0x61", - "0xb3", - "0x4b", - "0x1b", - "0xe9", - "0x2a", - "0x20", - "0x35", - "0x5", - "0xec", - "0xd0", - "0xad", - "0x1f", - "0xbd", - "0x66", - "0x83", - "0x3d", - "0xb1", - "0x50", - "0x4d", - "0xec", - "0x27", - "0xb", - "0x27", - "0xfa", - "0xc7", - "0xf4", - "0x13", - "0xf7", - "0xda", - "0x30", - "0x3d", - "0x9d", - "0x92", - "0xe9", - "0x57", - "0xe5", - "0xf7", - "0x3f", - "0x66", - "0xa9", - "0x6c", - "0xb", - "0xba", - "0x7b", - "0x19", - "0x7c", - "0x17", - "0xcf", - "0x30", - "0x71", - "0x98", - "0xce", - "0x9a", - "0x34", - "0x6", - "0xc2", - "0x97", - "0x65", - "0x9e", - "0xf8", - "0x5d", - "0x40", - "0x72", - "0xab", - "0xad", - "0xee", - "0x9d", - "0xc9", - "0x2", - "0x5f", - "0x2", - "0x12", - "0x20", - "0x17", - "0xbf", - "0x41", - "0xef", - "0xc3", - "0x1d", - "0x68", - "0x45", - "0x3b", - "0xe6", - "0x27", - "0x61", - "0x80", - "0xa0", - "0xf7", - "0x4e", - "0x9a", - "0xc2", - "0xaf", - "0xb2", - "0x74", - "0x56", - "0x72", - "0x0", - "0x24", - "0x9b", - "0xb", - "0x6f", - "0xd6", - "0x27", - "0x7e", - "0x6", - "0x4", - "0x72", - "0x26", - "0xd9", - "0x43", - "0x3e", - "0x99", - "0x7e", - "0x21", - "0xd2", - "0x8e", - "0x57", - "0x3c", - "0xd5", - "0x22", - "0xe", - "0x97", - "0x6", - "0xdb", - "0x4f", - "0xa7", - "0x4f", - "0x88", - "0xa0", - "0xa0", - "0xec", - "0xd7", - "0xe0", - "0x96", - "0xe3", - "0x67", - "0xcc", - "0x1a", - "0x70", - "0x5", - "0x1", - "0x45", - "0x19", - "0x99", - "0xc8", - "0x9e", - "0x93", - "0xd4", - "0xd", - "0x82", - "0x29", - "0x5e", - "0xe5", - "0x34", - "0x37", - "0x66", - "0x6", - "0xd0", - "0xdd", - "0x55", - "0xf4", - "0x93", - "0x5f", - "0x39", - "0x4c", - "0x81", - "0xf1", - "0x68", - "0x3", - "0x1d", - "0xb7", - "0x4b", - "0xc1", - "0xe4", - "0x9a", - "0x21", - "0x20", - "0x95", - "0xaf", - "0x5c", - "0x38", - "0xcc", - "0xd3", - "0x6d", - "0x1d", - "0xca", - "0xbd", - "0x4f", - "0xe8", - "0xf1", - "0x86", - "0x3e", - "0xb2", - "0xe4", - "0x3b", - "0x99", - "0x3a", - "0xf6", - "0x6c", - "0x16", - "0x3e", - "0x5f", - "0xd9", - "0x8a", - "0xec", - "0xa5", - "0xae", - "0x1c", - "0x7d", - "0xe2", - "0xc", - "0x7f", - "0xd4", - "0x29", - "0x20", - "0x2e", - "0x5a", - "0x41", - "0x40", - "0xfa", - "0xf6", - "0x4", - "0xa3", - "0x9b", - "0xdd", - "0xaa", - "0x7b", - "0x12", - "0x44", - "0x1c", - "0x3b", - "0x38", - "0xb6", - "0xf9", - "0x7b", - "0x11", - "0xe0", - "0xc3", - "0x8a", - "0xc4", - "0xbb", - "0x92", - "0x66", - "0x40", - "0x27", - "0xa2", - "0x17", - "0x6a", - "0x55", - "0xfd", - "0xe2", - "0x27", - "0xf8", - "0x34", - "0x53", - "0x80", - "0x69", - "0x3f", - "0x29", - "0xc7", - "0x6", - "0x4a", - "0x3", - "0x4c", - "0xad", - "0xec", - "0x4e", - "0x47", - "0x77", - "0x79", - "0x5a", - "0xb2", - "0x37", - "0xbc", - "0xb5", - "0xcb", - "0x4f", - "0xea", - "0x40", - "0xc6", - "0xe6", - "0xca", - "0xe", - "0x4f", - "0xd5", - "0xd", - "0x45", - "0xa4", - "0xa1", - "0xff", - "0xea", - "0xa8", - "0x46", - "0x2d", - "0x9a", - "0x77", - "0x1", - "0xc7", - "0x5a", - "0xe8", - "0x89", - "0xbd", - "0xff", - "0x10", - "0xbb", - "0x13", - "0x21", - "0x80", - "0x88", - "0x2", - "0x5b", - "0x92", - "0x1a", - "0x3a", - "0x87", - "0x61", - "0x47", - "0xca", - "0x9a", - "0x22", - "0xf7", - "0xd9", - "0xe8", - "0xb0", - "0xf0", - "0x80", - "0x93", - "0x82", - "0x18", - "0x76", - "0xd5", - "0x31", - "0x6a", - "0x3d", - "0xbe", - "0x39", - "0xf4", - "0x30", - "0x39", - "0x6a", - "0xd0", - "0xa1", - "0x7d", - "0xcf", - "0x5a", - "0xc8", - "0x78", - "0x90", - "0xa7", - "0xf2", - "0x9", - "0x8b", - "0x5b", - "0xc6", - "0x4c", - "0xc1", - "0x47", - "0x87", - "0x1", - "0x51", - "0xba", - "0xed", - "0x83", - "0x0", - "0x57", - "0x97", - "0x15", - "0x42", - "0xc9", - "0x52", - "0x76", - "0xee", - "0x31", - "0xd5", - "0xcb", - "0x59", - "0xf9", - "0x8c", - "0x5c", - "0x67", - "0xfc", - "0x69", - "0xd3", - "0x74", - "0x95", - "0xa1", - "0x27", - "0x59", - "0x63", - "0x97", - "0x6b", - "0x96", - "0xe6", - "0x4e", - "0x38", - "0xdf", - "0xa9", - "0x10", - "0x4c", - "0xcc", - "0xc7", - "0x94", - "0xff", - "0xfd", - "0x8e", - "0x7f", - "0xb0", - "0x31", - "0x4b", - "0xfe", - "0x55", - "0xd1", - "0xc", - "0xac", - "0x39", - "0x3", - "0x93", - "0x3a", - "0x6c", - "0x40", - "0x2f", - "0x65", - "0x8b", - "0xbb", - "0x42", - "0xd8", - "0x4c", - "0xef", - "0x0", - "0xca", - "0x7d", - "0x51", - "0xa3", - "0x2c", - "0x27", - "0xc1", - "0xc5", - "0x91", - "0x41", - "0x9b", - "0x21", - "0xdb", - "0xc3", - "0x96", - "0x68", - "0x88", - "0x72", - "0x21", - "0x86", - "0xb0", - "0x1e", - "0x7c", - "0x56", - "0x3a", - "0x2e", - "0xe5", - "0x61", - "0x50", - "0x1d", - "0xd1", - "0x54", - "0x8f", - "0xd1", - "0x50", - "0xe4", - "0x6", - "0x88", - "0x79", - "0x22", - "0xf0", - "0xbb", - "0x8", - "0xc0", - "0x86", - "0x29", - "0xe2", - "0x88", - "0xed", - "0xd7", - "0xe2", - "0x2d", - "0x80", - "0xcb", - "0x52", - "0x9e", - "0x89", - "0xaa", - "0xd7", - "0x9a", - "0x31", - "0xb4", - "0xa4", - "0xe0", - "0xe1", - "0xb6", - "0x14", - "0x63", - "0x3e", - "0x9d", - "0xe8", - "0x4f", - "0x6d", - "0x97", - "0xe8", - "0xd6", - "0xb0", - "0x4d", - "0xc2", - "0x5d", - "0x6a", - "0xd7", - "0x69", - "0xee", - "0x7", - "0xd6", - "0x32", - "0x9f", - "0x8b", - "0x54", - "0x7a", - "0xb8", - "0x9", - "0x52", - "0x90", - "0x2a", - "0x26", - "0x98", - "0x3c", - "0xa9", - "0x37", - "0x72", - "0xe7", - "0x6f", - "0x38", - "0xd9", - "0x11", - "0x92", - "0xbd", - "0x9a", - "0xb8", - "0x83", - "0x8c", - "0xb7", - "0xc4", - "0xe0", - "0xbe", - "0x16", - "0x68", - "0x80", - "0xa7", - "0x93", - "0xfd", - "0x17", - "0x63", - "0x59", - "0x45", - "0xb4", - "0x5e", - "0x64", - "0xfc", - "0x98", - "0xcc", - "0xba", - "0xfa", - "0x9b", - "0x32", - "0xa5", - "0xfd", - "0x89", - "0x6", - "0x91", - "0xe1", - "0x93", - "0x1c", - "0x38", - "0x27", - "0xf6", - "0xc2", - "0x24", - "0x25", - "0x30", - "0xb7", - "0xe8", - "0x4b", - "0xba", - "0x56", - "0xcf", - "0xfc", - "0x85", - "0xb9", - "0xca", - "0x1", - "0x5b", - "0x50", - "0xa", - "0x27", - "0xaf", - "0x9f", - "0xed", - "0x97", - "0x40", - "0x91", - "0xcd", - "0xe1", - "0x99", - "0xfb", - "0x72", - "0x5a", - "0x61", - "0xec", - "0xa1", - "0x19", - "0x86", - "0x17", - "0x6e", - "0x15", - "0xa8", - "0x58", - "0xa", - "0x63", - "0x5a", - "0x7", - "0xb7", - "0xa0", - "0x6a", - "0x4f", - "0xa6", - "0xa", - "0x23", - "0x4f", - "0xf1", - "0xc2", - "0x48", - "0x5f", - "0x69", - "0x90", - "0x36", - "0xd4", - "0x3e", - "0xbb", - "0x54", - "0xf2", - "0xce", - "0x80", - "0xc1", - "0x2c", - "0x5", - "0x67", - "0xee", - "0x88", - "0x3", - "0x6", - "0x11", - "0xcf", - "0xd4", - "0x4f", - "0xa4", - "0x36", - "0x22", - "0x6", - "0xe", - "0xab", - "0xc2", - "0xab", - "0xb4", - "0x4d", - "0xcf", - "0xcf", - "0x3", - "0x29", - "0x2c", - "0xc1", - "0x6f", - "0x22", - "0xcc", - "0x13", - "0xbf", - "0xa6", - "0xd1", - "0x0", - "0xb7", - "0x0", - "0x95", - "0xb0", - "0xc1", - "0x30", - "0x4f", - "0xa6", - "0xd3", - "0xac", - "0x1e", - "0xa4", - "0xd9", - "0xed", - "0x7", - "0xcf", - "0x6f", - "0x6f", - "0x74", - "0xa", - "0x75", - "0x5b", - "0x31", - "0xf", - "0xb0", - "0xe1", - "0x7c", - "0x69", - "0x60", - "0x60", - "0x62", - "0xcb", - "0x6e", - "0xad", - "0x4c", - "0x57", - "0x65", - "0xe8", - "0x29", - "0xa4", - "0xde", - "0x81", - "0xf9", - "0xdf", - "0x8e", - "0xba", - "0x3f", - "0xea", - "0xd3", - "0x12", - "0xd7", - "0xb7", - "0xd2", - "0xb8", - "0xa7", - "0xbb", - "0x0", - "0x7f", - "0x70", - "0xb8", - "0x7f", - "0x8e", - "0xf1", - "0x63", - "0x60", - "0x12", - "0x1b", - "0x50", - "0x6a", - "0x57", - "0xd9", - "0x5", - "0x28", - "0xc3", - "0x37", - "0x8d", - "0xce", - "0xb2", - "0xfe", - "0x35", - "0x2d", - "0x4c", - "0xf7", - "0x6d", - "0xbf", - "0x2", - "0x6f", - "0xe1", - "0x1e", - "0xf4", - "0xf0", - "0x42", - "0x6e", - "0x76", - "0xcd", - "0x52", - "0x12", - "0xe7", - "0xf", - "0x57", - "0x3f", - "0x85", - "0xbe", - "0x4c", - "0x39", - "0x2", - "0x25", - "0x3a", - "0xbf", - "0xde", - "0xd3", - "0x1c", - "0xf5", - "0xce", - "0x34", - "0xa1", - "0xeb", - "0xb4", - "0xc5", - "0x6", - "0xb2", - "0x5c", - "0xd5", - "0xa3", - "0x6c", - "0x2f", - "0x50", - "0xee", - "0x20", - "0xb6", - "0xeb", - "0x54", - "0x2d", - "0xde", - "0xec", - "0xb4", - "0xe9", - "0x20", - "0x9b", - "0x93", - "0x4b", - "0xc", - "0x34", - "0xcd", - "0xa3", - "0xff", - "0x6f", - "0x6d", - "0x8a", - "0xb4", - "0x90", - "0x31", - "0xc9", - "0xa2", - "0x25", - "0x2f", - "0x6", - "0x1", - "0xd9", - "0x3", - "0xba", - "0x57", - "0xf8", - "0x88", - "0x49", - "0xae", - "0x6", - "0x14", - "0xe9", - "0xba", - "0xbd", - "0xc3", - "0x81", - "0xde", - "0xe4", - "0x33", - "0xc0", - "0xbf", - "0x9", - "0x64", - "0x6a", - "0xb", - "0x1a", - "0x25", - "0xb8", - "0x58", - "0x5a", - "0x64", - "0x6", - "0x34", - "0x4", - "0xb5", - "0x64", - "0xee", - "0xdd", - "0xd0", - "0xe1", - "0x7", - "0x63", - "0x50", - "0xc3", - "0x5e", - "0x4a", - "0x71", - "0x42", - "0xbc", - "0xd0", - "0xa6", - "0x9e", - "0xc7", - "0x8f", - "0xc3", - "0xc5", - "0x80", - "0x61", - "0xd9", - "0xfb", - "0xe4", - "0xe6", - "0x3c", - "0x26", - "0x23", - "0xa", - "0x37", - "0x12", - "0x31", - "0x2d", - "0xc", - "0xfd", - "0x62", - "0x48", - "0x36", - "0x60", - "0x25", - "0xe2", - "0x38", - "0x4", - "0xa2", - "0xeb", - "0x2f", - "0xea", - "0x60", - "0x1e", - "0x39", - "0x15", - "0x86", - "0x95", - "0x3c", - "0x2c", - "0x99", - "0x82", - "0xc1", - "0xfd", - "0x1b", - "0x8e", - "0x60", - "0xcc", - "0xc0", - "0xb8", - "0x66", - "0x56", - "0xc6", - "0x8c", - "0x99", - "0xbf", - "0xd0", - "0xed", - "0x23", - "0x75", - "0x8b", - "0x7e", - "0x6d", - "0x58", - "0xeb", - "0xfd", - "0x8", - "0x89", - "0xf", - "0x86", - "0x19", - "0x2d", - "0x73", - "0xa0", - "0xd8", - "0xe2", - "0x26", - "0xfa", - "0xd7", - "0x80", - "0x56", - "0xa3", - "0x2c", - "0x3c", - "0x82", - "0x4f", - "0x85", - "0xad", - "0x8a", - "0x74", - "0x46", - "0xe8", - "0xa5", - "0x4a", - "0x53", - "0xa3", - "0x7a", - "0x91", - "0x80", - "0x18", - "0x4e", - "0x1b", - "0x4", - "0x2", - "0xad", - "0x84", - "0x6c", - "0x3", - "0xc2", - "0x87", - "0x8", - "0xba", - "0x45", - "0x35", - "0x32", - "0x25", - "0x40", - "0xdd", - "0x87", - "0xcb", - "0x41", - "0x2c", - "0x62", - "0x5c", - "0xc0", - "0x64", - "0x80", - "0x36", - "0xca", - "0xf3", - "0xfb", - "0xee", - "0x7f", - "0xc6", - "0x11", - "0x45", - "0x3f", - "0xc4", - "0x20", - "0x57", - "0xee", - "0xe5", - "0xb1", - "0x1a", - "0x46", - "0x5b", - "0x46", - "0x8b", - "0xe6", - "0x66", - "0x8c", - "0x6b", - "0x11", - "0x88", - "0x5", - "0x7a", - "0x68", - "0x3a", - "0xad", - "0xae", - "0x5d", - "0x59", - "0x1c", - "0x1", - "0x2d", - "0xfe", - "0xd6", - "0xf8", - "0x18", - "0x58", - "0x1d", - "0xc9", - "0x88", - "0x20", - "0xf3", - "0xf7", - "0x1e", - "0x31", - "0x60", - "0x33", - "0xc0", - "0x3c", - "0x27", - "0x94", - "0x4b", - "0xbe", - "0x31", - "0x8e", - "0x88", - "0x48", - "0xc5", - "0x47", - "0xdc", - "0xc8", - "0x62", - "0x9c", - "0x65", - "0x46", - "0xd5", - "0x52", - "0xce", - "0xd6", - "0xfb", - "0xbd", - "0xf3", - "0x88", - "0xb5", - "0x71", - "0x2e", - "0x1b", - "0x4f", - "0xc3", - "0x18", - "0xb7", - "0xc", - "0x3d", - "0xf5", - "0x1e", - "0xbc", - "0xc0", - "0xb", - "0x1", - "0x15", - "0x4c", - "0xfb", - "0xd7", - "0x8f", - "0xe6", - "0x3e", - "0x1f", - "0xe0", - "0xd8", - "0x64", - "0x76", - "0x9", - "0x6b", - "0x54", - "0x31", - "0x2", - "0xaf", - "0xa8", - "0xca", - "0x5f", - "0xe1", - "0x81", - "0x21", - "0x81", - "0x74", - "0x9e", - "0xb3", - "0xd4", - "0xb3", - "0x5a", - "0x80", - "0x3a", - "0xb6", - "0x8e", - "0x75", - "0x41", - "0xff", - "0x5b", - "0x64", - "0xa8", - "0x29", - "0x80", - "0xa7", - "0x20", - "0x20", - "0xac", - "0x5e", - "0x78", - "0x7e", - "0x9a", - "0x6b", - "0x57", - "0x25", - "0xd7", - "0x5f", - "0xa2", - "0xb2", - "0x90", - "0xd3", - "0x1a", - "0x90", - "0xb0", - "0x3c", - "0xbf", - "0xea", - "0x15", - "0xec", - "0x93", - "0x7d", - "0x9f", - "0x60", - "0x92", - "0x42", - "0x61", - "0x33", - "0x51", - "0x85", - "0x1f", - "0x50", - "0x11", - "0x95", - "0x70", - "0xe2", - "0x77", - "0xc4", - "0x77", - "0xf4", - "0x8b", - "0x1", - "0x3c", - "0x95", - "0x88", - "0x14", - "0x94", - "0x4c", - "0x45", - "0x22", - "0x17", - "0x7c", - "0x77", - "0xde", - "0xf1", - "0xdf", - "0x6b", - "0x16", - "0x45", - "0x41", - "0xb9", - "0x8b", - "0x11", - "0x23", - "0x4", - "0xbf", - "0x95", - "0x8d", - "0x3d", - "0xa7", - "0x80", - "0x6", - "0xe", - "0x51", - "0x97", - "0xd9", - "0x9", - "0xa9", - "0xa", - "0x97", - "0xee", - "0xe8", - "0x8f", - "0xe2", - "0x20", - "0x10", - "0x14", - "0xb4", - "0x44", - "0x2c", - "0xbc", - "0x15", - "0x38", - "0xb9", - "0x61", - "0x4c", - "0xfb", - "0x79", - "0x12", - "0xbd", - "0xf0", - "0xa4", - "0x59", - "0xf9", - "0xed", - "0x72", - "0xe1", - "0x29", - "0xb8", - "0x95", - "0x3b", - "0x6", - "0xd0", - "0x55", - "0x8b", - "0xdb", - "0x96", - "0xa0", - "0xe5", - "0x55", - "0x53", - "0xad", - "0xaa", - "0x3e", - "0x11", - "0xa", - "0x55", - "0x4a", - "0x71", - "0x41", - "0xcd", - "0xf4", - "0x59", - "0x7b", - "0x15", - "0x5d", - "0xb6", - "0x21", - "0x5c", - "0xfb", - "0x3a", - "0x73", - "0xd2", - "0xc8", - "0x75", - "0x60", - "0x2d", - "0x78", - "0xb8", - "0xaf", - "0xa", - "0x95", - "0x43", - "0x29", - "0x46", - "0x78", - "0x12", - "0xd2", - "0xe6", - "0x4a", - "0x68", - "0xf1", - "0xe0", - "0x19", - "0xf7", - "0xdd", - "0x6", - "0x8b", - "0x65", - "0xc", - "0x91", - "0x2d", - "0xfa", - "0xb6", - "0xbe", - "0x14", - "0xe8", - "0xa6", - "0x93", - "0xc2", - "0x48", - "0x59", - "0x51", - "0x3a", - "0xc6", - "0x80", - "0x35", - "0x37", - "0xa", - "0xcb", - "0x23", - "0xe9", - "0x22", - "0xeb", - "0x82", - "0xfd", - "0xc2", - "0x26", - "0xf6", - "0xde", - "0x16", - "0xeb", - "0x8b", - "0xd2", - "0x75", - "0x5c", - "0x12", - "0x1a", - "0xe9", - "0xcd", - "0x8c", - "0x19", - "0x83", - "0x53", - "0xe0", - "0xf9", - "0x87", - "0x45", - "0x7", - "0xd9", - "0xf1", - "0x87", - "0x2f", - "0x9f", - "0xb2", - "0xf8", - "0xe9", - "0x25", - "0x92", - "0x72", - "0x89", - "0x7e", - "0xdc", - "0x23", - "0x2c", - "0x42", - "0xfd", - "0x24", - "0x61", - "0x55", - "0xec", - "0xac", - "0x9c", - "0xbb", - "0xe6", - "0xd7", - "0xf0", - "0xcf", - "0x3c", - "0xb9", - "0xf4", - "0xc9", - "0xcc", - "0x0", - "0x14", - "0xba", - "0x71", - "0x6", - "0xaa", - "0x30", - "0x41", - "0xa4", - "0xee", - "0x3f", - "0x69", - "0x34", - "0x27", - "0xac", - "0x60", - "0xec", - "0x24", - "0x79", - "0x5d", - "0x47", - "0x52", - "0x3", - "0xbf", - "0x7f", - "0xf4", - "0x6e", - "0xea", - "0x29", - "0x2d", - "0xc0", - "0xda", - "0x0", - "0xd4", - "0x72", - "0x7c", - "0xbb", - "0xf0", - "0xd8", - "0xc1", - "0x6b", - "0xe", - "0x5f", - "0x6a", - "0x2e", - "0x74", - "0xf3", - "0xb3", - "0x7b", - "0xe2", - "0xae", - "0x12", - "0x25", - "0x9a", - "0x0", - "0xc0", - "0xc6", - "0x27", - "0x27", - "0x3e", - "0x20", - "0x30", - "0x17", - "0x2c", - "0x22", - "0x2e", - "0x86", - "0x62", - "0xae", - "0xee", - "0x57", - "0xf9", - "0xd0", - "0xe6", - "0x97", - "0x78", - "0xf9", - "0x50", - "0x24", - "0x7c", - "0xc7", - "0xa6", - "0x88", - "0x95", - "0xe3", - "0xdf", - "0x20", - "0xe9", - "0xb7", - "0x87", - "0xbd", - "0x92", - "0x6c", - "0xff", - "0xdb", - "0x2b", - "0x81", - "0x98", - "0x32", - "0x52", - "0xc2", - "0x1e", - "0x38", - "0x1f", - "0x62", - "0x22", - "0xaf", - "0xe7", - "0xdd", - "0x83", - "0x57", - "0x1e", - "0x24", - "0xd0", - "0xd", - "0x27", - "0x4d", - "0xf7", - "0x48", - "0xb7", - "0x85", - "0x3", - "0xa4", - "0x1b", - "0x6d", - "0xf9", - "0x83", - "0x15", - "0x41", - "0x96", - "0xa7", - "0xa9", - "0x67", - "0xca", - "0x84", - "0x16", - "0xbd", - "0x87", - "0x80", - "0x95", - "0x9b", - "0x40", - "0x47", - "0x89", - "0xaf", - "0x85", - "0xa5", - "0xda", - "0xf0", - "0x19", - "0x95", - "0xa8", - "0x86", - "0x2f", - "0x70", - "0xa3", - "0x5d", - "0x50", - "0x9", - "0x43", - "0x7f", - "0x8f", - "0xeb", - "0x74", - "0x8f", - "0x9a", - "0x68", - "0xdc", - "0xa0", - "0xc", - "0xad", - "0x33", - "0x76", - "0xb8", - "0x6b", - "0xfa", - "0x70", - "0x78", - "0x78", - "0xa9", - "0x8f", - "0xd7", - "0x15", - "0xb2", - "0xe8", - "0xc9", - "0xb2", - "0xcb", - "0xda", - "0x60", - "0x66", - "0x29", - "0x9d", - "0x7c", - "0x72", - "0x17", - "0xd9", - "0x17", - "0xda", - "0x85", - "0xd5", - "0xdd", - "0xfa", - "0x18", - "0x91", - "0xcf", - "0xa2", - "0x60", - "0x40", - "0x98", - "0xcb", - "0x8c", - "0xe6", - "0x6e", - "0xc0", - "0xf4", - "0xde", - "0x3", - "0xdb", - "0x33", - "0x7a", - "0x14", - "0x7d", - "0x11", - "0x1a", - "0x18", - "0x10", - "0xd6", - "0xad", - "0x97", - "0x8f", - "0x59", - "0xdc", - "0xc4", - "0xd1", - "0x79", - "0x27", - "0x61", - "0x1", - "0x3", - "0xa2", - "0x96", - "0x58", - "0x49", - "0xcf", - "0xbf", - "0xfe", - "0x5a", - "0x85", - "0xf3", - "0xb1", - "0x96", - "0xc1", - "0xe", - "0xa7", - "0x5", - "0x23", - "0xe5", - "0x31", - "0xa", - "0x57", - "0x5f", - "0xd8", - "0x67", - "0xdb", - "0x8d", - "0xb8", - "0x14", - "0x4d", - "0x3d", - "0xa4", - "0x80", - "0x5b", - "0x7f", - "0x10", - "0x8", - "0xaf", - "0x54", - "0x0", - "0x82", - "0xc1", - "0x84", - "0x48", - "0x37", - "0x15", - "0x50", - "0xb1", - "0x7d", - "0x11", - "0x76", - "0xa8", - "0xc4", - "0xaf", - "0x22", - "0xe3", - "0x95", - "0xd2", - "0x9d", - "0x37", - "0xc0", - "0xba", - "0xce", - "0x91", - "0x84", - "0xab", - "0x65", - "0x5c", - "0x21", - "0x4a", - "0xe3", - "0x97", - "0xa", - "0x56", - "0x16", - "0x18", - "0xd", - "0xb0", - "0xdb", - "0x24", - "0xd9", - "0x5b", - "0xc", - "0xd2", - "0xa5", - "0x13", - "0xd5", - "0xdf", - "0x93", - "0xeb", - "0xf7", - "0xc9", - "0x6f", - "0x30", - "0xf2", - "0xb6", - "0x26", - "0xdb", - "0x12", - "0x41", - "0x9b", - "0x78", - "0xae", - "0x8d", - "0x8a", - "0xdc", - "0xed", - "0x6b", - "0x2c", - "0x14", - "0xf8", - "0x63", - "0x49", - "0xda", - "0x88", - "0x6", - "0x98", - "0x70", - "0x65", - "0x25", - "0x67", - "0xd3", - "0x73", - "0x10", - "0xab", - "0x95", - "0x14", - "0x27", - "0x58", - "0x15", - "0xd2", - "0xb0", - "0x8a", - "0xbb", - "0xaf", - "0xbe", - "0x82", - "0x7e", - "0x1d", - "0x73", - "0xe4", - "0x31", - "0x41", - "0x5", - "0xce", - "0x60", - "0x12", - "0x1e", - "0x0", - "0xd8", - "0x96", - "0xd9", - "0x70", - "0xb5", - "0x21", - "0x15", - "0x47", - "0xc5", - "0x2d", - "0x8c", - "0xfa", - "0x7b", - "0x34", - "0x43", - "0x83", - "0x2e", - "0xc8", - "0xb2", - "0x8f", - "0x92", - "0x89", - "0x5", - "0xa3", - "0x85", - "0x1", - "0xd1", - "0xe", - "0xf8", - "0x5b", - "0xc8", - "0xa", - "0x35", - "0xab", - "0x21", - "0x69", - "0x6b", - "0x94", - "0x30", - "0x59", - "0xb3", - "0x92", - "0x92", - "0x2b", - "0xd", - "0xb2", - "0x94", - "0x91", - "0xf7", - "0x48", - "0xa4", - "0xd8", - "0xf7", - "0x4c", - "0x95", - "0x91", - "0x2d", - "0xbe", - "0x24", - "0xcd", - "0x13", - "0xb7", - "0xc4", - "0xc9", - "0x77", - "0xb0", - "0x1a", - "0x79", - "0xa6", - "0xe1", - "0xb1", - "0xe9", - "0x91", - "0x81", - "0xfa", - "0xca", - "0x20", - "0x5e", - "0x28", - "0x7d", - "0xbf", - "0x93", - "0x5f", - "0x83", - "0xf8", - "0xbd", - "0x21", - "0x22", - "0x30", - "0xef", - "0x75", - "0xcf", - "0x1c", - "0x82", - "0xb3", - "0x95", - "0xa4", - "0xae", - "0x1b", - "0x11", - "0x61", - "0x3b", - "0xeb", - "0x13", - "0x4d", - "0x77", - "0x4c", - "0x96", - "0x95", - "0x9d", - "0x0", - "0xf5", - "0x8c", - "0x70", - "0x2e", - "0x2", - "0x80", - "0xb", - "0x94", - "0x8e", - "0x0", - "0x21", - "0xdb", - "0xf9", - "0x19", - "0x17", - "0xdc", - "0xb8", - "0xa0", - "0x93", - "0x20", - "0xa6", - "0x6a", - "0x38", - "0xa0", - "0x4c", - "0x41", - "0x79", - "0x80", - "0x30", - "0x11", - "0xc7", - "0x5c", - "0x1d", - "0xdf", - "0x97", - "0x7f", - "0x91", - "0x10", - "0x36", - "0x72", - "0x1", - "0x90", - "0x2", - "0xa1", - "0x38", - "0xc8", - "0x3a", - "0x42", - "0x1d", - "0x61", - "0x9f", - "0x94", - "0xc7", - "0xd6", - "0xd6", - "0xab", - "0x9d", - "0x44", - "0xf2", - "0xf2", - "0xfc", - "0xc1", - "0x3e", - "0x3", - "0x2a", - "0x8b", - "0x17", - "0x52", - "0x1f", - "0x9f", - "0x73", - "0x3a", - "0x3c", - "0xf3", - "0x2d", - "0x73", - "0x3f", - "0xa3", - "0x49", - "0xb0", - "0xaa", - "0x2b", - "0xa9", - "0x69", - "0xf", - "0x31", - "0x27", - "0x23", - "0xd8", - "0xef", - "0xaa", - "0x48", - "0x3", - "0x4d", - "0x5e", - "0x66", - "0xd6", - "0x49", - "0x19", - "0xab", - "0xda", - "0x98", - "0xe9", - "0x9a", - "0x26", - "0xd5", - "0x1e", - "0x20", - "0xd0", - "0xcf", - "0x61", - "0x47", - "0x7d", - "0x6c", - "0xfe", - "0x6d", - "0xd1", - "0x6c", - "0xcd", - "0xf", - "0x50", - "0xa", - "0x24", - "0x14", - "0xf1", - "0x89", - "0x2b", - "0xb8", - "0x6c", - "0x94", - "0xbd", - "0x2e", - "0xbf", - "0xba", - "0x1d", - "0xc4", - "0x73", - "0xad", - "0x6c", - "0xdc", - "0x68", - "0x7c", - "0x5b", - "0x10", - "0xf9", - "0x67", - "0x29", - "0xce", - "0xb7", - "0x4", - "0x84", - "0xe0", - "0x39", - "0x8a", - "0x27", - "0xd9", - "0xf9", - "0x43", - "0x2b", - "0x11", - "0x4d", - "0x2c", - "0xa7", - "0xb", - "0x91", - "0xf4", - "0x54", - "0x9a", - "0x3c", - "0x60", - "0x56", - "0x97", - "0xb5", - "0xfb", - "0x2a", - "0xa1", - "0x78", - "0xee", - "0x77", - "0xb9", - "0xa1", - "0x3b", - "0x49", - "0xa4", - "0x5", - "0x32", - "0x7b", - "0x18", - "0x16", - "0xd5", - "0x60", - "0xd8", - "0x3d", - "0x84", - "0xd6", - "0xf1", - "0x13", - "0xf4", - "0xab", - "0xd5", - "0x15", - "0x9d", - "0x3c", - "0x0", - "0x37", - "0x6a", - "0x8d", - "0xed", - "0xb8", - "0xbd", - "0xd0", - "0x80", - "0x56", - "0x21", - "0x64", - "0xff", - "0x94", - "0x18", - "0x98", - "0xa4", - "0x1", - "0xc3", - "0xaa", - "0xaa", - "0x72", - "0xbc", - "0xf7", - "0x5b", - "0x22", - "0x62", - "0xc9", - "0xaa", - "0xfd", - "0x1", - "0x65", - "0xd7", - "0xf5", - "0x62", - "0xfa", - "0x2f", - "0xcc", - "0x25", - "0xa0", - "0xd6", - "0x26", - "0x3b", - "0x4a", - "0x21", - "0x90", - "0x80", - "0xae", - "0x84", - "0xd9", - "0x59", - "0xe4", - "0x25", - "0xf3", - "0x8f", - "0x10", - "0x4", - "0x16", - "0x67", - "0x34", - "0x64", - "0x4c", - "0x70", - "0xcd", - "0x3e", - "0x2b", - "0xa4", - "0xe2", - "0xc0", - "0xfa", - "0x48", - "0x71", - "0x83", - "0x74", - "0x3", - "0xf1", - "0xd4", - "0x53", - "0xdb", - "0xde", - "0x72", - "0xe7", - "0xb4", - "0xb0", - "0x45", - "0x91", - "0x6c", - "0x83", - "0xb8", - "0x38", - "0x78", - "0x71", - "0x79", - "0x42", - "0x8b", - "0xe3", - "0x84", - "0xfc", - "0xac", - "0x83", - "0x90", - "0x29", - "0xa2", - "0x69", - "0x6", - "0x6e", - "0xd2", - "0xb6", - "0xb3", - "0x10", - "0xe7", - "0x70", - "0xe6", - "0xdc", - "0xdb", - "0x56", - "0xc2", - "0x2b", - "0x59", - "0xad", - "0x3", - "0x2b", - "0xe4", - "0x84", - "0x96", - "0x44", - "0xbf", - "0x67", - "0x1e", - "0xcc", - "0x1e", - "0xc6", - "0x5e", - "0x5b", - "0x95", - "0xe4", - "0xad", - "0x1", - "0x60", - "0x86", - "0x23", - "0x54", - "0x9", - "0x84", - "0x1e", - "0x1d", - "0x1a", - "0xd7", - "0x62", - "0x53", - "0x5e", - "0xb5", - "0x5f", - "0x52", - "0x81", - "0x78", - "0xee", - "0x3d", - "0x86", - "0x83", - "0xe3", - "0xad", - "0x94", - "0x9e", - "0x42", - "0xc0", - "0xc1", - "0xb2", - "0x1d", - "0x72", - "0x3e", - "0x2b", - "0x5e", - "0x69", - "0xb4", - "0x52", - "0xf1", - "0x92", - "0x8", - "0x8", - "0x6b", - "0xc5", - "0x38", - "0x3e", - "0x90", - "0xd4", - "0xfe", - "0xc3", - "0x48", - "0xab", - "0xbf", - "0xe5", - "0x4f", - "0x42", - "0x6", - "0x97", - "0xea", - "0x46", - "0xa0", - "0xea", - "0x81", - "0x5", - "0x86", - "0xe3", - "0x34", - "0x96", - "0x31", - "0x7e", - "0x3f", - "0xf8", - "0x86", - "0xbc", - "0xb4", - "0x90", - "0xc3", - "0x3", - "0x22", - "0xf6", - "0xd7", - "0x1e", - "0xe0", - "0xee", - "0x25", - "0x3d", - "0x3c", - "0x61", - "0x76", - "0x35", - "0x50", - "0x5", - "0x27", - "0xfe", - "0x37", - "0xa3", - "0xbd", - "0xee", - "0x45", - "0x3a", - "0xb5", - "0x90", - "0xfc", - "0x36", - "0xd9", - "0xc0", - "0xcf", - "0xe4", - "0x8a", - "0xb5", - "0xda", - "0xe3", - "0xcd", - "0x20", - "0xb1", - "0x22", - "0x66", - "0x62", - "0x83", - "0x77", - "0xda", - "0xcf", - "0xcb", - "0x96", - "0x62", - "0x3", - "0x5d", - "0x22", - "0xda", - "0x29", - "0x4b", - "0x49", - "0xf0", - "0xe7", - "0x7a", - "0x14", - "0xf1", - "0xad", - "0xc0", - "0xe4", - "0x93", - "0xa9", - "0xc7", - "0xad", - "0xc7", - "0x19", - "0x6", - "0x51", - "0x22", - "0xc0", - "0x89", - "0x3b", - "0xfc", - "0x39", - "0x3", - "0x9c", - "0x23", - "0xcd", - "0xd0", - "0xac", - "0x51", - "0xf5", - "0x5d", - "0xc7", - "0xe2", - "0x2", - "0x25", - "0x37", - "0x2e", - "0xb8", - "0x97", - "0x28", - "0xb9", - "0x20", - "0x67", - "0x96", - "0xf2", - "0x94", - "0x4c", - "0x1e", - "0x6a", - "0xb6", - "0x7f", - "0x4e", - "0xf4", - "0x9c", - "0xed", - "0x6c", - "0x89", - "0x82", - "0x35", - "0xec", - "0x21", - "0x5e", - "0xdb", - "0x56", - "0x2e", - "0xb1", - "0xb5", - "0x1f", - "0x9b", - "0x1", - "0x11", - "0xb8", - "0x42", - "0x45", - "0x91", - "0x61", - "0x98", - "0xee", - "0x96", - "0xd4", - "0x36", - "0x98", - "0x72", - "0x8f", - "0x74", - "0x5d", - "0xf1", - "0x83", - "0xf3", - "0xbd", - "0xa1", - "0x7e", - "0xef", - "0x22", - "0xef", - "0x7", - "0x71", - "0x68", - "0x53", - "0x9e", - "0xb3", - "0x1b", - "0x2d", - "0x3d", - "0xae", - "0x60", - "0x23", - "0xab", - "0xdd", - "0xbc", - "0xeb", - "0x4a", - "0xb8", - "0x99", - "0x75", - "0x99", - "0x4d", - "0xfb", - "0x3e", - "0x26", - "0xf2", - "0xd8", - "0x34", - "0xad", - "0x39", - "0x5b", - "0x82", - "0x34", - "0x1e", - "0xd2", - "0xfa", - "0x56", - "0x2e", - "0xdc", - "0x27", - "0xc5", - "0x38", - "0xe7", - "0x6e", - "0x69", - "0x92", - "0x52", - "0xca", - "0x34", - "0x7", - "0x3b", - "0x14", - "0x16", - "0xa5", - "0x7b", - "0x65", - "0x21", - "0x1f", - "0x46", - "0x25", - "0x46", - "0x3c", - "0x4d", - "0xe4", - "0x1", - "0xc2", - "0x29", - "0xcf", - "0xb1", - "0x34", - "0xe9", - "0x3c", - "0x6d", - "0xe4", - "0xb9", - "0x98", - "0x37", - "0xdc", - "0xd6", - "0x53", - "0xd3", - "0x39", - "0x8a", - "0x36", - "0xa7", - "0x9f", - "0xf6", - "0xd6", - "0x5", - "0x17", - "0x7", - "0x52", - "0x45", - "0x8d", - "0xe2", - "0xe5", - "0x59", - "0x3d", - "0x64", - "0xc8", - "0x6e", - "0xe0", - "0x19", - "0xdf", - "0xba", - "0xc1", - "0xa7", - "0x1c", - "0x26", - "0xe", - "0xc5", - "0xb6", - "0x6f", - "0x82", - "0xcf", - "0xdd", - "0x39", - "0xe1", - "0x43", - "0x9a", - "0x76", - "0x90", - "0xac", - "0x53", - "0x38", - "0xc8", - "0x55", - "0xe4", - "0x4", - "0x7b", - "0x70", - "0x14", - "0x27", - "0xde", - "0x9f", - "0xf2", - "0x45", - "0x33", - "0xc9", - "0x9a", - "0xd3", - "0xa5", - "0x7a", - "0x18", - "0xff", - "0x72", - "0x43", - "0xd7", - "0x53", - "0xa2", - "0x10", - "0x10", - "0x1a", - "0xfb", - "0xce", - "0x56", - "0x26", - "0x6e", - "0x14", - "0xf6", - "0x4c", - "0x2d", - "0x4b", - "0x8b", - "0x7", - "0x8", - "0xe5", - "0xc6", - "0x63", - "0xf5", - "0xfd", - "0xb6", - "0xbb", - "0xf2", - "0xd4", - "0xad", - "0x56", - "0x1c", - "0x17", - "0xc2", - "0xa1", - "0x6b", - "0xb8", - "0x8e", - "0x95", - "0x68", - "0xe9", - "0x58", - "0xa7", - "0x0", - "0xbd", - "0x75", - "0x45", - "0x1a", - "0x4d", - "0x86", - "0x42", - "0xf1", - "0x3c", - "0x4d", - "0x30", - "0x28", - "0x89", - "0x54", - "0x2b", - "0x2", - "0x65", - "0xd7", - "0xcd", - "0x5e", - "0x99", - "0x59", - "0xdf", - "0xd4", - "0x54", - "0x92", - "0x9d", - "0x8", - "0xf5", - "0x45", - "0x21", - "0x7d", - "0x53", - "0xb9", - "0x43", - "0x8", - "0xf", - "0x84", - "0x56", - "0x5f", - "0x26", - "0x83", - "0xb6", - "0x43", - "0xe8", - "0x3f", - "0xdd", - "0x66", - "0x3f", - "0xa1", - "0xac", - "0x2b", - "0x9", - "0x40", - "0x49", - "0xc1", - "0x35", - "0x26", - "0x8", - "0x1e", - "0x64", - "0x1a", - "0x73", - "0x68", - "0x4d", - "0xcb", - "0xc2", - "0xe7", - "0xa5", - "0x65", - "0xbf", - "0x25", - "0xb2", - "0xd0", - "0xe0", - "0x56", - "0x3b", - "0x7e", - "0xde", - "0x86", - "0xce", - "0x69", - "0x6b", - "0x84", - "0x55", - "0x93", - "0x8b", - "0xe2", - "0xfa", - "0x32", - "0x4f", - "0x12", - "0x9", - "0x82", - "0x9", - "0x66", - "0x2", - "0x30", - "0xd", - "0x22", - "0x37", - "0x27", - "0x1e", - "0xa4", - "0x61", - "0xb8", - "0x72", - "0x82", - "0xbc", - "0x2a", - "0x4b", - "0x5e", - "0x80", - "0x6e", - "0x22", - "0x71", - "0x52", - "0xb9", - "0x17", - "0x85", - "0xfe", - "0x27", - "0x53", - "0xf7", - "0x5f", - "0xc9", - "0xf5", - "0x5f", - "0x3f", - "0x4c", - "0x23", - "0xee", - "0x78", - "0x33", - "0x3", - "0x9", - "0x65", - "0x4f", - "0xe2", - "0xfd", - "0xba", - "0x80", - "0xca", - "0x64", - "0xdf", - "0xdc", - "0xd5", - "0xc4", - "0xbf", - "0xac", - "0x1d", - "0xa7", - "0x47", - "0x24", - "0xd2", - "0x39", - "0x92", - "0x14", - "0x8", - "0x2e", - "0xff", - "0x64", - "0xc1", - "0xaa", - "0xb4", - "0xff", - "0xf9", - "0xa8", - "0x8", - "0xa5", - "0x3f", - "0x56", - "0x44", - "0x12", - "0x9c", - "0xcb", - "0xc7", - "0x38", - "0xbf", - "0xf3", - "0x9e", - "0xd4", - "0xa0", - "0x9", - "0xb6", - "0x81", - "0x18", - "0xd1", - "0x84", - "0x4a", - "0x31", - "0x87", - "0xa", - "0x4", - "0x42", - "0xab", - "0xe0", - "0xbd", - "0x85", - "0x5a", - "0xe7", - "0xfd", - "0x67", - "0x9a", - "0xba", - "0x3b", - "0x2f", - "0x9b", - "0x66", - "0xc2", - "0x6d", - "0x8a", - "0x73", - "0xb7", - "0x6d", - "0x85", - "0x7", - "0x21", - "0x10", - "0x39", - "0x25", - "0xa8", - "0xcd", - "0x75", - "0xaf", - "0x9c", - "0x9d", - "0x44", - "0x51", - "0xcb", - "0x9d", - "0x22", - "0x9a", - "0x28", - "0xce", - "0xb0", - "0x50", - "0x71", - "0x56", - "0x22", - "0x14", - "0x24", - "0x5", - "0x46", - "0xb3", - "0x75", - "0x64", - "0x7a", - "0x60", - "0xc", - "0xf1", - "0x1", - "0x4f", - "0x1d", - "0x4e", - "0xc3", - "0x6a", - "0xdf", - "0xb4", - "0x9e", - "0x4", - "0x9e", - "0xe3", - "0xd8", - "0x25", - "0x0" + 197, 212, 28, 103, 195, 78, 50, 59, 221, 37, 108, 192, 253, 100, 174, + 88, 45, 246, 6, 61, 246, 172, 136, 236, 125, 16, 245, 185, 80, 108, 231, + 89, 246, 125, 227, 150, 155, 13, 77, 84, 189, 118, 130, 66, 118, 252, + 78, 154, 88, 188, 103, 126, 141, 59, 24, 16, 207, 10, 64, 157, 38, 21, + 102, 170, 101, 243, 34, 170, 64, 29, 180, 241, 209, 100, 220, 238, 191, + 186, 201, 178, 103, 30, 34, 88, 162, 123, 248, 86, 251, 94, 220, 64, + 110, 255, 227, 93, 245, 20, 169, 210, 88, 178, 252, 92, 86, 227, 151, + 99, 129, 9, 85, 168, 171, 88, 140, 173, 28, 203, 204, 141, 63, 100, 0, + 53, 70, 33, 30, 212, 81, 30, 14, 231, 213, 16, 191, 158, 204, 222, 230, + 130, 212, 177, 131, 130, 146, 51, 15, 21, 148, 37, 24, 92, 145, 117, + 117, 232, 27, 221, 1, 208, 135, 143, 199, 126, 181, 180, 181, 216, 32, + 53, 28, 74, 36, 12, 90, 15, 241, 11, 212, 231, 74, 36, 53, 136, 110, 55, + 211, 206, 125, 128, 37, 198, 152, 221, 39, 159, 225, 208, 161, 155, 222, + 25, 135, 154, 19, 209, 131, 22, 106, 129, 65, 29, 203, 133, 146, 129, + 134, 137, 209, 101, 32, 229, 95, 252, 168, 218, 26, 102, 62, 208, 218, + 197, 140, 39, 86, 123, 132, 24, 94, 97, 206, 213, 195, 87, 97, 94, 76, + 81, 149, 136, 104, 42, 191, 103, 0, 207, 192, 38, 147, 176, 31, 120, + 214, 178, 23, 89, 50, 156, 144, 216, 107, 95, 210, 183, 41, 224, 250, + 213, 162, 122, 10, 255, 129, 152, 177, 55, 70, 91, 72, 172, 93, 226, + 159, 216, 23, 250, 225, 68, 164, 206, 177, 148, 181, 87, 138, 156, 194, + 110, 118, 75, 37, 173, 64, 61, 156, 223, 156, 27, 250, 46, 67, 211, 221, + 244, 37, 147, 189, 136, 186, 206, 24, 38, 54, 111, 200, 12, 135, 41, 57, + 238, 96, 125, 127, 156, 196, 147, 63, 131, 32, 122, 72, 94, 81, 126, + 149, 83, 117, 177, 64, 9, 58, 235, 6, 168, 242, 150, 127, 108, 27, 72, + 98, 24, 197, 180, 99, 186, 250, 62, 98, 227, 184, 109, 237, 56, 19, 115, + 40, 201, 247, 98, 145, 152, 102, 175, 226, 173, 34, 241, 119, 100, 21, + 165, 201, 172, 77, 93, 166, 17, 181, 252, 5, 114, 214, 15, 94, 218, 5, + 50, 39, 232, 232, 86, 211, 249, 255, 40, 4, 7, 36, 57, 123, 234, 50, + 234, 119, 187, 97, 249, 125, 140, 0, 15, 198, 168, 57, 78, 16, 122, 230, + 149, 82, 182, 147, 186, 92, 132, 171, 123, 72, 226, 121, 219, 35, 9, + 137, 156, 29, 107, 23, 135, 79, 243, 28, 240, 143, 162, 48, 26, 77, 171, + 207, 91, 56, 1, 41, 120, 66, 70, 87, 81, 72, 217, 136, 223, 8, 247, 248, + 133, 209, 6, 34, 141, 93, 155, 103, 167, 232, 227, 52, 132, 83, 14, 117, + 64, 168, 249, 42, 38, 19, 73, 32, 121, 178, 68, 71, 21, 111, 99, 44, 14, + 0, 36, 165, 35, 131, 32, 230, 149, 132, 230, 228, 231, 40, 162, 74, 253, + 167, 69, 65, 39, 250, 119, 202, 140, 19, 155, 188, 151, 111, 145, 67, + 177, 201, 26, 226, 60, 97, 150, 56, 46, 138, 79, 96, 213, 128, 92, 225, + 119, 67, 167, 77, 125, 159, 7, 104, 74, 114, 127, 20, 126, 17, 208, 169, + 116, 18, 204, 100, 24, 158, 244, 213, 240, 236, 216, 105, 127, 241, 206, + 24, 45, 183, 245, 187, 166, 160, 104, 233, 91, 66, 149, 102, 228, 19, + 36, 206, 128, 60, 252, 180, 13, 155, 12, 67, 176, 177, 129, 157, 12, 20, + 105, 197, 148, 163, 12, 24, 231, 4, 2, 7, 21, 191, 203, 46, 225, 23, + 244, 231, 23, 59, 50, 176, 1, 211, 23, 24, 168, 101, 221, 134, 29, 187, + 119, 45, 102, 229, 7, 98, 155, 152, 154, 149, 52, 11, 44, 174, 77, 246, + 243, 135, 62, 141, 18, 209, 26, 45, 36, 10, 191, 10, 114, 37, 51, 180, + 128, 103, 37, 246, 140, 137, 102, 254, 137, 240, 249, 140, 208, 195, + 102, 40, 59, 225, 228, 87, 136, 17, 8, 112, 12, 142, 230, 196, 131, 255, + 78, 168, 127, 145, 69, 124, 226, 21, 157, 129, 105, 45, 231, 115, 86, + 70, 15, 28, 195, 205, 94, 178, 63, 210, 33, 190, 240, 244, 137, 207, + 132, 51, 26, 106, 231, 232, 244, 34, 195, 115, 163, 232, 20, 226, 122, + 70, 61, 139, 132, 247, 130, 84, 73, 137, 22, 21, 15, 23, 90, 129, 100, + 121, 59, 161, 26, 64, 255, 183, 101, 32, 110, 98, 233, 163, 101, 250, + 69, 23, 141, 139, 216, 148, 172, 116, 251, 195, 125, 209, 46, 233, 47, + 112, 83, 218, 76, 244, 240, 169, 166, 217, 196, 249, 92, 108, 151, 122, + 23, 0, 225, 122, 253, 71, 126, 164, 236, 182, 135, 109, 46, 210, 69, 88, + 76, 209, 150, 66, 103, 140, 183, 162, 74, 196, 9, 194, 49, 114, 160, + 227, 65, 199, 84, 60, 143, 67, 4, 85, 158, 183, 148, 55, 153, 102, 186, + 139, 116, 189, 66, 112, 117, 107, 204, 215, 36, 5, 83, 204, 205, 15, + 133, 148, 89, 184, 15, 232, 25, 223, 231, 193, 105, 152, 236, 5, 67, + 218, 57, 161, 215, 4, 156, 122, 138, 202, 126, 53, 209, 237, 70, 201, + 62, 129, 108, 246, 109, 0, 246, 120, 129, 37, 3, 139, 172, 241, 94, 10, + 73, 83, 226, 195, 10, 165, 53, 211, 140, 139, 107, 54, 112, 32, 152, 78, + 214, 162, 3, 100, 32, 29, 190, 186, 223, 81, 54, 120, 22, 97, 1, 187, + 219, 64, 122, 149, 91, 171, 240, 87, 240, 173, 82, 112, 223, 234, 86, + 162, 102, 82, 114, 25, 194, 253, 182, 2, 178, 96, 6, 245, 68, 115, 229, + 159, 33, 182, 91, 108, 180, 198, 252, 35, 177, 73, 137, 235, 189, 240, + 169, 2, 90, 234, 186, 240, 183, 119, 245, 64, 9, 211, 44, 228, 156, 8, + 45, 38, 137, 160, 102, 134, 97, 38, 30, 188, 194, 161, 15, 41, 255, 211, + 82, 152, 249, 19, 149, 235, 54, 157, 4, 202, 66, 238, 8, 62, 238, 40, + 143, 148, 145, 196, 214, 239, 250, 16, 205, 49, 126, 225, 249, 234, 34, + 61, 187, 144, 26, 135, 13, 225, 4, 46, 178, 9, 122, 149, 198, 198, 141, + 11, 121, 91, 214, 118, 161, 207, 244, 59, 231, 10, 87, 31, 20, 102, 84, + 49, 36, 125, 94, 129, 9, 156, 181, 54, 137, 118, 155, 99, 244, 188, 32, + 53, 180, 204, 198, 130, 74, 168, 149, 4, 223, 115, 79, 242, 48, 157, 59, + 89, 87, 98, 202, 96, 218, 173, 11, 240, 81, 249, 191, 82, 26, 0, 29, + 251, 29, 220, 2, 130, 134, 79, 201, 202, 71, 252, 245, 109, 232, 50, 37, + 70, 11, 189, 229, 67, 182, 71, 84, 195, 143, 12, 184, 68, 65, 239, 7, + 71, 246, 239, 186, 176, 145, 15, 179, 139, 217, 60, 69, 20, 50, 52, 171, + 87, 49, 131, 138, 254, 98, 158, 159, 100, 33, 44, 194, 133, 30, 43, 190, + 122, 7, 13, 242, 14, 110, 21, 128, 4, 15, 239, 98, 232, 59, 211, 252, + 228, 203, 103, 18, 128, 74, 119, 21, 91, 4, 64, 68, 30, 157, 227, 10, + 15, 171, 29, 27, 241, 200, 97, 176, 66, 236, 248, 179, 238, 167, 221, + 231, 224, 135, 159, 224, 189, 216, 190, 70, 244, 199, 22, 169, 119, 70, + 200, 101, 140, 5, 78, 35, 110, 140, 149, 111, 247, 50, 235, 83, 164, + 191, 21, 216, 134, 139, 199, 188, 114, 83, 105, 140, 6, 198, 160, 8, 96, + 4, 30, 31, 60, 216, 237, 225, 134, 78, 177, 90, 78, 217, 127, 253, 186, + 32, 26, 47, 97, 127, 128, 89, 75, 221, 219, 33, 117, 200, 52, 159, 230, + 6, 253, 41, 190, 34, 120, 21, 47, 72, 22, 253, 16, 70, 251, 241, 115, + 135, 158, 86, 184, 118, 1, 83, 86, 222, 57, 250, 110, 233, 73, 206, 64, + 59, 18, 84, 37, 210, 5, 15, 191, 160, 191, 179, 171, 59, 226, 18, 38, + 74, 235, 160, 27, 135, 175, 244, 24, 185, 203, 7, 206, 244, 33, 159, 54, + 163, 250, 74, 90, 84, 81, 102, 75, 27, 64, 96, 233, 77, 95, 18, 175, + 238, 151, 164, 7, 169, 80, 209, 31, 97, 156, 101, 168, 128, 17, 143, + 119, 208, 168, 30, 244, 159, 23, 44, 83, 126, 84, 245, 91, 30, 164, 105, + 66, 1, 101, 176, 196, 29, 199, 127, 136, 60, 223, 44, 174, 245, 99, 158, + 125, 48, 127, 0, 232, 128, 160, 117, 64, 7, 141, 184, 121, 22, 88, 33, + 43, 228, 103, 223, 22, 244, 216, 167, 103, 181, 118, 172, 229, 88, 243, + 97, 66, 224, 224, 58, 213, 102, 149, 71, 109, 78, 25, 198, 97, 40, 232, + 73, 55, 131, 112, 35, 74, 207, 45, 240, 151, 245, 218, 104, 69, 125, + 201, 162, 1, 116, 236, 93, 180, 49, 6, 56, 85, 161, 76, 212, 160, 251, + 41, 183, 172, 49, 183, 164, 25, 103, 213, 172, 246, 77, 47, 20, 11, 7, + 165, 29, 69, 201, 161, 156, 216, 187, 147, 213, 59, 182, 225, 186, 10, + 214, 174, 211, 204, 21, 86, 117, 125, 202, 150, 40, 124, 150, 52, 51, + 35, 140, 34, 218, 50, 221, 155, 255, 160, 134, 61, 220, 216, 85, 23, + 130, 189, 179, 206, 115, 72, 42, 236, 231, 236, 47, 214, 54, 171, 26, + 42, 96, 94, 205, 60, 238, 171, 206, 29, 185, 188, 125, 172, 124, 17, 35, + 127, 62, 133, 80, 8, 71, 37, 118, 138, 43, 151, 240, 135, 24, 190, 219, + 148, 233, 196, 172, 17, 104, 186, 199, 208, 65, 37, 52, 180, 100, 135, + 82, 114, 125, 10, 32, 11, 239, 86, 183, 117, 20, 151, 170, 77, 155, 48, + 239, 115, 125, 100, 15, 169, 40, 194, 86, 13, 41, 94, 71, 79, 2, 54, 52, + 106, 15, 61, 255, 183, 139, 99, 136, 81, 135, 37, 128, 112, 18, 93, 196, + 181, 234, 207, 72, 157, 148, 11, 110, 31, 146, 89, 130, 114, 252, 58, + 161, 75, 141, 171, 18, 156, 202, 74, 42, 168, 233, 190, 227, 186, 41, + 36, 189, 34, 156, 25, 94, 23, 151, 148, 194, 152, 100, 193, 207, 255, + 92, 153, 213, 7, 60, 160, 7, 81, 166, 6, 21, 59, 191, 132, 37, 117, 194, + 243, 216, 138, 155, 188, 20, 193, 12, 221, 71, 17, 135, 152, 219, 33, + 115, 9, 174, 18, 17, 92, 89, 145, 106, 49, 61, 86, 2, 73, 186, 115, 6, + 229, 217, 36, 136, 195, 137, 183, 7, 167, 91, 248, 168, 3, 88, 124, 95, + 116, 127, 84, 237, 118, 146, 142, 42, 188, 206, 194, 174, 45, 42, 46, + 88, 22, 0, 64, 33, 156, 124, 120, 79, 213, 100, 151, 0, 133, 135, 196, + 50, 61, 68, 8, 184, 68, 251, 48, 39, 64, 53, 212, 189, 153, 224, 119, + 53, 131, 164, 44, 0, 40, 69, 53, 66, 253, 166, 1, 224, 233, 111, 190, + 43, 9, 251, 215, 99, 166, 253, 66, 168, 32, 205, 126, 199, 155, 10, 202, + 195, 66, 231, 45, 51, 189, 145, 213, 23, 91, 152, 141, 196, 139, 57, + 102, 22, 10, 198, 92, 232, 135, 197, 134, 9, 46, 51, 221, 199, 76, 97, + 114, 185, 146, 13, 222, 204, 60, 234, 78, 67, 168, 232, 139, 28, 129, + 51, 218, 234, 228, 184, 240, 217, 110, 167, 61, 224, 55, 157, 143, 85, + 246, 249, 30, 107, 170, 201, 27, 79, 247, 157, 246, 48, 6, 194, 144, + 164, 238, 48, 143, 235, 71, 163, 13, 184, 59, 119, 39, 55, 161, 131, + 116, 84, 24, 162, 32, 146, 230, 58, 110, 35, 103, 4, 17, 141, 141, 99, + 80, 118, 141, 115, 134, 188, 40, 205, 67, 18, 239, 239, 78, 142, 164, + 152, 206, 109, 46, 200, 48, 45, 136, 187, 184, 132, 38, 21, 250, 104, + 76, 232, 13, 98, 96, 50, 162, 165, 51, 93, 140, 115, 16, 148, 221, 87, + 44, 224, 21, 23, 92, 160, 177, 184, 14, 91, 109, 251, 248, 206, 40, 42, + 104, 14, 137, 231, 55, 180, 136, 121, 113, 0, 36, 201, 9, 64, 238, 70, + 110, 201, 217, 238, 27, 234, 93, 152, 32, 168, 240, 185, 130, 201, 107, + 7, 242, 139, 56, 174, 44, 85, 98, 93, 3, 129, 214, 187, 255, 242, 16, + 215, 161, 137, 63, 230, 209, 119, 114, 120, 23, 122, 46, 92, 198, 80, + 68, 173, 30, 118, 171, 132, 195, 197, 53, 55, 186, 191, 80, 177, 114, + 158, 240, 109, 234, 121, 60, 1, 167, 62, 161, 36, 166, 94, 105, 144, 46, + 39, 148, 97, 238, 213, 39, 153, 182, 21, 218, 234, 113, 255, 40, 8, 24, + 111, 9, 4, 236, 245, 77, 78, 190, 203, 164, 217, 0, 224, 215, 211, 130, + 85, 123, 43, 161, 56, 101, 24, 47, 154, 181, 36, 175, 176, 84, 13, 132, + 65, 251, 251, 15, 105, 102, 223, 42, 121, 59, 2, 79, 67, 70, 56, 223, + 62, 177, 165, 91, 105, 124, 128, 100, 208, 117, 84, 68, 198, 172, 242, + 138, 140, 45, 219, 127, 52, 188, 106, 105, 106, 179, 110, 23, 254, 242, + 46, 32, 166, 62, 185, 210, 43, 189, 58, 65, 142, 89, 216, 50, 101, 232, + 212, 95, 247, 77, 149, 37, 248, 92, 99, 113, 234, 106, 141, 8, 254, 150, + 146, 223, 104, 112, 194, 26, 12, 186, 230, 162, 96, 91, 64, 62, 145, + 181, 220, 215, 107, 105, 3, 171, 115, 202, 58, 23, 82, 179, 85, 54, 55, + 223, 182, 94, 70, 144, 131, 169, 176, 250, 179, 201, 240, 205, 66, 231, + 246, 22, 56, 34, 6, 56, 142, 157, 221, 163, 138, 182, 205, 198, 216, + 240, 43, 244, 169, 233, 249, 233, 104, 214, 233, 50, 171, 235, 97, 158, + 224, 0, 130, 4, 72, 154, 37, 38, 93, 167, 24, 0, 104, 106, 160, 157, 91, + 90, 64, 35, 195, 210, 121, 185, 117, 116, 154, 32, 26, 98, 139, 0, 170, + 228, 142, 187, 166, 157, 66, 236, 178, 103, 113, 225, 1, 65, 207, 185, + 190, 132, 91, 121, 2, 2, 110, 137, 137, 152, 138, 190, 47, 65, 96, 32, + 65, 45, 19, 235, 23, 96, 206, 100, 145, 53, 0, 79, 4, 197, 231, 43, 200, + 213, 138, 129, 26, 103, 231, 132, 211, 48, 55, 117, 253, 190, 53, 13, + 230, 9, 194, 154, 84, 194, 134, 152, 239, 52, 21, 122, 196, 233, 254, + 179, 244, 173, 240, 230, 135, 61, 11, 8, 172, 245, 49, 14, 0, 87, 115, + 1, 143, 136, 145, 139, 62, 31, 201, 132, 29, 12, 21, 72, 112, 208, 117, + 250, 52, 249, 21, 124, 171, 157, 105, 18, 128, 121, 232, 236, 202, 61, + 231, 70, 159, 82, 226, 77, 252, 213, 84, 177, 98, 69, 75, 11, 243, 221, + 173, 43, 215, 174, 146, 208, 231, 157, 158, 178, 230, 192, 203, 54, 158, + 172, 210, 201, 131, 57, 19, 170, 66, 226, 242, 249, 30, 21, 123, 33, 76, + 212, 237, 25, 184, 72, 227, 18, 59, 80, 13, 157, 200, 161, 188, 204, + 244, 227, 102, 159, 63, 33, 31, 186, 143, 83, 241, 216, 38, 174, 201, + 129, 185, 221, 97, 180, 159, 70, 155, 157, 170, 62, 110, 0, 44, 178, + 179, 80, 195, 228, 164, 98, 82, 242, 205, 89, 26, 116, 103, 58, 130, + 108, 124, 228, 158, 49, 217, 110, 246, 186, 171, 206, 73, 255, 53, 148, + 95, 112, 103, 78, 5, 188, 93, 176, 203, 130, 149, 211, 162, 53, 132, 42, + 75, 15, 59, 13, 179, 187, 7, 20, 70, 171, 24, 57, 111, 135, 167, 97, 37, + 96, 152, 193, 57, 48, 227, 16, 56, 71, 11, 180, 239, 151, 126, 153, 180, + 176, 221, 7, 131, 112, 14, 50, 102, 119, 21, 206, 92, 148, 114, 255, + 172, 187, 197, 224, 225, 78, 34, 154, 43, 39, 133, 51, 44, 5, 82, 245, + 96, 179, 129, 68, 160, 41, 205, 186, 17, 142, 165, 193, 84, 123, 73, 71, + 185, 131, 56, 182, 158, 138, 130, 124, 150, 144, 229, 136, 238, 234, + 173, 75, 91, 151, 153, 132, 201, 1, 58, 45, 57, 118, 166, 199, 140, 189, + 14, 71, 151, 96, 51, 13, 198, 94, 208, 177, 20, 132, 43, 126, 121, 1, + 92, 32, 235, 232, 140, 8, 74, 161, 206, 78, 130, 230, 202, 250, 173, 83, + 160, 117, 234, 4, 136, 125, 9, 18, 30, 11, 157, 29, 210, 109, 250, 213, + 245, 118, 5, 244, 29, 63, 6, 103, 135, 170, 73, 125, 67, 9, 172, 208, + 214, 78, 187, 21, 226, 32, 70, 154, 148, 15, 11, 107, 227, 72, 185, 72, + 100, 35, 115, 168, 29, 227, 94, 108, 9, 28, 161, 128, 200, 253, 39, 207, + 101, 159, 68, 56, 97, 193, 173, 106, 125, 167, 248, 94, 170, 177, 24, + 226, 254, 19, 60, 235, 227, 145, 122, 110, 94, 104, 26, 178, 243, 46, + 199, 48, 29, 148, 208, 236, 172, 77, 224, 253, 94, 165, 180, 151, 94, + 63, 226, 128, 166, 210, 17, 81, 120, 58, 116, 243, 9, 219, 213, 107, + 232, 244, 97, 114, 134, 161, 63, 195, 36, 120, 24, 193, 8, 69, 30, 8, + 150, 14, 192, 9, 91, 167, 145, 62, 100, 240, 94, 61, 219, 156, 135, 136, + 143, 83, 73, 31, 109, 102, 72, 59, 19, 86, 225, 96, 202, 190, 19, 156, + 29, 243, 240, 78, 205, 113, 127, 60, 147, 63, 123, 7, 35, 150, 237, 111, + 172, 240, 74, 145, 156, 39, 211, 208, 111, 30, 224, 44, 217, 55, 164, + 199, 190, 4, 42, 22, 92, 176, 109, 28, 237, 43, 217, 52, 245, 63, 134, + 9, 75, 20, 137, 210, 38, 14, 15, 56, 213, 227, 114, 209, 72, 62, 19, + 185, 12, 41, 42, 172, 236, 112, 135, 100, 166, 127, 43, 154, 170, 228, + 226, 6, 27, 20, 7, 23, 253, 23, 254, 57, 244, 0, 165, 141, 178, 17, 189, + 189, 210, 145, 16, 53, 228, 198, 155, 247, 80, 106, 225, 42, 206, 10, + 229, 40, 139, 21, 7, 168, 61, 55, 20, 0, 43, 148, 148, 118, 227, 253, + 168, 47, 66, 166, 146, 246, 72, 71, 137, 128, 162, 185, 226, 70, 182, + 161, 96, 226, 210, 243, 46, 188, 155, 193, 166, 54, 137, 244, 11, 135, + 191, 160, 127, 54, 135, 237, 108, 221, 16, 111, 254, 237, 74, 121, 5, 1, + 123, 39, 127, 117, 230, 9, 41, 139, 142, 43, 163, 108, 64, 228, 187, + 238, 183, 120, 97, 53, 144, 68, 47, 17, 168, 4, 177, 42, 146, 146, 213, + 79, 154, 97, 236, 106, 110, 43, 93, 253, 213, 25, 52, 121, 24, 180, 170, + 168, 199, 86, 7, 52, 215, 51, 131, 212, 43, 46, 110, 216, 55, 128, 169, + 190, 108, 45, 129, 143, 203, 117, 109, 202, 219, 154, 78, 69, 213, 2, + 18, 122, 35, 111, 192, 108, 46, 183, 90, 254, 162, 107, 31, 163, 241, + 87, 153, 58, 21, 16, 106, 5, 42, 8, 127, 134, 142, 104, 131, 76, 140, + 222, 76, 123, 9, 225, 237, 10, 242, 227, 87, 100, 203, 127, 108, 101, + 81, 80, 146, 206, 157, 190, 24, 88, 83, 242, 44, 73, 203, 97, 219, 133, + 62, 116, 94, 144, 94, 185, 113, 251, 176, 77, 182, 199, 17, 64, 32, 175, + 214, 94, 206, 2, 164, 3, 40, 2, 140, 95, 109, 34, 38, 38, 118, 172, 196, + 167, 238, 163, 137, 197, 189, 99, 132, 243, 37, 190, 173, 7, 27, 49, 42, + 58, 158, 213, 128, 24, 133, 177, 7, 192, 120, 80, 148, 109, 40, 67, 193, + 93, 41, 64, 118, 21, 99, 238, 214, 236, 139, 249, 59, 97, 183, 83, 40, + 190, 17, 44, 164, 54, 216, 105, 57, 138, 80, 171, 99, 192, 150, 77, 222, + 128, 111, 205, 175, 20, 81, 118, 226, 45, 163, 68, 67, 63, 222, 251, 28, + 202, 36, 98, 59, 112, 196, 133, 216, 133, 238, 112, 228, 217, 208, 183, + 211, 103, 225, 18, 173, 70, 64, 174, 209, 245, 29, 243, 78, 207, 155, + 214, 189, 113, 149, 98, 211, 239, 168, 245, 219, 221, 53, 67, 213, 230, + 112, 87, 20, 90, 63, 126, 236, 11, 117, 209, 58, 100, 58, 194, 62, 168, + 16, 22, 143, 200, 96, 157, 0, 118, 105, 6, 57, 137, 239, 119, 176, 220, + 88, 255, 207, 252, 88, 212, 48, 147, 147, 213, 160, 212, 235, 206, 83, + 153, 200, 148, 169, 192, 43, 184, 56, 223, 167, 12, 104, 227, 210, 207, + 166, 193, 234, 188, 23, 61, 87, 202, 255, 71, 208, 169, 111, 117, 133, + 122, 122, 44, 229, 189, 252, 151, 191, 170, 134, 56, 82, 189, 122, 46, + 4, 169, 67, 65, 145, 144, 9, 182, 218, 209, 99, 245, 182, 153, 95, 157, + 216, 236, 21, 168, 244, 97, 150, 187, 234, 198, 88, 111, 215, 216, 37, + 42, 231, 3, 156, 236, 167, 210, 38, 53, 13, 72, 68, 253, 247, 17, 234, + 124, 60, 129, 94, 176, 155, 246, 144, 206, 53, 151, 242, 115, 73, 252, + 61, 203, 231, 73, 33, 45, 95, 214, 238, 244, 235, 185, 124, 229, 104, + 228, 216, 237, 247, 169, 81, 54, 41, 6, 141, 237, 163, 232, 175, 4, 28, + 21, 167, 190, 162, 176, 141, 204, 191, 232, 137, 77, 65, 199, 35, 133, + 214, 54, 21, 192, 44, 3, 62, 56, 17, 204, 62, 40, 51, 199, 46, 152, 205, + 146, 90, 176, 150, 222, 146, 4, 215, 186, 233, 16, 29, 215, 193, 221, + 246, 142, 9, 193, 163, 113, 228, 193, 165, 206, 25, 6, 175, 82, 73, 252, + 104, 236, 150, 167, 160, 75, 100, 29, 224, 104, 134, 35, 88, 147, 245, + 190, 120, 31, 248, 76, 30, 104, 35, 162, 131, 218, 4, 194, 36, 162, 156, + 14, 46, 61, 253, 44, 150, 235, 225, 31, 115, 229, 162, 199, 59, 161, 76, + 152, 240, 222, 32, 247, 220, 222, 23, 141, 179, 12, 26, 112, 147, 189, + 102, 15, 78, 48, 227, 190, 71, 224, 0, 231, 98, 23, 27, 32, 255, 65, + 184, 117, 31, 116, 78, 169, 172, 77, 213, 95, 103, 76, 29, 72, 240, 76, + 46, 224, 119, 63, 207, 130, 250, 45, 139, 207, 228, 29, 179, 64, 185, + 145, 201, 17, 37, 168, 25, 27, 129, 227, 53, 21, 72, 144, 40, 217, 208, + 176, 95, 4, 20, 85, 70, 7, 46, 139, 158, 45, 45, 174, 29, 188, 214, 123, + 179, 208, 121, 12, 237, 191, 72, 173, 117, 99, 82, 97, 175, 2, 120, 28, + 127, 60, 98, 252, 157, 54, 64, 91, 90, 234, 33, 65, 208, 186, 252, 50, + 41, 54, 39, 211, 45, 146, 163, 239, 80, 110, 19, 248, 91, 146, 78, 105, + 221, 81, 175, 83, 208, 193, 169, 7, 146, 90, 118, 89, 32, 58, 25, 147, + 99, 197, 20, 119, 169, 113, 231, 230, 28, 208, 246, 231, 82, 250, 127, + 204, 128, 112, 101, 11, 206, 11, 114, 66, 134, 141, 107, 5, 9, 72, 53, + 75, 8, 92, 255, 82, 13, 180, 54, 233, 38, 9, 84, 185, 66, 237, 99, 161, + 160, 104, 240, 119, 46, 48, 73, 128, 136, 101, 142, 2, 71, 250, 26, 78, + 119, 57, 87, 41, 130, 24, 234, 226, 209, 148, 117, 14, 169, 197, 199, + 214, 127, 146, 133, 87, 97, 192, 95, 36, 215, 93, 118, 82, 81, 213, 96, + 91, 133, 67, 130, 113, 245, 63, 29, 200, 144, 191, 58, 4, 71, 172, 90, + 138, 57, 179, 150, 85, 66, 23, 44, 97, 158, 21, 156, 50, 208, 110, 86, + 44, 137, 164, 96, 85, 69, 128, 99, 234, 72, 173, 142, 48, 79, 46, 250, + 2, 40, 26, 24, 174, 125, 21, 194, 48, 143, 81, 192, 54, 37, 9, 75, 151, + 175, 145, 62, 169, 224, 219, 183, 203, 118, 23, 210, 68, 119, 20, 191, + 252, 205, 198, 46, 223, 101, 196, 13, 237, 151, 169, 209, 247, 77, 248, + 165, 96, 130, 63, 173, 20, 213, 29, 88, 191, 26, 1, 10, 179, 67, 33, + 230, 60, 25, 205, 120, 82, 93, 159, 237, 117, 57, 206, 21, 216, 155, + 168, 13, 80, 68, 167, 40, 197, 10, 70, 140, 3, 161, 125, 170, 197, 215, + 253, 20, 36, 116, 24, 147, 248, 9, 214, 118, 203, 49, 218, 68, 240, 114, + 106, 221, 109, 134, 220, 130, 55, 150, 165, 248, 18, 166, 171, 147, 217, + 43, 87, 179, 7, 27, 203, 184, 183, 23, 216, 172, 154, 228, 12, 53, 76, + 72, 16, 132, 24, 113, 202, 95, 58, 212, 237, 47, 215, 247, 94, 43, 216, + 129, 248, 231, 86, 105, 41, 233, 188, 8, 97, 247, 46, 45, 211, 115, 140, + 57, 92, 243, 218, 116, 130, 35, 183, 84, 188, 110, 125, 186, 34, 133, + 93, 237, 202, 216, 91, 9, 13, 237, 123, 213, 161, 122, 188, 176, 97, + 194, 253, 100, 225, 193, 244, 64, 159, 218, 239, 122, 29, 118, 193, 74, + 66, 34, 217, 42, 154, 143, 130, 18, 152, 189, 31, 228, 161, 77, 211, + 185, 1, 47, 40, 2, 182, 106, 163, 205, 26, 246, 210, 91, 167, 209, 123, + 68, 48, 230, 168, 150, 242, 227, 108, 125, 162, 228, 86, 115, 54, 210, + 254, 25, 197, 33, 85, 22, 198, 135, 154, 188, 215, 66, 139, 164, 26, + 219, 133, 125, 61, 165, 210, 218, 57, 13, 16, 128, 168, 118, 12, 139, + 204, 73, 224, 218, 152, 241, 8, 239, 154, 38, 52, 19, 107, 28, 80, 224, + 231, 24, 61, 222, 246, 69, 20, 87, 115, 26, 135, 75, 78, 157, 77, 46, + 232, 130, 71, 90, 107, 179, 195, 174, 220, 17, 1, 88, 252, 115, 93, 205, + 146, 189, 25, 227, 61, 231, 180, 141, 83, 245, 50, 87, 253, 82, 103, 54, + 133, 124, 69, 161, 13, 208, 87, 110, 119, 143, 230, 105, 198, 46, 75, + 82, 133, 171, 240, 54, 102, 228, 190, 182, 237, 140, 158, 43, 207, 160, + 154, 26, 36, 116, 116, 89, 178, 168, 20, 161, 165, 28, 83, 140, 98, 146, + 140, 138, 212, 170, 119, 46, 151, 216, 167, 2, 201, 222, 198, 162, 85, + 226, 103, 131, 215, 62, 128, 230, 215, 205, 198, 78, 56, 128, 127, 32, + 239, 226, 148, 165, 70, 154, 201, 123, 5, 241, 86, 3, 231, 37, 131, 159, + 33, 52, 154, 106, 227, 65, 67, 194, 51, 117, 204, 204, 174, 222, 21, 98, + 123, 216, 136, 143, 134, 233, 218, 55, 203, 100, 52, 18, 172, 141, 177, + 134, 41, 23, 4, 116, 229, 159, 246, 149, 146, 229, 235, 245, 77, 149, + 237, 200, 122, 69, 196, 23, 127, 157, 43, 56, 241, 94, 20, 15, 240, 233, + 233, 96, 188, 133, 70, 205, 35, 230, 47, 114, 189, 221, 204, 205, 66, + 65, 229, 39, 1, 52, 168, 193, 145, 1, 196, 54, 59, 126, 36, 124, 99, + 155, 132, 53, 110, 246, 205, 153, 5, 90, 130, 83, 35, 66, 209, 229, 92, + 151, 101, 63, 187, 25, 214, 194, 16, 106, 164, 146, 156, 36, 63, 29, + 110, 18, 111, 244, 150, 10, 176, 236, 22, 141, 248, 193, 14, 17, 122, + 199, 61, 35, 210, 4, 15, 43, 123, 219, 127, 209, 144, 197, 193, 218, 75, + 117, 247, 180, 173, 250, 232, 151, 71, 20, 192, 112, 219, 103, 206, 141, + 188, 187, 45, 154, 81, 25, 235, 209, 215, 232, 207, 88, 124, 207, 40, + 85, 8, 208, 247, 107, 146, 94, 106, 78, 82, 233, 74, 108, 240, 47, 169, + 10, 40, 77, 38, 234, 200, 3, 153, 83, 207, 185, 183, 222, 243, 176, 117, + 3, 145, 198, 216, 193, 18, 72, 175, 33, 172, 8, 111, 122, 13, 173, 230, + 242, 194, 162, 5, 172, 1, 210, 11, 0, 103, 188, 63, 45, 214, 230, 147, + 129, 241, 155, 206, 172, 96, 205, 67, 89, 178, 196, 174, 25, 109, 243, + 221, 143, 167, 147, 23, 188, 59, 109, 112, 63, 228, 219, 67, 59, 229, + 34, 117, 131, 214, 66, 7, 47, 12, 38, 133, 168, 241, 37, 228, 219, 126, + 228, 86, 166, 59, 81, 182, 166, 0, 22, 217, 168, 151, 186, 246, 227, 50, + 32, 209, 91, 21, 25, 237, 138, 142, 98, 194, 98, 116, 197, 167, 227, + 185, 156, 171, 191, 42, 169, 192, 58, 159, 209, 59, 135, 7, 32, 42, 70, + 128, 109, 46, 117, 59, 104, 124, 180, 82, 115, 210, 65, 244, 145, 203, + 218, 131, 192, 171, 228, 22, 135, 88, 203, 249, 44, 128, 127, 94, 179, + 211, 82, 254, 133, 9, 129, 239, 86, 38, 237, 99, 50, 16, 61, 166, 228, + 176, 194, 17, 59, 7, 141, 230, 65, 216, 146, 58, 16, 41, 170, 169, 224, + 255, 49, 190, 87, 231, 0, 151, 88, 239, 161, 189, 165, 15, 41, 250, 110, + 219, 197, 184, 81, 133, 204, 48, 56, 207, 41, 135, 161, 168, 40, 55, + 133, 44, 166, 69, 250, 157, 48, 67, 163, 186, 41, 54, 192, 179, 91, 40, + 30, 248, 107, 74, 19, 110, 64, 144, 211, 248, 15, 127, 119, 71, 58, 113, + 94, 168, 126, 117, 86, 194, 215, 18, 192, 5, 161, 210, 33, 18, 190, 50, + 135, 249, 11, 91, 213, 44, 65, 219, 250, 175, 184, 50, 7, 105, 138, 62, + 110, 193, 131, 132, 25, 95, 116, 225, 59, 147, 190, 156, 118, 126, 139, + 242, 103, 50, 8, 130, 200, 249, 230, 221, 176, 59, 98, 249, 200, 53, + 241, 210, 163, 174, 139, 81, 140, 196, 111, 26, 79, 254, 242, 49, 139, + 183, 15, 196, 62, 51, 16, 97, 113, 205, 74, 108, 236, 221, 2, 170, 52, + 20, 35, 88, 144, 238, 155, 234, 15, 107, 18, 125, 234, 28, 232, 232, + 164, 80, 194, 221, 121, 96, 244, 118, 126, 137, 6, 151, 231, 207, 209, + 197, 24, 82, 132, 56, 20, 70, 16, 44, 203, 229, 28, 247, 242, 232, 100, + 232, 2, 173, 173, 173, 39, 48, 62, 226, 164, 24, 76, 14, 88, 52, 48, + 103, 209, 81, 17, 200, 110, 70, 186, 25, 64, 61, 238, 51, 131, 182, 162, + 239, 202, 19, 57, 161, 62, 64, 42, 93, 115, 185, 220, 106, 73, 245, 207, + 91, 147, 17, 28, 9, 112, 56, 126, 104, 92, 69, 53, 209, 156, 98, 88, 85, + 179, 71, 147, 33, 40, 33, 236, 85, 166, 52, 139, 246, 239, 218, 48, 246, + 155, 18, 113, 5, 74, 109, 226, 108, 65, 243, 17, 13, 195, 129, 246, 164, + 13, 173, 49, 54, 253, 120, 114, 55, 83, 1, 144, 132, 12, 150, 181, 21, + 112, 102, 25, 203, 63, 31, 222, 17, 100, 127, 144, 82, 233, 93, 35, 106, + 252, 254, 133, 193, 149, 95, 5, 69, 199, 87, 147, 182, 40, 136, 2, 63, + 122, 22, 75, 180, 144, 42, 179, 131, 53, 67, 144, 76, 6, 172, 162, 55, + 64, 230, 77, 141, 237, 225, 110, 254, 154, 126, 12, 115, 116, 134, 239, + 206, 248, 41, 232, 17, 102, 242, 151, 58, 80, 137, 140, 160, 117, 225, + 157, 210, 187, 54, 236, 137, 241, 245, 82, 177, 146, 235, 202, 77, 90, + 156, 38, 5, 150, 175, 78, 141, 228, 242, 62, 86, 0, 61, 237, 230, 109, + 5, 187, 70, 124, 2, 58, 183, 174, 197, 73, 174, 61, 219, 16, 90, 59, 66, + 175, 30, 49, 95, 86, 188, 152, 5, 65, 178, 249, 218, 190, 52, 90, 59, + 37, 0, 162, 29, 134, 67, 96, 61, 135, 166, 43, 207, 245, 207, 85, 127, + 85, 116, 57, 161, 157, 210, 13, 164, 244, 225, 19, 101, 38, 200, 7, 51, + 15, 214, 173, 75, 88, 247, 19, 128, 82, 77, 155, 169, 216, 49, 41, 116, + 244, 202, 142, 191, 225, 152, 40, 95, 96, 36, 73, 181, 2, 113, 245, 128, + 0, 47, 189, 133, 143, 35, 23, 235, 107, 48, 211, 98, 151, 255, 253, 206, + 219, 83, 20, 134, 192, 64, 209, 189, 51, 46, 8, 31, 160, 226, 208, 20, + 208, 8, 49, 246, 201, 225, 153, 134, 76, 196, 186, 11, 217, 24, 180, 61, + 117, 22, 89, 71, 93, 105, 41, 45, 176, 136, 46, 46, 202, 206, 136, 71, + 24, 160, 176, 97, 168, 90, 236, 91, 122, 226, 197, 131, 125, 253, 228, + 13, 110, 214, 50, 229, 164, 96, 0, 42, 63, 203, 233, 181, 140, 121, 169, + 240, 155, 9, 199, 141, 212, 248, 239, 22, 28, 86, 50, 70, 84, 242, 87, + 65, 152, 71, 215, 176, 210, 243, 60, 154, 26, 147, 86, 142, 77, 2, 64, + 39, 234, 239, 171, 241, 149, 141, 63, 152, 206, 24, 188, 160, 111, 108, + 245, 64, 131, 1, 8, 55, 205, 69, 218, 69, 244, 8, 145, 90, 247, 66, 195, + 27, 187, 159, 132, 203, 17, 14, 83, 40, 161, 184, 23, 81, 218, 234, 241, + 170, 159, 67, 182, 92, 92, 164, 163, 66, 172, 58, 25, 168, 13, 102, 8, + 216, 145, 50, 251, 8, 235, 20, 249, 111, 53, 99, 156, 68, 71, 112, 243, + 156, 33, 37, 190, 25, 153, 199, 239, 225, 132, 56, 144, 176, 12, 67, + 227, 14, 249, 110, 15, 154, 37, 221, 39, 69, 36, 228, 106, 238, 116, + 119, 218, 160, 153, 142, 255, 168, 248, 24, 165, 97, 200, 181, 139, 118, + 55, 246, 102, 239, 145, 32, 124, 64, 106, 252, 126, 104, 143, 57, 30, + 164, 122, 75, 98, 228, 217, 87, 242, 176, 80, 226, 96, 167, 26, 37, 184, + 83, 93, 253, 202, 202, 220, 232, 57, 22, 121, 42, 192, 169, 188, 55, 90, + 163, 63, 187, 228, 54, 181, 27, 195, 119, 233, 177, 131, 109, 88, 238, + 123, 230, 99, 32, 128, 214, 106, 125, 17, 31, 21, 221, 172, 230, 14, 98, + 171, 132, 29, 49, 247, 44, 120, 45, 129, 4, 209, 139, 204, 111, 42, 242, + 101, 142, 164, 1, 130, 39, 171, 99, 126, 61, 2, 90, 130, 132, 229, 8, + 132, 75, 166, 218, 102, 245, 132, 81, 142, 67, 188, 52, 36, 68, 141, + 183, 36, 124, 105, 186, 188, 120, 155, 89, 223, 194, 68, 57, 128, 18, + 94, 235, 159, 31, 34, 91, 142, 186, 174, 126, 79, 170, 86, 14, 138, 135, + 176, 155, 23, 164, 252, 155, 198, 80, 174, 248, 192, 24, 250, 103, 65, + 27, 201, 191, 92, 92, 197, 198, 37, 214, 108, 128, 12, 108, 219, 97, 98, + 218, 138, 104, 121, 182, 239, 59, 141, 10, 227, 212, 177, 103, 81, 2, + 127, 19, 140, 106, 238, 234, 25, 129, 171, 186, 167, 221, 69, 246, 173, + 154, 175, 154, 204, 169, 78, 201, 163, 68, 179, 151, 172, 146, 253, 159, + 121, 106, 247, 103, 108, 144, 177, 194, 254, 178, 27, 59, 210, 26, 150, + 96, 54, 228, 82, 70, 159, 203, 112, 123, 222, 182, 116, 9, 87, 146, 78, + 181, 20, 69, 44, 25, 247, 9, 108, 103, 243, 4, 97, 82, 153, 62, 82, 136, + 52, 191, 140, 229, 178, 70, 206, 133, 213, 2, 115, 12, 249, 122, 68, 81, + 3, 42, 41, 200, 143, 143, 227, 143, 73, 130, 214, 189, 55, 220, 19, 247, + 204, 246, 212, 173, 18, 226, 38, 85, 137, 147, 113, 46, 180, 3, 198, 74, + 24, 55, 84, 71, 51, 42, 85, 252, 125, 14, 248, 9, 188, 200, 113, 181, + 232, 170, 191, 65, 33, 51, 182, 43, 232, 101, 238, 252, 72, 90, 51, 147, + 123, 53, 217, 84, 49, 243, 69, 245, 153, 214, 18, 140, 152, 12, 251, + 129, 30, 179, 157, 113, 203, 10, 104, 119, 21, 189, 180, 145, 171, 150, + 49, 185, 2, 144, 226, 114, 140, 189, 171, 18, 181, 49, 28, 45, 54, 209, + 32, 8, 178, 68, 93, 221, 34, 233, 188, 103, 104, 245, 36, 144, 83, 206, + 2, 194, 145, 11, 51, 227, 3, 201, 108, 47, 3, 80, 142, 26, 231, 81, 25, + 13, 29, 155, 142, 164, 194, 129, 95, 147, 59, 9, 38, 30, 86, 219, 117, + 100, 172, 146, 139, 57, 249, 173, 156, 185, 21, 148, 122, 63, 14, 13, + 42, 95, 184, 187, 170, 170, 177, 98, 237, 235, 74, 61, 138, 192, 82, 67, + 75, 143, 243, 51, 155, 241, 97, 163, 140, 44, 180, 140, 170, 151, 248, + 142, 115, 234, 197, 190, 245, 132, 119, 171, 110, 27, 104, 190, 242, 30, + 145, 107, 71, 200, 27, 235, 152, 109, 148, 73, 43, 199, 29, 83, 131, + 237, 27, 230, 253, 1, 142, 100, 85, 170, 218, 33, 49, 185, 181, 17, 84, + 57, 15, 59, 134, 1, 154, 212, 248, 83, 97, 174, 131, 207, 144, 44, 160, + 150, 214, 29, 171, 201, 59, 78, 168, 40, 230, 114, 17, 95, 187, 68, 211, + 149, 7, 6, 43, 16, 170, 163, 51, 105, 240, 8, 66, 239, 183, 131, 65, 7, + 119, 208, 154, 205, 75, 212, 62, 214, 138, 182, 164, 1, 2, 5, 15, 226, + 106, 38, 147, 0, 242, 208, 53, 242, 98, 88, 76, 65, 217, 144, 70, 210, + 166, 78, 19, 90, 209, 103, 254, 148, 71, 128, 58, 177, 128, 124, 206, + 206, 49, 114, 37, 35, 54, 192, 57, 250, 71, 1, 129, 237, 148, 37, 233, + 235, 43, 19, 15, 180, 78, 122, 38, 226, 25, 66, 167, 32, 236, 69, 240, + 68, 18, 45, 157, 103, 214, 106, 112, 197, 28, 150, 114, 40, 217, 62, + 155, 83, 0, 10, 19, 168, 95, 216, 59, 171, 111, 50, 42, 220, 142, 61, + 36, 17, 215, 125, 92, 1, 60, 64, 108, 135, 253, 145, 241, 21, 57, 220, + 224, 215, 220, 84, 232, 80, 181, 127, 22, 112, 44, 248, 242, 73, 59, + 130, 111, 7, 29, 106, 2, 229, 45, 228, 224, 245, 251, 189, 46, 96, 126, + 211, 93, 146, 230, 135, 206, 234, 140, 232, 46, 20, 3, 92, 87, 132, 73, + 16, 15, 238, 68, 217, 236, 19, 101, 41, 146, 45, 75, 41, 66, 232, 125, + 230, 109, 59, 96, 8, 119, 235, 105, 61, 37, 222, 1, 61, 30, 226, 82, + 102, 81, 162, 7, 104, 97, 206, 20, 65, 101, 132, 182, 223, 34, 173, 186, + 54, 81, 224, 109, 176, 66, 134, 97, 58, 107, 201, 223, 110, 77, 173, 92, + 222, 137, 197, 124, 94, 90, 190, 64, 154, 91, 229, 71, 93, 191, 141, 4, + 35, 93, 104, 92, 84, 70, 107, 145, 154, 160, 255, 248, 222, 143, 220, + 86, 13, 212, 45, 87, 50, 51, 206, 43, 208, 125, 10, 81, 79, 175, 235, + 137, 184, 195, 224, 50, 97, 211, 250, 22, 130, 191, 212, 72, 11, 152, + 190, 69, 143, 204, 60, 167, 7, 43, 253, 221, 63, 106, 146, 65, 236, 58, + 144, 181, 164, 221, 75, 114, 90, 163, 51, 78, 90, 208, 80, 160, 220, 46, + 244, 242, 3, 248, 85, 235, 38, 19, 243, 197, 52, 191, 74, 187, 191, 138, + 3, 20, 72, 25, 91, 203, 40, 1, 86, 69, 111, 2, 152, 46, 147, 153, 118, + 239, 185, 78, 105, 33, 44, 80, 17, 224, 24, 122, 59, 148, 4, 101, 167, + 6, 84, 228, 55, 41, 7, 60, 66, 139, 72, 75, 173, 154, 253, 245, 85, 95, + 3, 131, 219, 62, 89, 148, 147, 90, 201, 93, 96, 242, 246, 223, 38, 160, + 32, 107, 56, 11, 193, 232, 249, 88, 254, 7, 202, 105, 38, 174, 103, 115, + 5, 105, 3, 8, 171, 40, 213, 60, 250, 225, 185, 168, 243, 171, 57, 119, + 18, 93, 108, 21, 222, 57, 144, 228, 73, 0, 19, 159, 67, 69, 6, 224, 43, + 7, 144, 115, 38, 149, 238, 161, 90, 184, 78, 224, 20, 203, 176, 51, 228, + 105, 189, 188, 164, 205, 50, 28, 200, 33, 102, 93, 21, 11, 164, 170, 5, + 69, 150, 159, 62, 140, 117, 132, 122, 236, 249, 101, 9, 48, 224, 229, + 50, 92, 81, 90, 101, 64, 25, 229, 183, 253, 153, 120, 233, 160, 172, 11, + 51, 19, 187, 247, 145, 62, 115, 30, 15, 178, 191, 118, 25, 155, 239, 58, + 10, 66, 76, 58, 67, 73, 63, 25, 39, 66, 214, 199, 4, 149, 58, 181, 19, + 78, 34, 27, 76, 35, 209, 232, 228, 108, 155, 203, 49, 0, 72, 89, 51, + 123, 32, 44, 227, 52, 149, 59, 138, 52, 83, 121, 22, 12, 248, 188, 175, + 166, 34, 132, 232, 174, 244, 255, 105, 169, 148, 210, 242, 253, 121, + 249, 171, 100, 148, 94, 23, 26, 35, 14, 182, 222, 195, 157, 160, 210, + 185, 26, 196, 61, 214, 102, 117, 21, 31, 59, 183, 145, 68, 23, 181, 62, + 64, 58, 253, 71, 62, 86, 215, 206, 101, 17, 157, 241, 5, 111, 191, 217, + 71, 49, 115, 130, 216, 82, 12, 88, 40, 181, 200, 78, 162, 113, 94, 67, + 9, 129, 232, 183, 158, 168, 34, 17, 9, 101, 146, 88, 86, 109, 189, 194, + 76, 53, 64, 18, 226, 31, 19, 57, 181, 74, 32, 160, 124, 252, 252, 48, + 65, 211, 131, 20, 135, 160, 7, 121, 44, 204, 62, 97, 5, 123, 82, 135, + 81, 221, 36, 113, 240, 6, 194, 168, 241, 178, 19, 182, 36, 180, 58, 231, + 43, 169, 2, 0, 254, 194, 64, 46, 48, 104, 100, 210, 39, 80, 72, 163, + 128, 3, 88, 178, 192, 119, 137, 164, 67, 191, 104, 56, 183, 141, 219, + 190, 195, 123, 37, 48, 223, 145, 178, 184, 175, 78, 68, 143, 79, 199, + 29, 157, 235, 99, 52, 42, 161, 17, 149, 126, 85, 227, 194, 161, 184, + 220, 214, 62, 63, 44, 30, 129, 100, 46, 80, 124, 0, 246, 10, 223, 33, + 193, 183, 254, 5, 24, 90, 66, 109, 194, 58, 136, 193, 22, 143, 227, 124, + 39, 232, 41, 236, 6, 148, 80, 228, 147, 98, 131, 142, 186, 75, 88, 247, + 76, 198, 164, 105, 9, 7, 103, 88, 121, 6, 14, 140, 186, 96, 93, 238, 14, + 233, 71, 95, 197, 49, 109, 106, 70, 144, 8, 80, 48, 181, 215, 168, 207, + 120, 157, 61, 213, 188, 252, 11, 165, 64, 171, 220, 5, 183, 51, 109, 73, + 7, 20, 234, 9, 173, 27, 206, 134, 187, 63, 172, 214, 20, 227, 194, 139, + 138, 208, 102, 106, 161, 54, 192, 133, 72, 172, 163, 115, 97, 45, 92, + 168, 147, 212, 25, 194, 107, 31, 250, 218, 125, 22, 187, 146, 157, 96, + 219, 77, 94, 149, 85, 39, 193, 254, 162, 109, 81, 27, 149, 241, 26, 93, + 228, 211, 165, 209, 84, 4, 251, 165, 218, 12, 29, 120, 12, 157, 89, 162, + 242, 4, 107, 20, 43, 63, 234, 4, 142, 112, 251, 108, 93, 97, 153, 104, + 105, 51, 141, 196, 210, 166, 106, 153, 152, 79, 161, 184, 38, 42, 239, + 187, 215, 45, 181, 203, 215, 234, 104, 9, 64, 48, 12, 219, 148, 25, 103, + 228, 92, 140, 25, 46, 237, 211, 4, 154, 98, 191, 249, 153, 165, 137, 95, + 117, 72, 108, 57, 155, 230, 235, 197, 55, 131, 16, 247, 198, 4, 26, 149, + 107, 184, 188, 200, 96, 54, 7, 155, 154, 84, 112, 185, 246, 82, 83, 219, + 61, 212, 45, 29, 253, 0, 50, 132, 216, 96, 195, 48, 229, 213, 147, 186, + 71, 130, 213, 148, 100, 128, 210, 18, 129, 124, 121, 137, 73, 42, 160, + 77, 230, 136, 210, 203, 227, 196, 254, 216, 69, 224, 193, 22, 224, 129, + 102, 62, 97, 243, 130, 33, 192, 153, 46, 84, 57, 47, 215, 206, 65, 111, + 180, 97, 224, 140, 32, 114, 114, 194, 157, 195, 133, 134, 71, 148, 28, + 168, 197, 81, 79, 135, 166, 219, 130, 127, 94, 192, 69, 126, 28, 219, + 104, 34, 205, 191, 56, 6, 44, 29, 218, 170, 233, 140, 157, 20, 137, 159, + 9, 214, 126, 22, 165, 152, 182, 170, 178, 255, 161, 28, 147, 112, 75, + 153, 69, 100, 69, 84, 249, 159, 99, 186, 175, 113, 160, 2, 79, 183, 235, + 78, 210, 55, 108, 54, 110, 8, 51, 162, 75, 192, 14, 144, 9, 135, 61, + 120, 84, 16, 203, 228, 138, 117, 194, 1, 245, 236, 146, 208, 148, 28, + 156, 25, 28, 248, 127, 115, 249, 4, 142, 21, 195, 193, 118, 16, 219, 24, + 225, 159, 3, 60, 195, 233, 42, 106, 65, 241, 145, 21, 109, 223, 176, 37, + 179, 144, 249, 61, 251, 101, 169, 168, 5, 176, 15, 201, 210, 46, 53, + 178, 74, 106, 221, 217, 134, 168, 172, 115, 70, 31, 208, 90, 68, 11, + 229, 63, 156, 116, 57, 159, 190, 51, 220, 112, 143, 148, 206, 15, 4, + 129, 156, 193, 76, 238, 178, 142, 235, 47, 115, 136, 249, 220, 137, 86, + 237, 211, 116, 8, 247, 57, 35, 180, 23, 76, 77, 82, 53, 177, 179, 108, + 132, 32, 231, 25, 230, 153, 76, 29, 189, 146, 89, 222, 147, 118, 236, + 127, 113, 1, 217, 240, 182, 209, 197, 35, 153, 12, 161, 76, 19, 145, + 100, 70, 161, 72, 145, 182, 186, 110, 236, 53, 33, 84, 141, 160, 72, + 225, 120, 29, 59, 76, 160, 73, 224, 33, 182, 149, 206, 205, 102, 112, + 174, 205, 179, 111, 125, 171, 7, 65, 131, 222, 60, 117, 130, 49, 233, 7, + 78, 9, 165, 248, 8, 221, 198, 121, 6, 84, 58, 64, 227, 72, 113, 249, + 149, 218, 181, 176, 52, 113, 54, 253, 102, 146, 169, 113, 54, 226, 102, + 53, 119, 148, 154, 48, 7, 141, 173, 63, 9, 46, 31, 113, 133, 6, 6, 115, + 243, 180, 232, 15, 178, 213, 132, 182, 63, 216, 232, 26, 76, 161, 55, + 127, 35, 176, 86, 103, 137, 209, 91, 154, 32, 66, 2, 44, 49, 220, 118, + 176, 239, 215, 18, 113, 1, 96, 99, 154, 117, 19, 159, 217, 160, 220, 35, + 254, 34, 9, 7, 238, 179, 38, 108, 64, 125, 163, 65, 79, 174, 84, 139, + 69, 78, 173, 92, 29, 118, 220, 68, 3, 12, 133, 235, 104, 67, 234, 236, + 126, 169, 134, 247, 124, 204, 191, 54, 166, 52, 38, 153, 211, 68, 114, + 208, 240, 14, 247, 43, 50, 177, 96, 155, 110, 155, 44, 92, 236, 173, 86, + 116, 199, 7, 5, 60, 14, 128, 100, 0, 66, 200, 68, 228, 132, 46, 194, + 102, 133, 145, 10, 146, 58, 99, 215, 244, 59, 185, 86, 154, 110, 74, 88, + 183, 98, 232, 151, 162, 75, 105, 168, 39, 40, 24, 78, 173, 194, 8, 145, + 2, 186, 225, 221, 172, 176, 68, 72, 95, 202, 221, 195, 32, 81, 163, 0, + 10, 69, 237, 224, 51, 202, 237, 42, 188, 76, 44, 64, 248, 195, 137, 241, + 54, 194, 173, 128, 22, 99, 234, 212, 233, 148, 217, 162, 24, 134, 130, + 146, 156, 182, 49, 28, 242, 156, 69, 112, 191, 236, 65, 73, 149, 210, + 231, 67, 43, 85, 27, 34, 203, 18, 158, 253, 121, 82, 97, 148, 221, 57, + 126, 65, 29, 178, 163, 104, 117, 187, 126, 168, 76, 103, 145, 25, 48, + 182, 207, 27, 196, 44, 69, 2, 34, 138, 128, 100, 98, 187, 47, 231, 83, + 70, 208, 145, 128, 202, 58, 198, 41, 61, 84, 109, 240, 229, 174, 211, + 151, 136, 175, 182, 54, 191, 134, 184, 17, 122, 13, 72, 128, 218, 49, + 76, 57, 84, 121, 234, 195, 133, 153, 167, 67, 205, 131, 15, 232, 183, + 109, 99, 223, 15, 112, 25, 94, 7, 84, 31, 205, 123, 48, 187, 77, 10, 36, + 236, 131, 229, 64, 63, 41, 164, 73, 167, 255, 141, 168, 157, 255, 204, + 59, 22, 238, 173, 128, 144, 163, 213, 207, 30, 54, 121, 57, 201, 238, + 118, 214, 205, 14, 108, 128, 219, 65, 186, 219, 106, 155, 254, 226, 185, + 211, 122, 19, 12, 205, 152, 185, 237, 227, 22, 29, 163, 175, 243, 191, + 52, 41, 80, 166, 218, 109, 104, 72, 93, 112, 234, 16, 153, 162, 172, + 221, 229, 45, 205, 219, 53, 132, 158, 41, 66, 195, 208, 148, 186, 156, + 225, 72, 235, 174, 19, 147, 117, 30, 130, 130, 42, 93, 91, 143, 136, + 205, 74, 34, 136, 132, 2, 75, 249, 252, 19, 28, 83, 21, 161, 46, 63, 40, + 241, 67, 225, 115, 84, 21, 201, 59, 216, 220, 37, 146, 30, 20, 196, 7, + 127, 169, 167, 230, 184, 50, 74, 129, 37, 218, 70, 165, 35, 146, 243, + 101, 93, 214, 40, 55, 97, 129, 175, 60, 32, 82, 102, 23, 89, 147, 224, + 254, 30, 20, 211, 96, 162, 69, 69, 217, 42, 92, 207, 146, 55, 183, 196, + 194, 71, 122, 19, 31, 100, 254, 190, 240, 113, 132, 56, 23, 187, 47, 67, + 102, 141, 147, 196, 47, 216, 232, 109, 165, 149, 15, 141, 59, 171, 109, + 44, 105, 71, 58, 61, 126, 20, 251, 146, 50, 7, 181, 177, 181, 67, 112, + 70, 66, 57, 202, 104, 82, 154, 117, 174, 83, 40, 124, 167, 162, 225, + 101, 181, 215, 248, 240, 248, 181, 133, 214, 107, 47, 34, 194, 201, 249, + 14, 87, 74, 136, 40, 182, 134, 200, 4, 89, 71, 236, 108, 154, 20, 163, + 247, 20, 252, 31, 54, 122, 172, 70, 135, 134, 213, 104, 216, 34, 2, 194, + 62, 99, 113, 213, 246, 231, 158, 88, 208, 98, 153, 234, 156, 105, 145, + 227, 125, 193, 108, 237, 37, 21, 121, 241, 224, 241, 48, 177, 54, 105, + 32, 184, 12, 120, 75, 155, 192, 50, 249, 176, 38, 17, 114, 102, 21, 204, + 111, 150, 215, 77, 75, 87, 207, 7, 54, 81, 142, 4, 190, 169, 169, 221, + 173, 65, 121, 172, 168, 251, 9, 29, 249, 5, 101, 162, 157, 99, 159, 194, + 46, 35, 161, 179, 177, 56, 71, 177, 128, 116, 165, 205, 130, 68, 11, + 173, 149, 83, 99, 225, 200, 151, 129, 178, 197, 192, 239, 5, 51, 141, + 27, 207, 209, 58, 86, 147, 226, 150, 14, 149, 21, 165, 239, 112, 38, + 227, 21, 130, 170, 137, 16, 245, 67, 200, 230, 125, 203, 228, 9, 96, + 141, 46, 146, 108, 107, 47, 99, 18, 208, 171, 114, 133, 244, 250, 39, + 247, 122, 206, 169, 119, 199, 161, 191, 93, 207, 27, 33, 169, 205, 132, + 50, 243, 186, 69, 142, 88, 238, 190, 89, 155, 166, 11, 181, 154, 159, + 249, 143, 94, 127, 5, 14, 218, 196, 49, 46, 132, 138, 116, 14, 133, 215, + 134, 222, 213, 147, 111, 2, 116, 81, 11, 247, 78, 93, 128, 3, 134, 149, + 160, 99, 144, 37, 74, 183, 106, 85, 57, 42, 245, 179, 217, 6, 221, 230, + 107, 110, 40, 37, 206, 60, 230, 149, 9, 100, 123, 156, 25, 30, 134, 46, + 187, 250, 15, 187, 80, 57, 240, 96, 194, 226, 92, 93, 191, 66, 245, 239, + 159, 91, 162, 164, 255, 59, 50, 31, 136, 109, 141, 6, 137, 245, 97, 210, + 21, 100, 211, 203, 132, 230, 114, 254, 32, 96, 211, 83, 94, 195, 3, 212, + 17, 221, 66, 57, 60, 3, 79, 206, 189, 223, 36, 184, 95, 238, 3, 208, + 141, 116, 158, 34, 181, 20, 209, 183, 115, 241, 143, 71, 75, 139, 94, 0, + 122, 163, 186, 53, 149, 204, 5, 163, 12, 12, 56, 230, 25, 190, 89, 187, + 247, 113, 27, 149, 40, 155, 88, 0, 192, 197, 7, 201, 138, 174, 39, 185, + 123, 192, 220, 159, 220, 102, 242, 208, 138, 224, 57, 237, 41, 24, 40, + 135, 141, 23, 105, 202, 249, 233, 126, 248, 216, 218, 131, 189, 111, + 203, 248, 153, 68, 82, 117, 190, 112, 181, 60, 46, 140, 69, 54, 195, 5, + 92, 82, 158, 36, 151, 69, 199, 162, 39, 85, 188, 22, 109, 181, 234, 205, + 76, 68, 254, 109, 44, 210, 150, 93, 227, 89, 90, 235, 72, 225, 98, 199, + 212, 181, 113, 253, 90, 34, 11, 208, 184, 242, 241, 155, 134, 136, 78, + 240, 143, 36, 106, 121, 87, 123, 0, 175, 136, 31, 241, 154, 242, 40, + 153, 188, 50, 208, 237, 20, 60, 2, 115, 177, 76, 95, 157, 143, 144, 30, + 232, 184, 59, 153, 235, 198, 10, 145, 242, 167, 217, 25, 21, 26, 65, + 135, 7, 185, 204, 245, 20, 27, 45, 214, 196, 99, 55, 209, 139, 209, 134, + 77, 122, 135, 158, 4, 22, 96, 170, 6, 82, 193, 72, 140, 198, 113, 120, + 28, 142, 243, 181, 149, 119, 17, 89, 74, 143, 84, 210, 195, 74, 223, + 107, 243, 168, 96, 92, 116, 252, 76, 12, 185, 107, 157, 152, 98, 56, + 102, 18, 251, 64, 21, 235, 70, 221, 177, 102, 13, 186, 138, 144, 82, + 202, 195, 197, 236, 50, 231, 251, 198, 21, 40, 37, 209, 252, 245, 37, 1, + 100, 61, 148, 39, 207, 203, 142, 123, 55, 148, 31, 195, 251, 21, 64, + 138, 193, 75, 97, 73, 14, 127, 29, 1, 253, 88, 204, 146, 254, 5, 204, + 144, 130, 39, 36, 229, 195, 185, 54, 254, 43, 125, 143, 185, 165, 165, + 110, 190, 226, 15, 94, 192, 41, 133, 29, 28, 183, 79, 4, 101, 68, 244, + 70, 174, 79, 29, 144, 5, 12, 217, 236, 19, 76, 181, 160, 87, 15, 251, + 216, 77, 210, 130, 27, 97, 179, 75, 27, 233, 42, 32, 53, 5, 236, 208, + 173, 31, 189, 102, 131, 61, 177, 80, 77, 236, 39, 11, 39, 250, 199, 244, + 19, 247, 218, 48, 61, 157, 146, 233, 87, 229, 247, 63, 102, 169, 108, + 11, 186, 123, 25, 124, 23, 207, 48, 113, 152, 206, 154, 52, 6, 194, 151, + 101, 158, 248, 93, 64, 114, 171, 173, 238, 157, 201, 2, 95, 2, 18, 32, + 23, 191, 65, 239, 195, 29, 104, 69, 59, 230, 39, 97, 128, 160, 247, 78, + 154, 194, 175, 178, 116, 86, 114, 0, 36, 155, 11, 111, 214, 39, 126, 6, + 4, 114, 38, 217, 67, 62, 153, 126, 33, 210, 142, 87, 60, 213, 34, 14, + 151, 6, 219, 79, 167, 79, 136, 160, 160, 236, 215, 224, 150, 227, 103, + 204, 26, 112, 5, 1, 69, 25, 153, 200, 158, 147, 212, 13, 130, 41, 94, + 229, 52, 55, 102, 6, 208, 221, 85, 244, 147, 95, 57, 76, 129, 241, 104, + 3, 29, 183, 75, 193, 228, 154, 33, 32, 149, 175, 92, 56, 204, 211, 109, + 29, 202, 189, 79, 232, 241, 134, 62, 178, 228, 59, 153, 58, 246, 108, + 22, 62, 95, 217, 138, 236, 165, 174, 28, 125, 226, 12, 127, 212, 41, 32, + 46, 90, 65, 64, 250, 246, 4, 163, 155, 221, 170, 123, 18, 68, 28, 59, + 56, 182, 249, 123, 17, 224, 195, 138, 196, 187, 146, 102, 64, 39, 162, + 23, 106, 85, 253, 226, 39, 248, 52, 83, 128, 105, 63, 41, 199, 6, 74, 3, + 76, 173, 236, 78, 71, 119, 121, 90, 178, 55, 188, 181, 203, 79, 234, 64, + 198, 230, 202, 14, 79, 213, 13, 69, 164, 161, 255, 234, 168, 70, 45, + 154, 119, 1, 199, 90, 232, 137, 189, 255, 16, 187, 19, 33, 128, 136, 2, + 91, 146, 26, 58, 135, 97, 71, 202, 154, 34, 247, 217, 232, 176, 240, + 128, 147, 130, 24, 118, 213, 49, 106, 61, 190, 57, 244, 48, 57, 106, + 208, 161, 125, 207, 90, 200, 120, 144, 167, 242, 9, 139, 91, 198, 76, + 193, 71, 135, 1, 81, 186, 237, 131, 0, 87, 151, 21, 66, 201, 82, 118, + 238, 49, 213, 203, 89, 249, 140, 92, 103, 252, 105, 211, 116, 149, 161, + 39, 89, 99, 151, 107, 150, 230, 78, 56, 223, 169, 16, 76, 204, 199, 148, + 255, 253, 142, 127, 176, 49, 75, 254, 85, 209, 12, 172, 57, 3, 147, 58, + 108, 64, 47, 101, 139, 187, 66, 216, 76, 239, 0, 202, 125, 81, 163, 44, + 39, 193, 197, 145, 65, 155, 33, 219, 195, 150, 104, 136, 114, 33, 134, + 176, 30, 124, 86, 58, 46, 229, 97, 80, 29, 209, 84, 143, 209, 80, 228, + 6, 136, 121, 34, 240, 187, 8, 192, 134, 41, 226, 136, 237, 215, 226, 45, + 128, 203, 82, 158, 137, 170, 215, 154, 49, 180, 164, 224, 225, 182, 20, + 99, 62, 157, 232, 79, 109, 151, 232, 214, 176, 77, 194, 93, 106, 215, + 105, 238, 7, 214, 50, 159, 139, 84, 122, 184, 9, 82, 144, 42, 38, 152, + 60, 169, 55, 114, 231, 111, 56, 217, 17, 146, 189, 154, 184, 131, 140, + 183, 196, 224, 190, 22, 104, 128, 167, 147, 253, 23, 99, 89, 69, 180, + 94, 100, 252, 152, 204, 186, 250, 155, 50, 165, 253, 137, 6, 145, 225, + 147, 28, 56, 39, 246, 194, 36, 37, 48, 183, 232, 75, 186, 86, 207, 252, + 133, 185, 202, 1, 91, 80, 10, 39, 175, 159, 237, 151, 64, 145, 205, 225, + 153, 251, 114, 90, 97, 236, 161, 25, 134, 23, 110, 21, 168, 88, 10, 99, + 90, 7, 183, 160, 106, 79, 166, 10, 35, 79, 241, 194, 72, 95, 105, 144, + 54, 212, 62, 187, 84, 242, 206, 128, 193, 44, 5, 103, 238, 136, 3, 6, + 17, 207, 212, 79, 164, 54, 34, 6, 14, 171, 194, 171, 180, 77, 207, 207, + 3, 41, 44, 193, 111, 34, 204, 19, 191, 166, 209, 0, 183, 0, 149, 176, + 193, 48, 79, 166, 211, 172, 30, 164, 217, 237, 7, 207, 111, 111, 116, + 10, 117, 91, 49, 15, 176, 225, 124, 105, 96, 96, 98, 203, 110, 173, 76, + 87, 101, 232, 41, 164, 222, 129, 249, 223, 142, 186, 63, 234, 211, 18, + 215, 183, 210, 184, 167, 187, 0, 127, 112, 184, 127, 142, 241, 99, 96, + 18, 27, 80, 106, 87, 217, 5, 40, 195, 55, 141, 206, 178, 254, 53, 45, + 76, 247, 109, 191, 2, 111, 225, 30, 244, 240, 66, 110, 118, 205, 82, 18, + 231, 15, 87, 63, 133, 190, 76, 57, 2, 37, 58, 191, 222, 211, 28, 245, + 206, 52, 161, 235, 180, 197, 6, 178, 92, 213, 163, 108, 47, 80, 238, 32, + 182, 235, 84, 45, 222, 236, 180, 233, 32, 155, 147, 75, 12, 52, 205, + 163, 255, 111, 109, 138, 180, 144, 49, 201, 162, 37, 47, 6, 1, 217, 3, + 186, 87, 248, 136, 73, 174, 6, 20, 233, 186, 189, 195, 129, 222, 228, + 51, 192, 191, 9, 100, 106, 11, 26, 37, 184, 88, 90, 100, 6, 52, 4, 181, + 100, 238, 221, 208, 225, 7, 99, 80, 195, 94, 74, 113, 66, 188, 208, 166, + 158, 199, 143, 195, 197, 128, 97, 217, 251, 228, 230, 60, 38, 35, 10, + 55, 18, 49, 45, 12, 253, 98, 72, 54, 96, 37, 226, 56, 4, 162, 235, 47, + 234, 96, 30, 57, 21, 134, 149, 60, 44, 153, 130, 193, 253, 27, 142, 96, + 204, 192, 184, 102, 86, 198, 140, 153, 191, 208, 237, 35, 117, 139, 126, + 109, 88, 235, 253, 8, 137, 15, 134, 25, 45, 115, 160, 216, 226, 38, 250, + 215, 128, 86, 163, 44, 60, 130, 79, 133, 173, 138, 116, 70, 232, 165, + 74, 83, 163, 122, 145, 128, 24, 78, 27, 4, 2, 173, 132, 108, 3, 194, + 135, 8, 186, 69, 53, 50, 37, 64, 221, 135, 203, 65, 44, 98, 92, 192, + 100, 128, 54, 202, 243, 251, 238, 127, 198, 17, 69, 63, 196, 32, 87, + 238, 229, 177, 26, 70, 91, 70, 139, 230, 102, 140, 107, 17, 136, 5, 122, + 104, 58, 173, 174, 93, 89, 28, 1, 45, 254, 214, 248, 24, 88, 29, 201, + 136, 32, 243, 247, 30, 49, 96, 51, 192, 60, 39, 148, 75, 190, 49, 142, + 136, 72, 197, 71, 220, 200, 98, 156, 101, 70, 213, 82, 206, 214, 251, + 189, 243, 136, 181, 113, 46, 27, 79, 195, 24, 183, 12, 61, 245, 30, 188, + 192, 11, 1, 21, 76, 251, 215, 143, 230, 62, 31, 224, 216, 100, 118, 9, + 107, 84, 49, 2, 175, 168, 202, 95, 225, 129, 33, 129, 116, 158, 179, + 212, 179, 90, 128, 58, 182, 142, 117, 65, 255, 91, 100, 168, 41, 128, + 167, 32, 32, 172, 94, 120, 126, 154, 107, 87, 37, 215, 95, 162, 178, + 144, 211, 26, 144, 176, 60, 191, 234, 21, 236, 147, 125, 159, 96, 146, + 66, 97, 51, 81, 133, 31, 80, 17, 149, 112, 226, 119, 196, 119, 244, 139, + 1, 60, 149, 136, 20, 148, 76, 69, 34, 23, 124, 119, 222, 241, 223, 107, + 22, 69, 65, 185, 139, 17, 35, 4, 191, 149, 141, 61, 167, 128, 6, 14, 81, + 151, 217, 9, 169, 10, 151, 238, 232, 143, 226, 32, 16, 20, 180, 68, 44, + 188, 21, 56, 185, 97, 76, 251, 121, 18, 189, 240, 164, 89, 249, 237, + 114, 225, 41, 184, 149, 59, 6, 208, 85, 139, 219, 150, 160, 229, 85, 83, + 173, 170, 62, 17, 10, 85, 74, 113, 65, 205, 244, 89, 123, 21, 93, 182, + 33, 92, 251, 58, 115, 210, 200, 117, 96, 45, 120, 184, 175, 10, 149, 67, + 41, 70, 120, 18, 210, 230, 74, 104, 241, 224, 25, 247, 221, 6, 139, 101, + 12, 145, 45, 250, 182, 190, 20, 232, 166, 147, 194, 72, 89, 81, 58, 198, + 128, 53, 55, 10, 203, 35, 233, 34, 235, 130, 253, 194, 38, 246, 222, 22, + 235, 139, 210, 117, 92, 18, 26, 233, 205, 140, 25, 131, 83, 224, 249, + 135, 69, 7, 217, 241, 135, 47, 159, 178, 248, 233, 37, 146, 114, 137, + 126, 220, 35, 44, 66, 253, 36, 97, 85, 236, 172, 156, 187, 230, 215, + 240, 207, 60, 185, 244, 201, 204, 0, 20, 186, 113, 6, 170, 48, 65, 164, + 238, 63, 105, 52, 39, 172, 96, 236, 36, 121, 93, 71, 82, 3, 191, 127, + 244, 110, 234, 41, 45, 192, 218, 0, 212, 114, 124, 187, 240, 216, 193, + 107, 14, 95, 106, 46, 116, 243, 179, 123, 226, 174, 18, 37, 154, 0, 192, + 198, 39, 39, 62, 32, 48, 23, 44, 34, 46, 134, 98, 174, 238, 87, 249, + 208, 230, 151, 120, 249, 80, 36, 124, 199, 166, 136, 149, 227, 223, 32, + 233, 183, 135, 189, 146, 108, 255, 219, 43, 129, 152, 50, 82, 194, 30, + 56, 31, 98, 34, 175, 231, 221, 131, 87, 30, 36, 208, 13, 39, 77, 247, + 72, 183, 133, 3, 164, 27, 109, 249, 131, 21, 65, 150, 167, 169, 103, + 202, 132, 22, 189, 135, 128, 149, 155, 64, 71, 137, 175, 133, 165, 218, + 240, 25, 149, 168, 134, 47, 112, 163, 93, 80, 9, 67, 127, 143, 235, 116, + 143, 154, 104, 220, 160, 12, 173, 51, 118, 184, 107, 250, 112, 120, 120, + 169, 143, 215, 21, 178, 232, 201, 178, 203, 218, 96, 102, 41, 157, 124, + 114, 23, 217, 23, 218, 133, 213, 221, 250, 24, 145, 207, 162, 96, 64, + 152, 203, 140, 230, 110, 192, 244, 222, 3, 219, 51, 122, 20, 125, 17, + 26, 24, 16, 214, 173, 151, 143, 89, 220, 196, 209, 121, 39, 97, 1, 3, + 162, 150, 88, 73, 207, 191, 254, 90, 133, 243, 177, 150, 193, 14, 167, + 5, 35, 229, 49, 10, 87, 95, 216, 103, 219, 141, 184, 20, 77, 61, 164, + 128, 91, 127, 16, 8, 175, 84, 0, 130, 193, 132, 72, 55, 21, 80, 177, + 125, 17, 118, 168, 196, 175, 34, 227, 149, 210, 157, 55, 192, 186, 206, + 145, 132, 171, 101, 92, 33, 74, 227, 151, 10, 86, 22, 24, 13, 176, 219, + 36, 217, 91, 12, 210, 165, 19, 213, 223, 147, 235, 247, 201, 111, 48, + 242, 182, 38, 219, 18, 65, 155, 120, 174, 141, 138, 220, 237, 107, 44, + 20, 248, 99, 73, 218, 136, 6, 152, 112, 101, 37, 103, 211, 115, 16, 171, + 149, 20, 39, 88, 21, 210, 176, 138, 187, 175, 190, 130, 126, 29, 115, + 228, 49, 65, 5, 206, 96, 18, 30, 0, 216, 150, 217, 112, 181, 33, 21, 71, + 197, 45, 140, 250, 123, 52, 67, 131, 46, 200, 178, 143, 146, 137, 5, + 163, 133, 1, 209, 14, 248, 91, 200, 10, 53, 171, 33, 105, 107, 148, 48, + 89, 179, 146, 146, 43, 13, 178, 148, 145, 247, 72, 164, 216, 247, 76, + 149, 145, 45, 190, 36, 205, 19, 183, 196, 201, 119, 176, 26, 121, 166, + 225, 177, 233, 145, 129, 250, 202, 32, 94, 40, 125, 191, 147, 95, 131, + 248, 189, 33, 34, 48, 239, 117, 207, 28, 130, 179, 149, 164, 174, 27, + 17, 97, 59, 235, 19, 77, 119, 76, 150, 149, 157, 0, 245, 140, 112, 46, + 2, 128, 11, 148, 142, 0, 33, 219, 249, 25, 23, 220, 184, 160, 147, 32, + 166, 106, 56, 160, 76, 65, 121, 128, 48, 17, 199, 92, 29, 223, 151, 127, + 145, 16, 54, 114, 1, 144, 2, 161, 56, 200, 58, 66, 29, 97, 159, 148, + 199, 214, 214, 171, 157, 68, 242, 242, 252, 193, 62, 3, 42, 139, 23, 82, + 31, 159, 115, 58, 60, 243, 45, 115, 63, 163, 73, 176, 170, 43, 169, 105, + 15, 49, 39, 35, 216, 239, 170, 72, 3, 77, 94, 102, 214, 73, 25, 171, + 218, 152, 233, 154, 38, 213, 30, 32, 208, 207, 97, 71, 125, 108, 254, + 109, 209, 108, 205, 15, 80, 10, 36, 20, 241, 137, 43, 184, 108, 148, + 189, 46, 191, 186, 29, 196, 115, 173, 108, 220, 104, 124, 91, 16, 249, + 103, 41, 206, 183, 4, 132, 224, 57, 138, 39, 217, 249, 67, 43, 17, 77, + 44, 167, 11, 145, 244, 84, 154, 60, 96, 86, 151, 181, 251, 42, 161, 120, + 238, 119, 185, 161, 59, 73, 164, 5, 50, 123, 24, 22, 213, 96, 216, 61, + 132, 214, 241, 19, 244, 171, 213, 21, 157, 60, 0, 55, 106, 141, 237, + 184, 189, 208, 128, 86, 33, 100, 255, 148, 24, 152, 164, 1, 195, 170, + 170, 114, 188, 247, 91, 34, 98, 201, 170, 253, 1, 101, 215, 245, 98, + 250, 47, 204, 37, 160, 214, 38, 59, 74, 33, 144, 128, 174, 132, 217, 89, + 228, 37, 243, 143, 16, 4, 22, 103, 52, 100, 76, 112, 205, 62, 43, 164, + 226, 192, 250, 72, 113, 131, 116, 3, 241, 212, 83, 219, 222, 114, 231, + 180, 176, 69, 145, 108, 131, 184, 56, 120, 113, 121, 66, 139, 227, 132, + 252, 172, 131, 144, 41, 162, 105, 6, 110, 210, 182, 179, 16, 231, 112, + 230, 220, 219, 86, 194, 43, 89, 173, 3, 43, 228, 132, 150, 68, 191, 103, + 30, 204, 30, 198, 94, 91, 149, 228, 173, 1, 96, 134, 35, 84, 9, 132, 30, + 29, 26, 215, 98, 83, 94, 181, 95, 82, 129, 120, 238, 61, 134, 131, 227, + 173, 148, 158, 66, 192, 193, 178, 29, 114, 62, 43, 94, 105, 180, 82, + 241, 146, 8, 8, 107, 197, 56, 62, 144, 212, 254, 195, 72, 171, 191, 229, + 79, 66, 6, 151, 234, 70, 160, 234, 129, 5, 134, 227, 52, 150, 49, 126, + 63, 248, 134, 188, 180, 144, 195, 3, 34, 246, 215, 30, 224, 238, 37, 61, + 60, 97, 118, 53, 80, 5, 39, 254, 55, 163, 189, 238, 69, 58, 181, 144, + 252, 54, 217, 192, 207, 228, 138, 181, 218, 227, 205, 32, 177, 34, 102, + 98, 131, 119, 218, 207, 203, 150, 98, 3, 93, 34, 218, 41, 75, 73, 240, + 231, 122, 20, 241, 173, 192, 228, 147, 169, 199, 173, 199, 25, 6, 81, + 34, 192, 137, 59, 252, 57, 3, 156, 35, 205, 208, 172, 81, 245, 93, 199, + 226, 2, 37, 55, 46, 184, 151, 40, 185, 32, 103, 150, 242, 148, 76, 30, + 106, 182, 127, 78, 244, 156, 237, 108, 137, 130, 53, 236, 33, 94, 219, + 86, 46, 177, 181, 31, 155, 1, 17, 184, 66, 69, 145, 97, 152, 238, 150, + 212, 54, 152, 114, 143, 116, 93, 241, 131, 243, 189, 161, 126, 239, 34, + 239, 7, 113, 104, 83, 158, 179, 27, 45, 61, 174, 96, 35, 171, 221, 188, + 235, 74, 184, 153, 117, 153, 77, 251, 62, 38, 242, 216, 52, 173, 57, 91, + 130, 52, 30, 210, 250, 86, 46, 220, 39, 197, 56, 231, 110, 105, 146, 82, + 202, 52, 7, 59, 20, 22, 165, 123, 101, 33, 31, 70, 37, 70, 60, 77, 228, + 1, 194, 41, 207, 177, 52, 233, 60, 109, 228, 185, 152, 55, 220, 214, 83, + 211, 57, 138, 54, 167, 159, 246, 214, 5, 23, 7, 82, 69, 141, 226, 229, + 89, 61, 100, 200, 110, 224, 25, 223, 186, 193, 167, 28, 38, 14, 197, + 182, 111, 130, 207, 221, 57, 225, 67, 154, 118, 144, 172, 83, 56, 200, + 85, 228, 4, 123, 112, 20, 39, 222, 159, 242, 69, 51, 201, 154, 211, 165, + 122, 24, 255, 114, 67, 215, 83, 162, 16, 16, 26, 251, 206, 86, 38, 110, + 20, 246, 76, 45, 75, 139, 7, 8, 229, 198, 99, 245, 253, 182, 187, 242, + 212, 173, 86, 28, 23, 194, 161, 107, 184, 142, 149, 104, 233, 88, 167, + 0, 189, 117, 69, 26, 77, 134, 66, 241, 60, 77, 48, 40, 137, 84, 43, 2, + 101, 215, 205, 94, 153, 89, 223, 212, 84, 146, 157, 8, 245, 69, 33, 125, + 83, 185, 67, 8, 15, 132, 86, 95, 38, 131, 182, 67, 232, 63, 221, 102, + 63, 161, 172, 43, 9, 64, 73, 193, 53, 38, 8, 30, 100, 26, 115, 104, 77, + 203, 194, 231, 165, 101, 191, 37, 178, 208, 224, 86, 59, 126, 222, 134, + 206, 105, 107, 132, 85, 147, 139, 226, 250, 50, 79, 18, 9, 130, 9, 102, + 2, 48, 13, 34, 55, 39, 30, 164, 97, 184, 114, 130, 188, 42, 75, 94, 128, + 110, 34, 113, 82, 185, 23, 133, 254, 39, 83, 247, 95, 201, 245, 95, 63, + 76, 35, 238, 120, 51, 3, 9, 101, 79, 226, 253, 186, 128, 202, 100, 223, + 220, 213, 196, 191, 172, 29, 167, 71, 36, 210, 57, 146, 20, 8, 46, 255, + 100, 193, 170, 180, 255, 249, 168, 8, 165, 63, 86, 68, 18, 156, 203, + 199, 56, 191, 243, 158, 212, 160, 9, 182, 129, 24, 209, 132, 74, 49, + 135, 10, 4, 66, 171, 224, 189, 133, 90, 231, 253, 103, 154, 186, 59, 47, + 155, 102, 194, 109, 138, 115, 183, 109, 133, 7, 33, 16, 57, 37, 168, + 205, 117, 175, 156, 157, 68, 81, 203, 157, 34, 154, 40, 206, 176, 80, + 113, 86, 34, 20, 36, 5, 70, 179, 117, 100, 122, 96, 12, 241, 1, 79, 29, + 78, 195, 106, 223, 180, 158, 4, 158, 227, 216, 37, 0 ], "padding": 7 }, "hashCount": 13, - "insertionCount": 10000, + "membershipCheckCount": 10000, "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, { "bits": { "bitmap": [ - "0xc2", - "0x38", - "0xd3", - "0x8c", - "0xff", - "0x30", - "0xa6", - "0x8a", - "0x73", - "0x38", - "0x8f", - "0xf2", - "0xaa", - "0xfe", - "0xda", - "0x1b", - "0x27", - "0xbe", - "0x79", - "0x74", - "0xe8", - "0xca", - "0xbd", - "0x8e", - "0x7c", - "0xbd", - "0x78", - "0x1f", - "0xe8", - "0x65", - "0x90", - "0xf6", - "0xf6", - "0x59", - "0xf5", - "0xcd", - "0xa8", - "0xd9", - "0x50", - "0x50", - "0xe3", - "0xb0", - "0xc1", - "0x85", - "0xf1", - "0x6", - "0x5e", - "0x3e", - "0x95", - "0x8e", - "0xc9", - "0xcf", - "0x23", - "0xbc", - "0x6f", - "0xc5", - "0xf7", - "0xd4", - "0x5f", - "0xbd", - "0x9d", - "0xf", - "0x20", - "0xe5", - "0xd5", - "0x7", - "0x84", - "0x7f", - "0x24", - "0xe0", - "0x60", - "0x1f", - "0x8e", - "0xd", - "0x22", - "0xf2", - "0x54", - "0x86", - "0xb2", - "0x66", - "0xc7", - "0x99", - "0x5a", - "0xa0", - "0xc8", - "0xab", - "0x3c", - "0x7e", - "0xce", - "0x9c", - "0x4a", - "0x97", - "0x9d", - "0xb3", - "0x63", - "0xe8", - "0xc1", - "0xbe", - "0xbf", - "0x7b", - "0xd5", - "0x71", - "0x3b", - "0x4c", - "0xb5", - "0xf4", - "0x88", - "0x26", - "0xda", - "0x6", - "0x2b", - "0x46", - "0x93", - "0xaa", - "0xa6", - "0xb4", - "0x38", - "0xe", - "0x42", - "0xd5", - "0x27", - "0xbc", - "0xa5", - "0xbb", - "0x62", - "0xc4", - "0x49", - "0x68", - "0xb8", - "0x5", - "0xcd", - "0x57", - "0x7b", - "0xc4", - "0x7b", - "0x63", - "0x92", - "0xd5", - "0xd5", - "0x59", - "0xbf", - "0xf7", - "0x24", - "0x7b", - "0x90", - "0x41", - "0x1f", - "0x4f", - "0x82", - "0x83", - "0xc2", - "0x53", - "0xf0", - "0xb2", - "0x71", - "0xba", - "0x22", - "0xc8", - "0xcf", - "0x9d", - "0x47", - "0x7b", - "0x33", - "0xc", - "0xb3", - "0x72", - "0xcf", - "0x2b", - "0xae", - "0xf6", - "0x9f", - "0x6d", - "0x44", - "0x61", - "0xff", - "0xef", - "0xfc", - "0x40", - "0x12", - "0xe2", - "0xae", - "0xa1", - "0x76", - "0x58", - "0x4", - "0x76", - "0x45", - "0x6c", - "0x4", - "0xca", - "0x93", - "0x35", - "0x79", - "0x34", - "0x7", - "0xc9", - "0x83", - "0x19", - "0xe3", - "0x4d", - "0x8e", - "0x7a", - "0x48", - "0x63", - "0xe0", - "0x78", - "0x95", - "0xf8", - "0x3c", - "0xfe", - "0x92", - "0x72", - "0xc8", - "0x1c", - "0xf2", - "0x33", - "0xfd", - "0x94", - "0x13", - "0x4f", - "0x42", - "0x56", - "0x0", - "0xd1", - "0x34", - "0x3b", - "0xf0", - "0xc4", - "0xe0", - "0x62", - "0xd3", - "0xad", - "0x72", - "0xb3", - "0xfb", - "0xee", - "0x98", - "0xf8", - "0x6", - "0x91", - "0x79", - "0x88", - "0xc9", - "0xcd", - "0xb9", - "0x7b", - "0x53", - "0x10", - "0x3f", - "0xec", - "0xeb", - "0x27", - "0x99", - "0x6f", - "0xe1", - "0x99", - "0x8b", - "0xcd", - "0x2a", - "0xd8", - "0x6d", - "0xb0", - "0x46", - "0xaf", - "0x4b", - "0x7f", - "0xa5", - "0x8f", - "0x6c", - "0x37", - "0x5d", - "0x60", - "0x27", - "0x56", - "0x9c", - "0x92", - "0xb0", - "0x77", - "0x61", - "0x3e", - "0x3d", - "0xb8", - "0x31", - "0x79", - "0x54", - "0xe6", - "0xdb", - "0x33", - "0x69", - "0xf3", - "0x12", - "0x42", - "0x7d", - "0xbf", - "0x7c", - "0x9d", - "0x2a", - "0xfc", - "0x95", - "0x3f", - "0x6f", - "0x5e", - "0x44", - "0x45", - "0xc9", - "0xc8", - "0x33", - "0xdd", - "0x94", - "0xfb", - "0xcb", - "0x97", - "0x69", - "0x3b", - "0x52", - "0xf5", - "0xdb", - "0x7e", - "0x4e", - "0x51", - "0xde", - "0x57", - "0xce", - "0xe9", - "0xc7", - "0x21", - "0x9d", - "0xb6", - "0xdc", - "0x89", - "0xa3", - "0x86", - "0xbd", - "0xf7", - "0x2e", - "0x47", - "0x12", - "0xe5", - "0x1e", - "0xfc", - "0x8a", - "0xbd", - "0x54", - "0x8f", - "0x5f", - "0x66", - "0xd", - "0xe0", - "0xc7", - "0xcd", - "0x5b", - "0x7f", - "0xf4", - "0xaf", - "0x94", - "0x27", - "0x2b", - "0xb1", - "0xdb", - "0x0", - "0xc4", - "0x63", - "0x18", - "0x2", - "0xc7", - "0x1e", - "0x4", - "0xb1", - "0xfc", - "0xa5", - "0x81", - "0x4", - "0xa0", - "0x8c", - "0x86", - "0xec", - "0x5b", - "0xfe", - "0xb8", - "0x40", - "0xc5", - "0x34", - "0xdb", - "0xf8", - "0xc8", - "0xb7", - "0x78", - "0x84", - "0x25", - "0x86", - "0x50", - "0xb1", - "0x38", - "0x93", - "0x32", - "0xf9", - "0xbe", - "0x14", - "0x6c", - "0xee", - "0xe8", - "0xf5", - "0x2d", - "0x2e", - "0xa9", - "0x66", - "0x40", - "0x2a", - "0x31", - "0x41", - "0x6a", - "0xd7", - "0xca", - "0x49", - "0x8", - "0xb7", - "0xe4", - "0x9a", - "0x25", - "0xea", - "0x5", - "0x4a", - "0x42", - "0x3c", - "0x5b", - "0xa0", - "0xe9", - "0x5c", - "0xd3", - "0x9", - "0x51", - "0xf", - "0x9f", - "0x24", - "0xd0", - "0x77", - "0xc7", - "0x57", - "0xa", - "0x88", - "0x48", - "0xc4", - "0xf", - "0x67", - "0xf", - "0x8f", - "0xb3", - "0x51", - "0xe3", - "0x41", - "0x87", - "0x53", - "0x7b", - "0xbb", - "0xdb", - "0x39", - "0xf", - "0xf5", - "0x40", - "0x7c", - "0xb6", - "0xa7", - "0x26", - "0x73", - "0xa7", - "0x4f", - "0x2e", - "0xe1", - "0xc1", - "0xfb", - "0xf7", - "0x32", - "0xed", - "0x15", - "0x2f", - "0xab", - "0xf8", - "0x31", - "0xcf", - "0x7c", - "0xd7", - "0x91", - "0xf7", - "0x5d", - "0x9c", - "0xb5", - "0xb6", - "0x65", - "0xca", - "0xea", - "0xb2", - "0x81", - "0xb6", - "0x75", - "0xed", - "0x5c", - "0xe3", - "0x24", - "0x55", - "0x6f", - "0xb2", - "0x2a", - "0x6e", - "0xeb", - "0x5f", - "0xee", - "0xf8", - "0x5e", - "0x27", - "0x41", - "0xaa", - "0xe9", - "0x15", - "0x24", - "0x35", - "0x57", - "0x3c", - "0xd1", - "0xb6", - "0xa8", - "0x9e", - "0x31", - "0xb0", - "0x85", - "0x36", - "0x2f", - "0xdd", - "0x94", - "0x25", - "0x7f", - "0xab", - "0x94", - "0x57", - "0xe1", - "0x72", - "0x82", - "0x33", - "0xe7", - "0xf9", - "0xb7", - "0x47", - "0x5e", - "0x5", - "0x73", - "0x3f", - "0x61", - "0xb7", - "0xb7", - "0xa9", - "0x7", - "0x85", - "0x3f", - "0x85", - "0x85", - "0xdd", - "0x8f", - "0x10", - "0xe7", - "0x86", - "0xbb", - "0x8", - "0x7a", - "0x50", - "0x9e", - "0xd1", - "0x18", - "0x12", - "0x6e", - "0x8b", - "0x9b", - "0x8b", - "0xd6", - "0x3f", - "0x87", - "0xbb", - "0xfc", - "0x72", - "0x7e", - "0xcb", - "0x4d", - "0xe0", - "0xfd", - "0x70", - "0xfa", - "0x1d", - "0x2f", - "0x3c", - "0x5d", - "0xce", - "0x8b", - "0x25", - "0x40", - "0xe9", - "0xc8", - "0x89", - "0xb9", - "0x27", - "0xee", - "0x60", - "0xbc", - "0xd8", - "0xa3", - "0x94", - "0xc9", - "0x5a", - "0x7a", - "0xe7", - "0x7a", - "0x1b", - "0x39", - "0xf8", - "0xe0", - "0x75", - "0x7d", - "0x68", - "0x5c", - "0xe0", - "0x3f", - "0x33", - "0xf2", - "0x72", - "0xb1", - "0x28", - "0xb2", - "0x86", - "0xd9", - "0x4f", - "0xa7", - "0xb9", - "0x7b", - "0x9f", - "0xf", - "0xfb", - "0x96", - "0x9f", - "0x33", - "0x90", - "0x67", - "0xe8", - "0x46", - "0xcf", - "0xf5", - "0x3d", - "0x3", - "0x2b", - "0x9e", - "0x95", - "0xe8", - "0xac", - "0x96", - "0x48", - "0x8f", - "0xc1", - "0xe7", - "0x15", - "0xd7", - "0xca", - "0x33", - "0xbb", - "0xcc", - "0xfe", - "0xdd", - "0x17", - "0xdc", - "0xfb", - "0xd9", - "0xa5", - "0xeb", - "0x76", - "0xd1", - "0x4c", - "0x89", - "0xe8", - "0xb4", - "0xee", - "0xd6", - "0xa4", - "0x3c", - "0x63", - "0x5c", - "0xd1", - "0xe0", - "0xaf", - "0x7c", - "0x6e", - "0xf9", - "0x1c", - "0x9", - "0x95", - "0x71", - "0xfe", - "0x8", - "0xd1", - "0x8a", - "0x88", - "0x57", - "0x62", - "0xf6", - "0xd4", - "0x36", - "0xa7", - "0xf2", - "0x57", - "0x25", - "0x51", - "0xa5", - "0x63", - "0x53", - "0x78", - "0x77", - "0xea", - "0x49", - "0x42", - "0x63", - "0x9b", - "0xe3", - "0xe4", - "0x0", - "0x12", - "0xf1", - "0x4", - "0x18", - "0x12", - "0x88", - "0x5e", - "0x55", - "0x7f", - "0x59", - "0xef", - "0xa", - "0xc5", - "0xdf", - "0x52", - "0x1c", - "0x40", - "0xc6", - "0x10", - "0x14", - "0x7c", - "0x8a", - "0xb", - "0xa2", - "0xc5", - "0xac", - "0xad", - "0x14", - "0xb8", - "0x11", - "0x80", - "0x83", - "0xa1", - "0x2a", - "0x78", - "0x55", - "0x85", - "0x98", - "0xd7", - "0xa7", - "0xd8", - "0x3f", - "0xec", - "0x71", - "0xa2", - "0x79", - "0x67", - "0xe4", - "0x38", - "0xed", - "0x2c", - "0x48", - "0xf3", - "0xb0", - "0x99", - "0x1f", - "0x8b", - "0xe5", - "0xa4", - "0xf6", - "0x58", - "0x2b", - "0x7a", - "0xc", - "0x53", - "0x71", - "0x76", - "0x11", - "0x32", - "0xc2", - "0xca", - "0x7d", - "0x2d", - "0x94", - "0x82", - "0xd3", - "0xa2", - "0x27", - "0xda", - "0x30", - "0x4", - "0x87", - "0xd5", - "0x3b", - "0x32", - "0xba", - "0x36", - "0x54", - "0x4a", - "0x78", - "0x79", - "0x25", - "0x46", - "0x77", - "0x3f", - "0xa0", - "0x46", - "0xdc", - "0x4f", - "0xea", - "0x1f", - "0x7", - "0x8e", - "0xf1", - "0x3d", - "0xde", - "0x4d", - "0x7d", - "0xac", - "0xef", - "0xc2", - "0xa9", - "0xdf", - "0x12", - "0xba", - "0x3f", - "0xa6", - "0xc", - "0xc8", - "0x63", - "0xbf", - "0xa7", - "0xaa", - "0x9c", - "0x1d", - "0x60", - "0x5a", - "0x97", - "0xf7", - "0x40", - "0x87", - "0x2e", - "0x18", - "0x6d", - "0x34", - "0xa1", - "0x22", - "0xd0", - "0x15", - "0xdc", - "0x5b", - "0x4", - "0xa8", - "0x42", - "0x65", - "0xe1", - "0x95", - "0x5c", - "0xb7", - "0x6b", - "0x33", - "0x68", - "0xe6", - "0x96", - "0x40", - "0xa7", - "0x6b", - "0xec", - "0x1a", - "0xbd", - "0xc7", - "0xb8", - "0x5d", - "0xfc", - "0x74", - "0xef", - "0x18", - "0x7e", - "0x79", - "0xc", - "0x12", - "0x49", - "0x4f", - "0xf3", - "0xee", - "0x39", - "0x78", - "0x35", - "0x1c", - "0xc9", - "0x56", - "0xbf", - "0x4f", - "0x5c", - "0x5f", - "0x9e", - "0xef", - "0xc5", - "0x97", - "0xce", - "0x52", - "0x38", - "0xd", - "0x77", - "0xdf", - "0xfd", - "0x7e", - "0xf7", - "0xd7", - "0x18", - "0xe4", - "0x9f", - "0x18", - "0x31", - "0x32", - "0xaf", - "0xd4", - "0x8b", - "0xfc", - "0xe3", - "0x27", - "0xb6", - "0x56", - "0xae", - "0x5e", - "0x65", - "0x93", - "0x9f", - "0x9a", - "0xb6", - "0x57", - "0x90", - "0x85", - "0x6b", - "0x30", - "0xde", - "0x31", - "0xcb", - "0x87", - "0x83", - "0x19", - "0x6a", - "0x9a", - "0xec", - "0xcc", - "0xdb", - "0xe2", - "0xe6", - "0xcd", - "0x70", - "0x59", - "0xe6", - "0x30", - "0x94", - "0x5a", - "0xf5", - "0x5b", - "0x2e", - "0x2", - "0xd0", - "0xf5", - "0x1c", - "0x69", - "0x8c", - "0xef", - "0x7b", - "0x17", - "0xf2", - "0x9f", - "0xf7", - "0xe6", - "0xf4", - "0x1c", - "0xa2", - "0x43", - "0xc0", - "0x72", - "0x35", - "0xc3", - "0x9b", - "0x5a", - "0x28", - "0xd2", - "0x11", - "0xf2", - "0x7b", - "0xa5", - "0x42", - "0x6a", - "0x5c", - "0x66", - "0xec", - "0x8", - "0x1c", - "0x29", - "0xed", - "0x79", - "0x10", - "0x61", - "0xe6", - "0x62", - "0xb4", - "0x8e", - "0xea", - "0xc3", - "0xc5", - "0x6b", - "0xe7", - "0x21", - "0xa7", - "0x9f", - "0x7", - "0xfa", - "0xd", - "0xbd", - "0xe7", - "0x87", - "0xd2", - "0x5c", - "0x46", - "0x32", - "0xbf", - "0xe6", - "0x4c", - "0x98", - "0x63", - "0xff", - "0xf4", - "0xf7", - "0x41", - "0x7", - "0xfd", - "0xad", - "0x59", - "0x5e", - "0xf", - "0x13", - "0xb5", - "0xe2", - "0xce", - "0xf9", - "0xb0", - "0x6c", - "0x85", - "0x6d", - "0x67", - "0xc2", - "0xab", - "0xe6", - "0x20", - "0x13", - "0xc5", - "0x17", - "0xf0", - "0x85", - "0xb", - "0x25", - "0x15", - "0xb8", - "0xb5", - "0x16", - "0xf4", - "0x48", - "0xc2", - "0xaa", - "0xb1", - "0x13", - "0x2c", - "0x55", - "0x1b", - "0x34", - "0x63", - "0x30", - "0x9c", - "0x93", - "0x5b", - "0xaf", - "0x15", - "0xed", - "0xdd", - "0x5c", - "0x67", - "0xc8", - "0x2e", - "0xe2", - "0x88", - "0xf9", - "0x96", - "0x61", - "0xcd", - "0x3c", - "0xd4", - "0x7e", - "0xfc", - "0xf4", - "0x4", - "0xde", - "0x8f", - "0x4e", - "0xbd", - "0x92", - "0x3c", - "0x3b", - "0x2", - "0x9f", - "0x5", - "0x46", - "0xed", - "0x74", - "0xb", - "0xab", - "0xfe", - "0x70", - "0xf9", - "0x97", - "0xfe", - "0x13", - "0xca", - "0x6d", - "0x78", - "0x2f", - "0xbb", - "0xc4", - "0xb", - "0x38", - "0xc6", - "0x98", - "0x59", - "0x82", - "0x61", - "0x46", - "0xd2", - "0x11", - "0x3f", - "0xfa", - "0x11", - "0xa", - "0xf", - "0xb0", - "0x77", - "0xd", - "0x81", - "0xd1", - "0x47", - "0xe", - "0x26", - "0xa7", - "0x66", - "0x17", - "0x1a", - "0xc", - "0xc4", - "0x9", - "0xaa", - "0x77", - "0x9f", - "0x7f", - "0xcb", - "0x1c", - "0x48", - "0x6b", - "0x7c", - "0x68", - "0x37", - "0xe4", - "0x3a", - "0xd8", - "0x56", - "0xee", - "0xc2", - "0x55", - "0xfe", - "0x82", - "0x73", - "0xa6", - "0x56", - "0x96", - "0xc0", - "0xf8", - "0xdb", - "0x8e", - "0xa9", - "0xed", - "0xb0", - "0x58", - "0xc6", - "0xd2", - "0xea", - "0x3", - "0x31", - "0xf6", - "0xbe", - "0x78", - "0xe8", - "0xec", - "0xb1", - "0x60", - "0xf1", - "0xe6", - "0xea", - "0xe7", - "0x0", - "0x11", - "0xdf", - "0xcc", - "0xb8", - "0x42", - "0xe3", - "0xaf", - "0x73", - "0xf0", - "0xc5", - "0xff", - "0x45", - "0x57", - "0xd0", - "0xb2", - "0x17", - "0xeb", - "0x14", - "0x1a", - "0x45", - "0x45", - "0x8", - "0x27", - "0x5", - "0x2a", - "0x74", - "0xdc", - "0xfd", - "0x98", - "0xa6", - "0x95", - "0xe5", - "0xd6", - "0xc5", - "0xa7", - "0x3b", - "0xf6", - "0xea", - "0xa3", - "0xe0", - "0x96", - "0x4f", - "0x66", - "0x8c", - "0xb", - "0x75", - "0x75", - "0xff", - "0xfc", - "0x6a", - "0x98", - "0x7c", - "0x4e", - "0x3b", - "0x61", - "0xc5", - "0xa2", - "0xbe", - "0x9f", - "0xef", - "0x95", - "0xd7", - "0xc7", - "0xa4", - "0xec", - "0x2d", - "0x4f", - "0xd2", - "0xce", - "0xc2", - "0x3d", - "0xc1", - "0x23", - "0x5c", - "0x8f", - "0x38", - "0xad", - "0xe2", - "0x95", - "0xf1", - "0x47", - "0x9f", - "0xa3", - "0x79", - "0x88", - "0xb3", - "0xe6", - "0x7", - "0xa5", - "0xff", - "0x39", - "0x34", - "0xc0", - "0xbf", - "0xd5", - "0x8f", - "0xcf", - "0xef", - "0x7d", - "0x8a", - "0xbe", - "0xf7", - "0x79", - "0x8", - "0x24", - "0xee", - "0xc3", - "0x33", - "0x31", - "0x37", - "0x17", - "0xc1", - "0xf1", - "0xdf", - "0x7b", - "0xec", - "0xc0", - "0x12", - "0xae", - "0xe8", - "0x3", - "0xac", - "0xf9", - "0xc7", - "0xd0", - "0x80", - "0xd9", - "0x44", - "0xa5", - "0x0", - "0x7a", - "0xcb", - "0xeb", - "0xa6", - "0x39", - "0x8d", - "0x40", - "0x57", - "0x31", - "0x60", - "0xa7", - "0xbd", - "0x1b", - "0x28", - "0xea", - "0x76", - "0xf1", - "0x54", - "0xe3", - "0x89", - "0xfa", - "0x8b", - "0xa3", - "0xe1", - "0xcd", - "0x6b", - "0xc5", - "0x39", - "0xc7", - "0x58", - "0x13", - "0x92", - "0x68", - "0x16", - "0x4c", - "0xf7", - "0xd4", - "0x53", - "0x9e", - "0x8c", - "0xb", - "0xa", - "0x4b", - "0x4a", - "0xa5", - "0x26", - "0x88", - "0x2c", - "0xe0", - "0x1c", - "0x84", - "0xe6", - "0x90", - "0x5f", - "0xd0", - "0x52", - "0xd4", - "0x33", - "0xcc", - "0x4f", - "0x73", - "0xfa", - "0x10", - "0x49", - "0xf", - "0x67", - "0xf1", - "0x8a", - "0x1a", - "0xc5", - "0x13", - "0x5e", - "0x77", - "0xd7", - "0xf5", - "0xc1", - "0xfa", - "0xb7", - "0x57", - "0xfb", - "0xea", - "0x8e", - "0xa4", - "0x36", - "0x85", - "0xb3", - "0x56", - "0xec", - "0x71", - "0xea", - "0xb6", - "0x5f", - "0x4d", - "0x53", - "0x8a", - "0xf4", - "0x3e", - "0x95", - "0x5f", - "0xdb", - "0x97", - "0x2d", - "0xe4", - "0xb3", - "0x1c", - "0x5b", - "0x2", - "0x22", - "0xd8", - "0x6a", - "0x5f", - "0xed", - "0x34", - "0x85", - "0x91", - "0xf5", - "0xc9", - "0x48", - "0xaf", - "0x22", - "0x63", - "0xcd", - "0x33", - "0x5d", - "0x4e", - "0x8b", - "0xe0", - "0xbd", - "0x0", - "0x82", - "0xa7", - "0xf7", - "0xcf", - "0x4", - "0xb3", - "0xcd", - "0xee", - "0xa5", - "0x4b", - "0xa7", - "0x55", - "0xea", - "0x6", - "0x72", - "0xd5", - "0xe2", - "0xf6", - "0xd8", - "0x37", - "0x8f", - "0x4f", - "0x2b", - "0xd4", - "0x3b", - "0x73", - "0x50", - "0xd0", - "0xab", - "0xfb", - "0x6b", - "0x9a", - "0xba", - "0xe", - "0x72", - "0x42", - "0xb1", - "0xc8", - "0x7f", - "0xb9", - "0x97", - "0x31", - "0xd0", - "0xb3", - "0xaa", - "0x72", - "0xd", - "0x9d", - "0x52", - "0xff", - "0x78", - "0x79", - "0x9f", - "0xf", - "0xa3", - "0x5b", - "0x9e", - "0xa7", - "0x9a", - "0x35", - "0xe3", - "0x67", - "0x4f", - "0x8c", - "0x79", - "0x48", - "0xa7", - "0xa1", - "0x18", - "0xeb", - "0xae", - "0xaa", - "0xb2", - "0xac", - "0xf", - "0xf1", - "0xb7", - "0x8e", - "0xfa", - "0xe", - "0xa", - "0xed", - "0x2b", - "0x8f", - "0xbf", - "0x9f", - "0xc2", - "0x56", - "0x1b", - "0x6c", - "0x80", - "0xc4", - "0x17", - "0xd1", - "0x28", - "0x2c", - "0xef", - "0xf3", - "0x67", - "0x40", - "0xa", - "0xce", - "0x43", - "0x9b", - "0xcc", - "0xed", - "0xa5", - "0xa2", - "0xd9", - "0x5e", - "0xd0", - "0xec", - "0xb0", - "0x94", - "0x77", - "0x6e", - "0x31", - "0x71", - "0x90", - "0xc9", - "0x72", - "0x48", - "0xfe", - "0x1", - "0x66", - "0x0", - "0x34", - "0x6c", - "0x2", - "0x78", - "0x48", - "0xa9", - "0xb4", - "0x53", - "0x54", - "0xb3", - "0xcb", - "0xb6", - "0xdb", - "0x40", - "0xfd", - "0x57", - "0x94", - "0xc6", - "0xf5", - "0xda", - "0x10", - "0x2e", - "0x8f", - "0xb", - "0xd1", - "0xea", - "0x5", - "0x29", - "0x7f", - "0x2f", - "0x35", - "0xdd", - "0x34", - "0x77", - "0x9e", - "0xfe", - "0xc4", - "0x25", - "0x47", - "0xe8", - "0xd4", - "0x71", - "0x9e", - "0x0", - "0x7c", - "0xda", - "0x59", - "0x8a", - "0xa6", - "0xa2", - "0x30", - "0xbd", - "0x24", - "0xf1", - "0x9e", - "0x14", - "0xb2", - "0x81", - "0xb9", - "0x8e", - "0x38", - "0xa5", - "0xae", - "0xd6", - "0xce", - "0x30", - "0x32", - "0x26", - "0xdf", - "0xb", - "0x5a", - "0xc2", - "0x38", - "0x5d", - "0x1b", - "0x7", - "0x5c", - "0x9b", - "0xe6", - "0xa2", - "0xb6", - "0xd9", - "0xd3", - "0x6b", - "0xf2", - "0x3b", - "0x3", - "0x6d", - "0xce", - "0x30", - "0xff", - "0x86", - "0xe7", - "0x53", - "0xb9", - "0x34", - "0x9e", - "0xb5", - "0x32", - "0xe9", - "0xe9", - "0x8f", - "0x0", - "0x2f", - "0x6d", - "0x6d", - "0x8", - "0xce", - "0x47", - "0xf5", - "0x8d", - "0xb0", - "0x34", - "0xd1", - "0x36", - "0x5e", - "0x9", - "0x14", - "0xc5", - "0x8c", - "0xff", - "0x95", - "0x11", - "0xc2", - "0xb6", - "0xfe", - "0x15", - "0x8f", - "0x51", - "0xfd", - "0x2c", - "0x32", - "0x4e", - "0xe9", - "0x72", - "0xe2", - "0x76", - "0x7b", - "0xd1", - "0x5c", - "0xfd", - "0xda", - "0x49", - "0x90", - "0x6a", - "0xda", - "0x18", - "0xb2", - "0xfb", - "0x73", - "0xaf", - "0xbf", - "0xc4", - "0x4e", - "0xf3", - "0x52", - "0x56", - "0xd8", - "0xb0", - "0xcb", - "0xa2", - "0x70", - "0xfe", - "0xed", - "0xf3", - "0x3f", - "0x1", - "0x36", - "0x12", - "0xdc", - "0xc", - "0x9d", - "0x29", - "0x77", - "0xae", - "0x4c", - "0x36", - "0xdc", - "0xb9", - "0x31", - "0x6c", - "0x7", - "0x1e", - "0x89", - "0xd4", - "0xb7", - "0x69", - "0xab", - "0xe5", - "0x9e", - "0x52", - "0x52", - "0x77", - "0x44", - "0x57", - "0x91", - "0x35", - "0x58", - "0xc5", - "0x8b", - "0x3e", - "0xc5", - "0xc4", - "0xed", - "0x51", - "0x96", - "0xeb", - "0xda", - "0xb1", - "0xce", - "0x30", - "0xbb", - "0xf5", - "0xb7", - "0x84", - "0x89", - "0x63", - "0xab", - "0x36", - "0x2a", - "0x9", - "0x5d", - "0x3e", - "0xdc", - "0x51", - "0xf3", - "0xd6", - "0xe6", - "0x4c", - "0x31", - "0xeb", - "0x4f", - "0x84", - "0x63", - "0xed", - "0xe2", - "0x70", - "0xdb", - "0x12", - "0x45", - "0x45", - "0x5f", - "0x87", - "0x1e", - "0xff", - "0x3a", - "0xa0", - "0x37", - "0xca", - "0x28", - "0xae", - "0x2c", - "0x44", - "0xaa", - "0x5a", - "0x16", - "0x12", - "0x4b", - "0x23", - "0x71", - "0x51", - "0xb8", - "0xa3", - "0xf", - "0x98", - "0x45", - "0xcd", - "0x3c", - "0xcd", - "0xab", - "0xd", - "0x90", - "0xa", - "0x9e", - "0x7d", - "0xaa", - "0x8d", - "0xb2", - "0x4b", - "0xa5", - "0x7", - "0xc6", - "0x92", - "0xb0", - "0x16", - "0xd6", - "0xe2", - "0xe0", - "0xb5", - "0xe2", - "0x7f", - "0xd1", - "0xb4", - "0x32", - "0xcc", - "0xdd", - "0xea", - "0x1e", - "0xc3", - "0x8a", - "0x51", - "0xfb", - "0xa0", - "0xe6", - "0x42", - "0xf6", - "0x69", - "0xb4", - "0x33", - "0x94", - "0xfb", - "0x3e", - "0x1f", - "0x7f", - "0xf2", - "0xab", - "0xe4", - "0xe4", - "0x3", - "0x75", - "0xa9", - "0x6c", - "0x56", - "0x41", - "0x5f", - "0xb2", - "0xeb", - "0xb", - "0xb7", - "0xdc", - "0xaf", - "0x6f", - "0x1d", - "0xf3", - "0xab", - "0x1b", - "0x93", - "0xd3", - "0xbe", - "0xdc", - "0x8", - "0xbf", - "0xc8", - "0x1", - "0x44", - "0xea", - "0xdd", - "0xf7", - "0xf4", - "0x5a", - "0xeb", - "0xef", - "0xa", - "0x45", - "0xf2", - "0xa4", - "0xb0", - "0x39", - "0x0", - "0xfe", - "0x71", - "0x4c", - "0x38", - "0xc7", - "0x61", - "0x58", - "0xaf", - "0x8b", - "0x75", - "0x1a", - "0x9", - "0xf8", - "0xd7", - "0xbd", - "0xdb", - "0x5e", - "0xf9", - "0xfe", - "0xe5", - "0x22", - "0x53", - "0xd4", - "0x52", - "0x3a", - "0x1", - "0x31", - "0xee", - "0xe5", - "0xfd", - "0xde", - "0xad", - "0xfa", - "0xb7", - "0x1f", - "0xd7", - "0x4f", - "0x43", - "0x83", - "0x10", - "0xee", - "0xdd", - "0xf5", - "0xf6", - "0x9c", - "0x26", - "0x9", - "0xc7", - "0x4b", - "0x6", - "0xcf", - "0x0", - "0x11", - "0xf4", - "0x8d", - "0x97", - "0x50", - "0x4f", - "0x7a", - "0x91", - "0x97", - "0xe8", - "0x9b", - "0x7f", - "0x48", - "0xf3", - "0xad", - "0x47", - "0x9b", - "0xc", - "0x38", - "0xdd", - "0xcb", - "0xac", - "0x9c", - "0xe9", - "0x3", - "0x45", - "0xe9", - "0x45", - "0x35", - "0x40", - "0x14", - "0xe4", - "0x3c", - "0x69", - "0xf9", - "0x10", - "0xdc", - "0x91", - "0x9d", - "0x4c", - "0x60", - "0xe8", - "0x78", - "0xcc", - "0x34", - "0xd2", - "0x79", - "0xaf", - "0x35", - "0x69", - "0x84", - "0x28", - "0xd2", - "0x64", - "0x7f", - "0xe9", - "0xb4", - "0x7a", - "0x28", - "0x6a", - "0xfc", - "0x4c", - "0x97", - "0x29", - "0x4f", - "0x9d", - "0x6c", - "0x5c", - "0xdd", - "0xf5", - "0x64", - "0x77", - "0x6b", - "0x5c", - "0x54", - "0xcd", - "0x78", - "0xed", - "0x4", - "0xb3", - "0xa3", - "0x26", - "0x2b", - "0xf7", - "0x65", - "0x19", - "0x44", - "0xbd", - "0x86", - "0xb4", - "0xbc", - "0xec", - "0xbb", - "0x63", - "0xc5", - "0x28", - "0xa0", - "0xf9", - "0xe6", - "0xa7", - "0x90", - "0x9f", - "0x8", - "0x99", - "0x4f", - "0xaf", - "0xfc", - "0x1f", - "0xa2", - "0x88", - "0x94", - "0x2c", - "0x86", - "0x2c", - "0xc9", - "0xd3", - "0xf6", - "0x33", - "0x7d", - "0x36", - "0x42", - "0x6e", - "0xec", - "0xbe", - "0x67", - "0xe0", - "0xdc", - "0xb4", - "0x1a", - "0xa9", - "0x10", - "0x9", - "0xde", - "0xd3", - "0xcb", - "0x3b", - "0x90", - "0x7d", - "0x5a", - "0xc", - "0xfd", - "0x72", - "0x31", - "0x7a", - "0xad", - "0xc4", - "0x9c", - "0xb0", - "0x87", - "0x19", - "0x8c", - "0x11", - "0xbe", - "0x4d", - "0x6a", - "0x5c", - "0x82", - "0xe9", - "0xa2", - "0x1c", - "0x3e", - "0x98", - "0xc5", - "0x79", - "0x61", - "0x46", - "0x43", - "0x1c", - "0x2f", - "0xd7", - "0xb2", - "0x9b", - "0x54", - "0x17", - "0x10", - "0x13", - "0x75", - "0x5f", - "0xc", - "0xa0", - "0x51", - "0xd8", - "0x1e", - "0xef", - "0xc0", - "0xff", - "0x31", - "0x27", - "0x7", - "0x9a", - "0xcc", - "0x39", - "0xe3", - "0xf5", - "0x2", - "0x53", - "0x78", - "0xb5", - "0x19", - "0xc0", - "0x2e", - "0x9d", - "0xb4", - "0x34", - "0x5f", - "0x6e", - "0xab", - "0xe8", - "0xb6", - "0x57", - "0xfc", - "0x41", - "0x87", - "0x3f", - "0xfb", - "0xdd", - "0x8e", - "0x96", - "0x66", - "0xbf", - "0x2", - "0x70", - "0xce", - "0x2a", - "0xa6", - "0x33", - "0x72", - "0x26", - "0xf1", - "0xc6", - "0xc", - "0xf5", - "0x26", - "0xa", - "0x37", - "0x7d", - "0xdb", - "0xe1", - "0x73", - "0x2c", - "0x9a", - "0x41", - "0x11", - "0x3d", - "0xbe", - "0x26", - "0x55", - "0x87", - "0xff", - "0x7", - "0xe", - "0x72", - "0xa7", - "0xfc", - "0x65", - "0x30", - "0x55", - "0x39", - "0x25", - "0xb7", - "0x11", - "0x82", - "0xfd", - "0xaf", - "0x7a", - "0x3c", - "0xbc", - "0x45", - "0x23", - "0xca", - "0x1b", - "0x55", - "0x54", - "0x6e", - "0xab", - "0x3b", - "0x2e", - "0xb7", - "0xb8", - "0xe7", - "0xb4", - "0x8", - "0x75", - "0xed", - "0xa4", - "0xb5", - "0x9d", - "0xf4", - "0xad", - "0x97", - "0xa7", - "0x63", - "0x8f", - "0xbb", - "0xb9", - "0xbe", - "0xc2", - "0x74", - "0x9b", - "0x8d", - "0x9d", - "0xb3", - "0x62", - "0xad", - "0xdb", - "0x76", - "0x99", - "0xa0", - "0xed", - "0x64", - "0xda", - "0xd6", - "0x1", - "0x5f", - "0xee", - "0x6a", - "0x62", - "0xb7", - "0x3", - "0x5e", - "0xce", - "0xca", - "0x6d", - "0x33", - "0x7c", - "0xc3", - "0xa", - "0xf0", - "0xb8", - "0x3d", - "0x6a", - "0x2a", - "0x2c", - "0xbd", - "0x8e", - "0xa8", - "0x6d", - "0x9e", - "0x1b", - "0xdc", - "0xf7", - "0x3b", - "0xeb", - "0x51", - "0xd5", - "0xd2", - "0xc2", - "0x80", - "0x82", - "0xd5", - "0xe7", - "0x8", - "0xb2", - "0xe", - "0x6e", - "0x85", - "0x86", - "0x8b", - "0xcd", - "0x1c", - "0x23", - "0xbf", - "0xba", - "0x3a", - "0xb9", - "0xd", - "0x24", - "0x3", - "0x25", - "0xca", - "0xb9", - "0xe9", - "0x3f", - "0x1", - "0x3f", - "0xd3", - "0x34", - "0x97", - "0x8", - "0xfe", - "0xbf", - "0xb4", - "0xd1", - "0xbf", - "0xaa", - "0x71", - "0x79", - "0x15", - "0xf", - "0x78", - "0x17", - "0x3d", - "0x59", - "0xaf", - "0x76", - "0x21", - "0xa4", - "0x63", - "0xf9", - "0x40", - "0xf7", - "0x8", - "0x3c", - "0x7d", - "0x96", - "0x46", - "0xa5", - "0x51", - "0xc8", - "0xf2", - "0x3", - "0x45", - "0x76", - "0xca", - "0x7b", - "0x74", - "0xcd", - "0xe8", - "0xc0", - "0x9e", - "0xdd", - "0xbf", - "0x8f", - "0x2c", - "0x1f", - "0x48", - "0xb2", - "0x20", - "0xf7", - "0xfb", - "0xc7", - "0x3e", - "0x6d", - "0x18", - "0x5a", - "0xdc", - "0xee", - "0xaf", - "0xe2", - "0xf5", - "0x1", - "0x32", - "0x30", - "0x71", - "0x1", - "0xe8", - "0x94", - "0xc3", - "0x39", - "0xa4", - "0xe1", - "0x30", - "0xcf", - "0x34", - "0x87", - "0xb1", - "0x24", - "0xae", - "0xfe", - "0x54", - "0xc2", - "0x1f", - "0x3", - "0xfb", - "0xb8", - "0xed", - "0xc4", - "0xeb", - "0xef", - "0x9e", - "0xd4", - "0xe6", - "0xd8", - "0xb6", - "0x5b", - "0x9a", - "0x35", - "0xd2", - "0x14", - "0xd7", - "0x89", - "0x8", - "0x8b", - "0xaa", - "0x5e", - "0xa2", - "0x55", - "0x11", - "0x8d", - "0xe1", - "0x6f", - "0x35", - "0xf8", - "0x35", - "0x9f", - "0x3f", - "0x73", - "0xdb", - "0x1f", - "0xb9", - "0x6", - "0x8", - "0xf7", - "0xff", - "0xfa", - "0x95", - "0x43", - "0xc", - "0x37", - "0x62", - "0x33", - "0x6a", - "0x87", - "0x21", - "0xb", - "0xa3", - "0x40", - "0xfa", - "0xbc", - "0x63", - "0xf3", - "0x1a", - "0xb", - "0x3b", - "0x33", - "0x1a", - "0xe7", - "0x46", - "0x4a", - "0x90", - "0xf9", - "0xfb", - "0x1a", - "0x96", - "0x7b", - "0xba", - "0x8f", - "0xef", - "0x72", - "0x68", - "0xa6", - "0x1c", - "0x59", - "0xf9", - "0x14", - "0x6e", - "0x1d", - "0x64", - "0xde", - "0x41", - "0xe9", - "0x9f", - "0xb7", - "0x79", - "0x11", - "0x95", - "0x41", - "0x57", - "0x6", - "0xe4", - "0x17", - "0x7b", - "0xcc", - "0x4d", - "0x95", - "0x44", - "0x80", - "0x79", - "0x7f", - "0x39", - "0x35", - "0xa5", - "0x8a", - "0x26", - "0xbf", - "0xef", - "0x7b", - "0xd3", - "0xbe", - "0xcb", - "0x9a", - "0xfc", - "0x55", - "0x3a", - "0x9e", - "0xbb", - "0xff", - "0xfa", - "0xb5", - "0xf4", - "0x34", - "0xa2", - "0x35", - "0xe", - "0x29", - "0xd6", - "0xde", - "0xf5", - "0x91", - "0x19", - "0x93", - "0xa6", - "0xf8", - "0x56", - "0xd0", - "0x95", - "0x96", - "0xd6", - "0xfb", - "0x1f", - "0xe8", - "0x5c", - "0xd1", - "0x85", - "0x8f", - "0x3", - "0x22", - "0xf2", - "0xa6", - "0x3b", - "0x48", - "0x92", - "0x41", - "0xbf", - "0xab", - "0xdf", - "0xba", - "0xcb", - "0x4f", - "0xed", - "0xda", - "0xdb", - "0x12", - "0x14", - "0x94", - "0x4f", - "0xbc", - "0xac", - "0xee", - "0x37", - "0x48", - "0xc3", - "0x92", - "0xb5", - "0x10", - "0xb4", - "0xb7", - "0x11", - "0xdc", - "0x91", - "0x76", - "0xa2", - "0xf9", - "0x58", - "0xac", - "0xd1", - "0x42", - "0x90", - "0x15", - "0x74", - "0x9d", - "0x33", - "0xd6", - "0xc8", - "0xa3", - "0x51", - "0x69", - "0x25", - "0x43", - "0x60", - "0x21", - "0x83", - "0xf", - "0x36", - "0x1a", - "0xf8", - "0x33", - "0x7c", - "0xc8", - "0xf9", - "0x4f", - "0x91", - "0x8e", - "0x3d", - "0x29", - "0xe0", - "0x8b", - "0x92", - "0x80", - "0x28", - "0xc4", - "0x7a", - "0xc", - "0xf9", - "0x3e", - "0x7e", - "0x2f", - "0xdd", - "0xa3", - "0x5a", - "0x92", - "0xbe", - "0x9", - "0x1b", - "0xab", - "0xeb", - "0xa5", - "0xe2", - "0xce", - "0x27", - "0xcc", - "0x57", - "0xfe", - "0x53", - "0xb9", - "0xa4", - "0x0", - "0x46", - "0x4f", - "0xa1", - "0xea", - "0xaf", - "0x64", - "0x3", - "0xcb", - "0xc6", - "0x5f", - "0x74", - "0x72", - "0x64", - "0x86", - "0xad", - "0xe", - "0xb8", - "0x1d", - "0x9e", - "0x1", - "0x48", - "0xaf", - "0x37", - "0x9d", - "0x5b", - "0x46", - "0xbb", - "0x8b", - "0x4c", - "0xad", - "0xa3", - "0xe4", - "0x10", - "0xa8", - "0xaa", - "0xcc", - "0xa1", - "0xfe", - "0x11", - "0x82", - "0x4f", - "0xe7", - "0x77", - "0x3f", - "0x6a", - "0xde", - "0x71", - "0x65", - "0x8a", - "0x27", - "0x4e", - "0xe4", - "0x35", - "0x5a", - "0xf6", - "0xb6", - "0x2f", - "0xf7", - "0x6d", - "0x84", - "0x70", - "0xf3", - "0x75", - "0x8c", - "0x89", - "0xfa", - "0x8b", - "0x88", - "0xf5", - "0x99", - "0x78", - "0xfd", - "0xbe", - "0xc2", - "0xf5", - "0xcd", - "0x98", - "0x38", - "0x80", - "0xf5", - "0x73", - "0xce", - "0x37", - "0xa5", - "0x7e", - "0xa2", - "0xcb", - "0xee", - "0x4f", - "0xac", - "0x86", - "0x74", - "0x9c", - "0x3a", - "0x29", - "0xaf", - "0xcb", - "0x12", - "0x15", - "0xf3", - "0x29", - "0x2e", - "0x9b", - "0x5b", - "0x45", - "0xc7", - "0x1f", - "0x52", - "0x80", - "0x8d", - "0x69", - "0x2f", - "0x7b", - "0x46", - "0x6f", - "0xc7", - "0x83", - "0xb", - "0x8e", - "0xbd", - "0xe", - "0xe0", - "0xbb", - "0x59", - "0x30", - "0x4f", - "0x72", - "0xe7", - "0x1a", - "0xdc", - "0x35", - "0xdb", - "0x16", - "0xd9", - "0xfb", - "0xd1", - "0xd2", - "0xe9", - "0xe8", - "0x3c", - "0xd9", - "0x43", - "0xa2", - "0x2f", - "0x58", - "0x6e", - "0x5a", - "0xf2", - "0x32", - "0x28", - "0x21", - "0x86", - "0xed", - "0x5e", - "0x2b", - "0xc4", - "0x76", - "0x4e", - "0x60", - "0x12", - "0xd9", - "0xdd", - "0x98", - "0x2c", - "0xda", - "0x19", - "0x68", - "0x9d", - "0xfa", - "0x7f", - "0x44", - "0xb", - "0xa7", - "0x4c", - "0x83", - "0x6c", - "0x9c", - "0xd1", - "0x13", - "0x53", - "0x79", - "0x3c", - "0xca", - "0x58", - "0x35", - "0xd8", - "0xea", - "0x3c", - "0xdd", - "0x48", - "0x33", - "0xcd", - "0xa1", - "0x6b", - "0x15", - "0xef", - "0xc9", - "0xae", - "0x31", - "0x59", - "0x79", - "0xee", - "0x85", - "0x7", - "0xf4", - "0x3a", - "0xea", - "0x8c", - "0xb0", - "0x5d", - "0xca", - "0xdd", - "0xcd", - "0xd8", - "0xc1", - "0x9b", - "0x1d", - "0x67", - "0xbe", - "0xd4", - "0xad", - "0xa0", - "0x77", - "0x8b", - "0x1f", - "0x37", - "0x5b", - "0x1a", - "0x97", - "0xbf", - "0xf9", - "0xb3", - "0xa3", - "0xa9", - "0xb2", - "0xdb", - "0xa7", - "0xdd", - "0x0", - "0x6b", - "0xc5", - "0xb", - "0xf", - "0x31", - "0xba", - "0x7d", - "0xe5", - "0x4c", - "0xc3", - "0x13", - "0xce", - "0xfc", - "0xb2", - "0xbf", - "0x87", - "0x99", - "0x59", - "0x84", - "0xc8", - "0x5a", - "0xb6", - "0xae", - "0xf3", - "0x8d", - "0xb9", - "0x77", - "0x99", - "0x57", - "0x1", - "0xfe", - "0x69", - "0x19", - "0xc2", - "0x37", - "0x56", - "0x1f", - "0xd0", - "0xbd", - "0x99", - "0x8", - "0xbd", - "0xa5", - "0xf3", - "0x4f", - "0x38", - "0xa3", - "0xae", - "0x9d", - "0xed", - "0xbe", - "0xfa", - "0x69", - "0xf", - "0x69", - "0x51", - "0xf5", - "0xca", - "0xa5", - "0x93", - "0xee", - "0xaa", - "0x53", - "0xf2", - "0xf1", - "0xb4", - "0xbb", - "0x92", - "0xdb", - "0x76", - "0xd2", - "0x7d", - "0x6", - "0xf5", - "0x7c", - "0x16", - "0xef", - "0xd9", - "0xbe", - "0xed", - "0x14", - "0x81", - "0x92", - "0x58", - "0xcc", - "0xb9", - "0x3", - "0x45", - "0x89", - "0xfd", - "0x23", - "0xc3", - "0x67", - "0x98", - "0x80", - "0xa0", - "0x59", - "0x1d", - "0xf1", - "0xc", - "0x67", - "0x74", - "0x4", - "0x54", - "0x29", - "0xeb", - "0x99", - "0x19", - "0x3e", - "0xfa", - "0x9f", - "0xd8", - "0x5b", - "0x1c", - "0x5a", - "0xf5", - "0xb1", - "0xbd", - "0xa7", - "0x54", - "0xfd", - "0xdf", - "0xd6", - "0x9f", - "0xa0", - "0x11", - "0xcb", - "0xcc", - "0x7", - "0x8c", - "0x43", - "0xd", - "0x71", - "0xef", - "0xf9", - "0x6f", - "0xb5", - "0x82", - "0x20", - "0x9a", - "0x19", - "0x8e", - "0x43", - "0x7f", - "0x5f", - "0xed", - "0xab", - "0xb7", - "0xe8", - "0x6a", - "0x4a", - "0xbf", - "0xca", - "0x2d", - "0xdb", - "0x9a", - "0xf3", - "0x53", - "0xbc", - "0x25", - "0x32", - "0x8a", - "0x8e", - "0xdc", - "0x67", - "0x52", - "0x3", - "0xb4", - "0x5c", - "0xd6", - "0xdb", - "0x20", - "0x80", - "0xbc", - "0x9d", - "0xc5", - "0x7", - "0x63", - "0xc", - "0x7a", - "0x67", - "0xd7", - "0x68", - "0x99", - "0x70", - "0x82", - "0xa3", - "0xa", - "0xae", - "0x8b", - "0xf2", - "0x96", - "0xb6", - "0xe2", - "0x0", - "0xd2", - "0x46", - "0x7f", - "0xe5", - "0xf1", - "0x3f", - "0xe4", - "0xd3", - "0xce", - "0x24", - "0x16", - "0xe6", - "0xd", - "0xbe", - "0x39", - "0x71", - "0x7b", - "0xc5", - "0x40", - "0xb4", - "0x9d", - "0x32", - "0x5c", - "0xca", - "0x48", - "0x9f", - "0xb", - "0xbf", - "0x54", - "0x2b", - "0x7", - "0xa0", - "0x37", - "0x11", - "0xca", - "0x73", - "0x8e", - "0x46", - "0xde", - "0x6e", - "0x45", - "0xe3", - "0xbe", - "0xc6", - "0x4e", - "0x95", - "0xa4", - "0x84", - "0xc0", - "0xfe", - "0xc6", - "0xcb", - "0x5", - "0xfe", - "0x3b", - "0x7d", - "0xfa", - "0x28", - "0xd7", - "0x9e", - "0xcf", - "0xc1", - "0x3f", - "0x23", - "0x12", - "0x77", - "0xcd", - "0xe5", - "0x93", - "0x7c", - "0x5a", - "0xef", - "0x7f", - "0xf9", - "0xa0", - "0xe6", - "0x47", - "0xf9", - "0x9e", - "0x36", - "0xe7", - "0x1c", - "0x6f", - "0x6", - "0x99", - "0xed", - "0x52", - "0x39", - "0x1b", - "0xa0", - "0x4c", - "0x26", - "0x19", - "0xd7", - "0x17", - "0xd3", - "0x17", - "0xe2", - "0x5d", - "0xd8", - "0x53", - "0xb7", - "0x14", - "0x62", - "0x3e", - "0x6b", - "0xf7", - "0xff", - "0x9b", - "0x53", - "0x4b", - "0xed", - "0xad", - "0x59", - "0x55", - "0x79", - "0x96", - "0x44", - "0xc2", - "0x5b", - "0xd9", - "0x4b", - "0x4", - "0xbf", - "0x20", - "0xf2", - "0xff", - "0xfa", - "0x8c", - "0x6e", - "0x35", - "0xe7", - "0xda", - "0x89", - "0xc8", - "0xc6", - "0x88", - "0xa1", - "0x3d", - "0x9b", - "0x4b", - "0x9d", - "0x4", - "0x75", - "0x77", - "0x44", - "0xff", - "0x27", - "0x6e", - "0xfe", - "0x96", - "0x35", - "0x33", - "0x39", - "0xef", - "0x37", - "0x97", - "0x8", - "0x88", - "0xd6", - "0x78", - "0xf7", - "0x7e", - "0x92", - "0xb3", - "0xa7", - "0xa9", - "0xf4", - "0x38", - "0x77", - "0xb5", - "0xea", - "0x97", - "0x7e", - "0xb", - "0x4d", - "0x40", - "0xce", - "0xbc", - "0xde", - "0x46", - "0x5a", - "0xbf", - "0x98", - "0xa1", - "0x5a", - "0xef", - "0x4a", - "0x3a", - "0x37", - "0x6a", - "0xc3", - "0x27", - "0xdc", - "0x62", - "0xb5", - "0xae", - "0x9a", - "0xcd", - "0x5e", - "0xd0", - "0x74", - "0x7c", - "0x91", - "0xdf", - "0xd4", - "0x85", - "0x8e", - "0xc3", - "0x5c", - "0xfa", - "0xa9", - "0x53", - "0x6", - "0xd3", - "0xe9", - "0x64", - "0x60", - "0xb5", - "0x94", - "0xa5", - "0x22", - "0xf5", - "0x2a", - "0xd5", - "0xe5", - "0xb4", - "0x5c", - "0x7f", - "0x18", - "0x50", - "0xb9", - "0xd2", - "0x59", - "0xb0", - "0xae", - "0x6e", - "0xcb", - "0xa5", - "0x44", - "0x39", - "0x8f", - "0xbd", - "0xfb", - "0x86", - "0x35", - "0x51", - "0xff", - "0x97", - "0x89", - "0xf3", - "0xcd", - "0x5d", - "0x4f", - "0x41", - "0xed", - "0x11", - "0x6e", - "0x64", - "0x8", - "0xa7", - "0x3", - "0x9c", - "0x21", - "0x90", - "0x44", - "0x74", - "0x26", - "0x13", - "0x6b", - "0x89", - "0xf5", - "0x5d", - "0x86", - "0x83", - "0x3", - "0x9f", - "0xd5", - "0x70", - "0xe6", - "0xa1", - "0x27", - "0x96", - "0xe5", - "0xcc", - "0x9e", - "0xc3", - "0xc7", - "0x34", - "0xe", - "0x66", - "0x50", - "0x3d", - "0x41", - "0x16", - "0x97", - "0xb6", - "0x85", - "0xe0", - "0xe7", - "0x5e", - "0x76", - "0xef", - "0xe6", - "0xf8", - "0x60", - "0x7e", - "0xea", - "0xf8", - "0x4d", - "0x6c", - "0x81", - "0x94", - "0xf2", - "0x16", - "0xdb", - "0xf0", - "0xfe", - "0x56", - "0xee", - "0x45", - "0x69", - "0xff", - "0x51", - "0xc3", - "0x31", - "0xba", - "0xd7", - "0xdf", - "0x61", - "0xef", - "0x1d", - "0x84", - "0x4d", - "0x65", - "0x3e", - "0x3d", - "0x7b", - "0x65", - "0x3e", - "0xae", - "0x51", - "0x88", - "0xf7", - "0x22", - "0x93", - "0x56", - "0xce", - "0x54", - "0xf4", - "0x43", - "0x57", - "0x5e", - "0xe8", - "0x94", - "0x38", - "0x88", - "0x5b", - "0xbf", - "0x82", - "0x5c", - "0x18", - "0xe5", - "0xc5", - "0x1a", - "0xd4", - "0x17", - "0xce", - "0xa", - "0xc1", - "0x1a", - "0x5a", - "0xff", - "0xa", - "0xbd", - "0x30", - "0x3b", - "0x70", - "0x88", - "0xe1", - "0xa8", - "0xdb", - "0xe3", - "0xec", - "0xf6", - "0xc7", - "0x48", - "0x38", - "0xae", - "0xab", - "0x35", - "0x4d", - "0x3f", - "0x7e", - "0x37", - "0xa9", - "0x6b", - "0xb", - "0xe0", - "0xf2", - "0x73", - "0xfe", - "0xeb", - "0x8c", - "0x64", - "0x5e", - "0xb0", - "0x7d", - "0x6f", - "0xdc", - "0x11", - "0xc4", - "0x5f", - "0x40", - "0x2f", - "0x2b", - "0x7c", - "0x15", - "0xb4", - "0x6c", - "0x3d", - "0xa", - "0x9e", - "0xea", - "0xd9", - "0x21", - "0xda", - "0xb8", - "0x26", - "0x38", - "0xe7", - "0x76", - "0x76", - "0xd3", - "0x3b", - "0x8a", - "0x35", - "0x6c", - "0xb8", - "0x4b", - "0x94", - "0xcb", - "0x1b", - "0x78", - "0xb5", - "0xc5", - "0x89", - "0x5e", - "0x3a", - "0xf3", - "0x7e", - "0x9d", - "0x73", - "0xe2", - "0x30", - "0xa5", - "0x9e", - "0x93", - "0x23", - "0xf1", - "0x92", - "0x51", - "0x99", - "0x79", - "0xd5", - "0x6a", - "0xaa", - "0xb3", - "0x75", - "0x1b", - "0x2a", - "0x14", - "0x36", - "0x64", - "0xda", - "0xad", - "0x8", - "0x27", - "0x7a", - "0x4b", - "0xeb", - "0x77", - "0xd4", - "0x15", - "0xa7", - "0x8f", - "0x3e", - "0xab", - "0x8b", - "0x73", - "0x7f", - "0x85", - "0xd5", - "0xd1", - "0x31", - "0x4f", - "0x96", - "0xba", - "0x8", - "0xda", - "0x48", - "0x60", - "0x70", - "0x8f", - "0xdf", - "0xeb", - "0x70", - "0x5f", - "0x2d", - "0x2b", - "0xd8", - "0x3e", - "0x6e", - "0x70", - "0xcc", - "0x72", - "0xc5", - "0x69", - "0x71", - "0xe0", - "0x6d", - "0x2b", - "0xc8", - "0xf1", - "0x78", - "0xca", - "0x8", - "0x21", - "0x59", - "0x64", - "0x89", - "0xce", - "0x6b", - "0x94", - "0xea", - "0x14", - "0x94", - "0xdf", - "0x1", - "0x39", - "0x1a", - "0xc", - "0xba", - "0x1f", - "0xee", - "0x99", - "0x36", - "0x7b", - "0x55", - "0xca", - "0xa4", - "0xe9", - "0xe4", - "0xa2", - "0xe8", - "0x59", - "0x28", - "0x33", - "0x6e", - "0x6f", - "0x6f", - "0x6b", - "0x56", - "0xb0", - "0x7e", - "0x91", - "0x10", - "0x65", - "0x52", - "0xa6", - "0xef", - "0x7d", - "0x71", - "0x85", - "0x86", - "0xc1", - "0x37", - "0x55", - "0x18", - "0x96", - "0x8d", - "0x56", - "0x83", - "0xab", - "0xb7", - "0x1b", - "0xf9", - "0xcc", - "0xfb", - "0xaa", - "0x22", - "0x8b", - "0xff", - "0xfd", - "0xfb", - "0x6f", - "0x9e", - "0x19", - "0xa6", - "0xa1", - "0xa7", - "0x42", - "0xa3", - "0x3", - "0x56", - "0x7c", - "0x92", - "0x7", - "0x83", - "0xd1", - "0x95", - "0xe4", - "0xb9", - "0xb", - "0xd2", - "0x24", - "0x4b", - "0x8b", - "0xbb", - "0x7a", - "0x54", - "0x4b", - "0xf5", - "0x11", - "0xba", - "0xec", - "0xf0", - "0xe5", - "0x9a", - "0x12", - "0x1d", - "0xa4", - "0x3f", - "0xb1", - "0xe2", - "0xce", - "0xfa", - "0x94", - "0xfc", - "0x7d", - "0xae", - "0x78", - "0xb2", - "0x9a", - "0x4e", - "0x1", - "0x1c", - "0xaf", - "0xf2", - "0xe", - "0x44", - "0x7e", - "0x20", - "0xdb", - "0x23", - "0xa0", - "0x44", - "0xe3", - "0x4a", - "0x9c", - "0xf3", - "0x93", - "0xc0", - "0xa3", - "0x95", - "0xed", - "0x62", - "0x43", - "0x6c", - "0x54", - "0x4a", - "0x82", - "0x74", - "0xe2", - "0x7a", - "0x8b", - "0xcf", - "0xf1", - "0x99", - "0x29", - "0x1a", - "0x4", - "0xed", - "0x73", - "0xcc", - "0xe6", - "0x2e", - "0x50", - "0x28", - "0x8c", - "0x82", - "0x80", - "0x64", - "0xd3", - "0xa8", - "0x38", - "0xba", - "0xb", - "0x22", - "0x75", - "0x27", - "0xa7", - "0x9b", - "0xda", - "0x35", - "0x10", - "0x94", - "0x57", - "0xcd", - "0x80", - "0x3f", - "0xc6", - "0xa7", - "0x7", - "0x7a", - "0xd5", - "0x7d", - "0xc3", - "0xc7", - "0x1b", - "0xa8", - "0xe1", - "0xfd", - "0xa3", - "0xb0", - "0x39", - "0xa8", - "0xbc", - "0x5e", - "0x8d", - "0x55", - "0xbe", - "0x49", - "0xbb", - "0x8b", - "0x7", - "0xba", - "0x2", - "0x19", - "0xc", - "0xfb", - "0xc7", - "0x29", - "0xb6", - "0x99", - "0x30", - "0xfc", - "0x2f", - "0x8f", - "0x73", - "0xf5", - "0xc0", - "0xbc", - "0xf0", - "0x6a", - "0x6c", - "0xc3", - "0x48", - "0x79", - "0x61", - "0xbb", - "0x78", - "0xdb", - "0x32", - "0xaa", - "0x7b", - "0xce", - "0xd1", - "0xb3", - "0x18", - "0x2d", - "0x13", - "0xd", - "0xab", - "0x93", - "0x6c", - "0x4", - "0x18", - "0x96", - "0x8b", - "0xbf", - "0xe5", - "0xfa", - "0x35", - "0xf9", - "0x8c", - "0x1a", - "0xf9", - "0xd3", - "0x5", - "0xf6", - "0x37", - "0xfd", - "0x22", - "0x25", - "0x16", - "0x3e", - "0x29", - "0xbb", - "0x26", - "0xa", - "0x2e", - "0xbb", - "0xc1", - "0x37", - "0xce", - "0x3a", - "0xd0", - "0xa9", - "0xd7", - "0xf4", - "0x7", - "0xa6", - "0xd4", - "0x30", - "0xe9", - "0xa9", - "0xd5", - "0xdf", - "0x8e", - "0x6f", - "0xbd", - "0x52", - "0x9b", - "0xc0", - "0xec", - "0xd4", - "0x9a", - "0x7", - "0xa2", - "0x61", - "0xec", - "0x88", - "0x18", - "0x75", - "0xae", - "0xe3", - "0x68", - "0xdb", - "0xf9", - "0x51", - "0x5f", - "0xa7", - "0x68", - "0x10", - "0xb0", - "0x12", - "0xf5", - "0x56", - "0xc4", - "0xd9", - "0x62", - "0x62", - "0x8c", - "0xbb", - "0x93", - "0x6c", - "0x88", - "0x49", - "0x45", - "0x9", - "0x4f", - "0xdb", - "0x8d", - "0xd0", - "0xe9", - "0x9", - "0x9b", - "0x71", - "0x1c", - "0x2", - "0xcd", - "0x2b", - "0xa6", - "0xf5", - "0x1a", - "0x98", - "0xeb", - "0xb9", - "0xee", - "0x5a", - "0x61", - "0x35", - "0x18", - "0x15", - "0x37", - "0xff", - "0x9c", - "0x12", - "0x6b", - "0xd6", - "0x56", - "0x54", - "0x5b", - "0xbf", - "0x88", - "0x76", - "0xad", - "0xc4", - "0x18", - "0x96", - "0x77", - "0xa2", - "0x14", - "0x2c", - "0x6d", - "0x6e", - "0xb7", - "0xfb", - "0x62", - "0x46", - "0x56", - "0x3c", - "0xa3", - "0xa", - "0x7d", - "0x42", - "0xf4", - "0x6c", - "0xe4", - "0xc8", - "0x9f", - "0x69", - "0x18", - "0x58", - "0xd8", - "0x27", - "0x64", - "0x22", - "0x4a", - "0xa8", - "0xdc", - "0x9f", - "0x36", - "0x5d", - "0xea", - "0xbf", - "0x25", - "0x8e", - "0x22", - "0xc0", - "0xf0", - "0xa1", - "0xb9", - "0x36", - "0x88", - "0xa7", - "0xea", - "0x2c", - "0x82", - "0x5", - "0xd3", - "0x12", - "0x58", - "0x34", - "0xa1", - "0x3e", - "0xed", - "0xa4", - "0xd7", - "0x9d", - "0x39", - "0x47", - "0x7d", - "0xad", - "0x99", - "0xff", - "0xb", - "0x8a", - "0x50", - "0x4b", - "0x19", - "0x31", - "0x73", - "0x55", - "0xfe", - "0x5f", - "0xa2", - "0x5f", - "0xa", - "0x6c", - "0x4e", - "0xde", - "0x8f", - "0xd5", - "0xde", - "0x1e", - "0x98", - "0x2c", - "0x1b", - "0xf5", - "0x98", - "0xa", - "0x50", - "0x7b", - "0xa4", - "0xef", - "0x1a", - "0xb8", - "0xc6", - "0xa2", - "0x98", - "0x4e", - "0x34", - "0x75", - "0x27", - "0xcb", - "0x81", - "0x50", - "0xb3", - "0xc6", - "0xb5", - "0xcc", - "0x3b", - "0xd3", - "0x69", - "0x13", - "0x9", - "0x6f", - "0xed", - "0xd6", - "0x24", - "0x7d", - "0x6b", - "0x23", - "0xec", - "0xd5", - "0x3e", - "0xa0", - "0x21", - "0x61", - "0x10", - "0x3b", - "0x88", - "0x38", - "0x76", - "0x75", - "0x5b", - "0x4a", - "0xd", - "0xeb", - "0xcf", - "0x68", - "0x8c", - "0xfc", - "0xce", - "0x2b", - "0x42", - "0xf6", - "0x65", - "0x1", - "0xbb", - "0xc3", - "0xfc", - "0xbb", - "0xd", - "0xe6", - "0x4", - "0xc9", - "0x9c", - "0x68", - "0xde", - "0xa2", - "0x60", - "0x5f", - "0x9f", - "0x47", - "0x3e", - "0xfe", - "0xb", - "0x7c", - "0x68", - "0xd4", - "0xe1", - "0x47", - "0x7d", - "0x90", - "0xdb", - "0x9a", - "0x17", - "0x2f", - "0x2", - "0xeb", - "0xae", - "0xff", - "0x20", - "0x35", - "0x2", - "0xec", - "0xb", - "0x9b", - "0xd3", - "0x79", - "0xc2", - "0xb2", - "0x4e", - "0x15", - "0xf", - "0xfa", - "0xfe", - "0x58", - "0x99", - "0x19", - "0x14", - "0xad", - "0x34", - "0x46", - "0x9b", - "0x37", - "0xd2", - "0x3e", - "0x95", - "0x93", - "0x8a", - "0x56", - "0xb8", - "0x45", - "0x33", - "0x59", - "0x56", - "0xe6", - "0x46", - "0xe4", - "0xfa", - "0x7b", - "0x89", - "0x6d", - "0x6b", - "0x3f", - "0x82", - "0x35", - "0xdb", - "0x62", - "0xc6", - "0x3a", - "0x91", - "0x44", - "0x78", - "0x7", - "0x66", - "0xab", - "0x80", - "0xd3", - "0xf8", - "0xf6", - "0x62", - "0xda", - "0x3c", - "0x6b", - "0xfc", - "0x61", - "0xcf", - "0x1", - "0xc1", - "0x2", - "0xe5", - "0x1b", - "0xa9", - "0xa6", - "0x5b", - "0x87", - "0xed", - "0x28", - "0x4d", - "0x1f", - "0xb2", - "0xf5", - "0xef", - "0xae", - "0xae", - "0x49", - "0xbb", - "0xf5", - "0xfd", - "0x74", - "0x7a", - "0xcf", - "0xba", - "0xe1", - "0x88", - "0xfa", - "0x28", - "0xee", - "0x3b", - "0xa6", - "0xba", - "0x8e", - "0x86", - "0x1f", - "0xdb", - "0xae", - "0x86", - "0x8c", - "0xd8", - "0x18", - "0xc0", - "0x7d", - "0x1c", - "0xda", - "0x1c", - "0xff", - "0x57", - "0xf6", - "0xff", - "0x7d", - "0x66", - "0x2d", - "0xd0", - "0x7f", - "0x5e", - "0x7a", - "0xee", - "0x38", - "0x2b", - "0x44", - "0x49", - "0xbe", - "0xcc", - "0x6d", - "0xad", - "0x7f", - "0xde", - "0x7b", - "0x8c", - "0x3d", - "0x79", - "0xf7", - "0x63", - "0xd9", - "0x40", - "0xcc", - "0xfe", - "0x42", - "0xed", - "0x25", - "0x49", - "0x2a", - "0xdc", - "0xd9", - "0xe", - "0xff", - "0x59", - "0x59", - "0xa6", - "0xde", - "0x66", - "0x1e", - "0xd9", - "0xe5", - "0x71", - "0x2f", - "0xd6", - "0x95", - "0xa8", - "0xbf", - "0xbf", - "0x38", - "0x15", - "0x6c", - "0x1f", - "0x53", - "0x3b", - "0xd7", - "0x64", - "0x6", - "0x8f", - "0x9a", - "0x94", - "0xc4", - "0xf3", - "0x7", - "0xc7", - "0xf2", - "0x18", - "0x6e", - "0xee", - "0xd7", - "0x64", - "0xe1", - "0x3d", - "0xb8", - "0xa3", - "0x1f", - "0x3e", - "0x29", - "0xb9", - "0x5b", - "0xb2", - "0x45", - "0x99", - "0x11", - "0x4c", - "0xe0", - "0xb8", - "0x4a", - "0x30", - "0xbd", - "0x2", - "0x45", - "0xda", - "0x4b", - "0xc8", - "0x77", - "0x94", - "0x2f", - "0x21", - "0x86", - "0x4e", - "0x4a", - "0x12", - "0xb0", - "0x8c", - "0xcc", - "0xdb", - "0x32", - "0x4a", - "0x15", - "0x58", - "0xfb", - "0x9b", - "0xc5", - "0xb8", - "0x14", - "0xf2", - "0xf5", - "0x67", - "0xe7", - "0x48", - "0x47", - "0x0", - "0xe9", - "0xa1", - "0x9e", - "0xa7", - "0x98", - "0x75", - "0xcb", - "0x19", - "0xc1", - "0xb", - "0x17", - "0xbc", - "0xe3", - "0x85", - "0xe0", - "0x66", - "0x54", - "0x2f", - "0x9c", - "0x3b", - "0x45", - "0xcd", - "0xc0", - "0xe", - "0xe0", - "0xe4", - "0xfe", - "0x3a", - "0xc7", - "0x45", - "0xee", - "0x40", - "0xdb", - "0xf5", - "0x9e", - "0x2d", - "0xda", - "0x9b", - "0xd7", - "0x6e", - "0x5e", - "0x1e", - "0xb0", - "0x15", - "0x74", - "0x20", - "0xf9", - "0xa9", - "0x47", - "0xb1", - "0x83", - "0xe4", - "0x1e", - "0x89", - "0x34", - "0x7d", - "0x97", - "0x12", - "0x2f", - "0x2a", - "0x4", - "0xe", - "0x58", - "0x2e", - "0x72", - "0xa0", - "0x9e", - "0xda", - "0xbf", - "0xd9", - "0x42", - "0xb2", - "0x19", - "0x19", - "0x6a", - "0xf4", - "0x5e", - "0x57", - "0xc5", - "0xb2", - "0xd6", - "0xb", - "0xbd", - "0xf4", - "0x7e", - "0x10", - "0xcb", - "0xa4", - "0xc8", - "0x78", - "0x87", - "0xd7", - "0x98", - "0xbb", - "0xeb", - "0x27", - "0xf6", - "0xb0", - "0xca", - "0x9d", - "0x7a", - "0x89", - "0x1b", - "0x94", - "0xf2", - "0x92", - "0x37", - "0x8b", - "0x45", - "0xd2", - "0x12", - "0x9f", - "0x9b", - "0x42", - "0x42", - "0xf3", - "0x81", - "0x14", - "0xc5", - "0x73", - "0x18", - "0xb5", - "0xc", - "0xd", - "0xc8", - "0x26", - "0xae", - "0xe2", - "0x8c", - "0xd0", - "0xe5", - "0xb7", - "0xca", - "0xf1", - "0xfb", - "0x4c", - "0xd1", - "0xb9", - "0xc7", - "0x98", - "0x75", - "0x30", - "0xfe", - "0xe3", - "0xcd", - "0x49", - "0x63", - "0xda", - "0x27", - "0x36", - "0xed", - "0x96", - "0xf6", - "0xb9", - "0xf4", - "0xcd", - "0xcf", - "0xa3", - "0xbd", - "0x75", - "0xf0", - "0x9c", - "0x36", - "0xb5", - "0x57", - "0xa6", - "0x2a", - "0xae", - "0xde", - "0xc", - "0xc7", - "0xb5", - "0x7e", - "0x7e", - "0x4a", - "0xfa", - "0xd5", - "0x56", - "0x80", - "0x75", - "0xc1", - "0xad", - "0xd5", - "0x26", - "0x27", - "0x75", - "0x28", - "0x57", - "0x3d", - "0x80", - "0xe5", - "0xf4", - "0x33", - "0x4e", - "0x85", - "0x36", - "0xa7", - "0xcd", - "0x32", - "0x64", - "0xe3", - "0xfc", - "0x98", - "0x37", - "0xad", - "0x60", - "0xc9", - "0x0", - "0xff", - "0x20", - "0xfc", - "0xcd", - "0x41", - "0x6d", - "0x3b", - "0x61", - "0x4", - "0x77", - "0xd2", - "0xfd", - "0xb0", - "0x58", - "0x2c", - "0x95", - "0x1d", - "0x1f", - "0x4c", - "0x64", - "0xb6", - "0xbb", - "0xc1", - "0x8c", - "0xe", - "0xd4", - "0x2a", - "0x2b", - "0x2", - "0xb5", - "0xd5", - "0x56", - "0x9", - "0xca", - "0x57", - "0x54", - "0x11", - "0xf1", - "0x49", - "0x74", - "0xd", - "0x8b", - "0x55", - "0xa0", - "0xe8", - "0xba", - "0x3d", - "0x4a", - "0x9c", - "0x6f", - "0xcc", - "0x4f", - "0x8e", - "0xc", - "0x57", - "0x29", - "0x40", - "0x89", - "0xa", - "0xdd", - "0x62", - "0x55", - "0x7b", - "0x11", - "0x41", - "0x9", - "0x17", - "0xc8", - "0x19", - "0xeb", - "0xa", - "0xa2", - "0x6f", - "0x79", - "0x32", - "0x2a", - "0x2d", - "0x2c", - "0xcc", - "0xf5", - "0x19", - "0xed", - "0x8d", - "0xb0", - "0xa7", - "0x39", - "0xe6", - "0x29", - "0xce", - "0x5d", - "0xf0", - "0x2f", - "0xc7", - "0x1f", - "0xdf", - "0x6", - "0x7d", - "0xef", - "0x25", - "0x8d", - "0x64", - "0xf8", - "0xf2", - "0x8c", - "0x7a", - "0x92", - "0x24", - "0x16", - "0x6d", - "0x4c", - "0x98", - "0xcc", - "0x25", - "0xbb", - "0xf5", - "0xd1", - "0xb1", - "0xda", - "0x49", - "0x1b", - "0x86", - "0xd4", - "0x39", - "0x23", - "0xf1", - "0x4a", - "0x6d", - "0x74", - "0xa6", - "0x4c", - "0x8d", - "0xe8", - "0xd5", - "0xc1", - "0x67", - "0x70", - "0x5d", - "0x76", - "0x37", - "0xc1", - "0x22", - "0x8b", - "0x3d", - "0x6b", - "0x4a", - "0x28", - "0x1c", - "0x8a", - "0xb6", - "0x50", - "0xc2", - "0x73", - "0x81", - "0x5d", - "0xc0", - "0x32", - "0xf1", - "0xd7", - "0x74", - "0xdc", - "0xfb", - "0xa5", - "0x39", - "0x86", - "0xa2", - "0x2f", - "0x80", - "0x67", - "0x47", - "0x28", - "0xee", - "0xf2", - "0xd9", - "0x73", - "0xd9", - "0x1c", - "0xe9", - "0xa5", - "0xad", - "0x82", - "0xbd", - "0xf9", - "0x1c", - "0x93", - "0x6e", - "0x8f", - "0x9e", - "0x9d", - "0xc8", - "0x4f", - "0xec", - "0xad", - "0x1d", - "0x91", - "0x40", - "0x1e", - "0xf2", - "0xdb", - "0x51", - "0x50", - "0xb", - "0x7d", - "0x2", - "0x88", - "0x50", - "0xef", - "0x4c", - "0xc1", - "0x98", - "0xfd", - "0x4f", - "0xc6", - "0xf3", - "0x8b", - "0xe2", - "0xd0", - "0xfe", - "0xc0", - "0xf", - "0x2c", - "0x2c", - "0x5a", - "0x77", - "0x64", - "0x9a", - "0xfd", - "0xff", - "0xd4", - "0x8f", - "0xe7", - "0x9d", - "0x7b", - "0x3c", - "0xb4", - "0x8b", - "0xd8", - "0x13", - "0x60", - "0xf0", - "0x2d", - "0x2b", - "0xd4", - "0xce", - "0xf8", - "0x9d", - "0x85", - "0x1b", - "0x39", - "0xc2", - "0x99", - "0x34", - "0x76", - "0xf6", - "0xbd", - "0xe5", - "0xca", - "0xb2", - "0x3f", - "0xa0", - "0x1d", - "0x8b", - "0xa", - "0xe6", - "0xb7", - "0xab", - "0x1a", - "0x2e", - "0x15", - "0x1f", - "0xbd", - "0x53", - "0x79", - "0x37", - "0x7c", - "0xfe", - "0x60", - "0xe1", - "0x71", - "0x70", - "0xb9", - "0xa1", - "0x1f", - "0x51", - "0xde", - "0xf4", - "0x4", - "0xba", - "0xa8", - "0x2", - "0xfc", - "0x9", - "0x1f", - "0x1c", - "0xa4", - "0x82", - "0x5d", - "0x30", - "0x77", - "0xb3", - "0xa5", - "0xf5", - "0x96", - "0x67", - "0x3f", - "0x3", - "0x1b", - "0xaa", - "0x5d", - "0x39", - "0xf9", - "0x79", - "0xad", - "0xc3", - "0xbe", - "0x87", - "0x7a", - "0xd2", - "0x47", - "0x54", - "0xea", - "0xe4", - "0x6c", - "0x1a", - "0xa0", - "0x12", - "0x0", - "0xb9", - "0x9c", - "0x26", - "0x7c", - "0x3f", - "0xed", - "0xf3", - "0xab", - "0x8a", - "0x5d", - "0x43", - "0x3c", - "0x3b", - "0x12", - "0x33", - "0x8e", - "0x77", - "0x66", - "0x31", - "0xe3", - "0x6e", - "0xeb", - "0x83", - "0xef", - "0xef", - "0x2f", - "0x64", - "0x33", - "0xa5", - "0x89", - "0xea", - "0x54", - "0x1f", - "0xca", - "0x37", - "0x2e", - "0x65", - "0xad", - "0x52", - "0x63", - "0x5", - "0x5e", - "0x5a", - "0x32", - "0x44", - "0xfa", - "0xbe", - "0x46", - "0xb6", - "0xe0", - "0x32", - "0x9a", - "0x56", - "0x91", - "0xf5", - "0x89", - "0x52", - "0xf1", - "0x21", - "0x9c", - "0xff", - "0xef", - "0x24", - "0x9e", - "0x6e", - "0x25", - "0x33", - "0xd1", - "0x1c", - "0x52", - "0xfc", - "0x3b", - "0x8a", - "0xbb", - "0xcf", - "0x73", - "0xa3", - "0x7c", - "0x76", - "0x6c", - "0xc7", - "0x99", - "0xd0", - "0x59", - "0xb", - "0x52", - "0xcf", - "0xdd", - "0x5f", - "0x76", - "0x1e", - "0xfe", - "0x2a", - "0x1e", - "0xe5", - "0x67", - "0xcf", - "0xc5", - "0x4c", - "0xc9", - "0xdc", - "0x16", - "0x2a", - "0xe3", - "0x81", - "0xc2", - "0xd4", - "0x78", - "0x9b", - "0x64", - "0x6d", - "0x27", - "0x23", - "0x62", - "0xa0", - "0x14", - "0xe1", - "0x9", - "0x31", - "0x9c", - "0x65", - "0xd6", - "0x4c", - "0x57", - "0x7f", - "0x79", - "0x99", - "0x9e", - "0x16", - "0x63", - "0xc0", - "0x77", - "0x3", - "0x8e", - "0xa6", - "0x40", - "0xfd", - "0xcd", - "0xdb", - "0x77", - "0x51", - "0xa2", - "0xfa", - "0xd4", - "0x21", - "0x91", - "0x44", - "0xd5", - "0x3d", - "0x89", - "0x94", - "0x5d", - "0x84", - "0xa4", - "0x40", - "0x66", - "0xc9", - "0xbc", - "0x2", - "0x8d", - "0x2a", - "0xb2", - "0xad", - "0xb8", - "0x3f", - "0x7f", - "0x86", - "0x8a", - "0xf", - "0xdd", - "0xf9", - "0x37", - "0x38", - "0x85", - "0xd2", - "0xfd", - "0xd8", - "0xd7", - "0xc", - "0xfa", - "0x8e", - "0x9a", - "0x72", - "0x44", - "0xf6", - "0xb9", - "0x66", - "0x4f", - "0x6", - "0x4a", - "0xb9", - "0x33", - "0x0", - "0xa6", - "0xa1", - "0x75", - "0xaf", - "0xf0", - "0x6f", - "0xb2", - "0x36", - "0x8a", - "0xf3", - "0x87", - "0xd5", - "0x1b", - "0x5c", - "0xf3", - "0x7e", - "0x9a", - "0xa8", - "0xaf", - "0xd4", - "0xcf", - "0xb7", - "0xc4", - "0xd6", - "0x1f", - "0xe6", - "0x76", - "0x2b", - "0xd7", - "0x29", - "0xc5", - "0xaf", - "0x5c", - "0x7f", - "0x48", - "0xdd", - "0xee", - "0x66", - "0xe9", - "0x2f", - "0x89", - "0xad", - "0x3f", - "0x15", - "0x5e", - "0xa", - "0x3c", - "0xf7", - "0xd3", - "0x4d", - "0xfd", - "0x41", - "0x37", - "0xf5", - "0x1e", - "0x8", - "0xa9", - "0x7f", - "0x65", - "0xe1", - "0x2e", - "0x30", - "0x50", - "0x95", - "0xd9", - "0x37", - "0x4c", - "0xb", - "0xe0", - "0xb7", - "0x2e", - "0x75", - "0x7a", - "0x1f", - "0x46", - "0x88", - "0x9c", - "0x6a", - "0x5f", - "0x10", - "0x2e", - "0x99", - "0xf1", - "0xfd", - "0x76", - "0x5f", - "0x27", - "0x34", - "0xae", - "0xdd", - "0xf6", - "0x62", - "0x94", - "0xf0", - "0xb2", - "0xcb", - "0x4b", - "0x5c", - "0x4", - "0x6e", - "0x1e", - "0xbe", - "0x35", - "0x68", - "0xe5", - "0xf1", - "0x56", - "0x3e", - "0x18", - "0x99", - "0xba", - "0x69", - "0xde", - "0xab", - "0x90", - "0x3c", - "0x1b", - "0x8b", - "0xe4", - "0x14", - "0x47", - "0x1d", - "0x99", - "0x7e", - "0x4a", - "0x57", - "0xe1", - "0x7f", - "0x77", - "0x68", - "0x4f", - "0x12", - "0x4a", - "0xef", - "0x98", - "0xd8", - "0x84", - "0x59", - "0xf4", - "0x10", - "0xe9", - "0x72", - "0x7a", - "0x16", - "0x59", - "0x54", - "0xdb", - "0x2f", - "0x37", - "0x46", - "0x60", - "0xac", - "0xc6", - "0x4d", - "0xf3", - "0x58", - "0x43", - "0xa0", - "0xe", - "0x2f", - "0x55", - "0x97", - "0xc1", - "0x11", - "0x90", - "0x15", - "0x1f", - "0xc9", - "0xd8", - "0x9b", - "0xaf", - "0x6b", - "0xe9", - "0xbb", - "0x38", - "0x61", - "0xda", - "0xc1", - "0x67", - "0xa6", - "0x9e", - "0x4f", - "0xb3", - "0x6", - "0x1f", - "0xde", - "0x82", - "0x7f", - "0xb6", - "0xa0", - "0xe8", - "0xd2", - "0xa6", - "0x52", - "0xe2", - "0xf2", - "0x9f", - "0xce", - "0xd4", - "0x7f", - "0xd0", - "0xf5", - "0x81", - "0xdc", - "0x9f", - "0x6", - "0x7b", - "0xc6", - "0xca", - "0xd2", - "0x69", - "0x30", - "0x36", - "0xfd", - "0xa4", - "0x97", - "0x33", - "0x83", - "0x19", - "0xac", - "0xb3", - "0x98", - "0x9f", - "0xed", - "0xd5", - "0x8", - "0x3f", - "0xa8", - "0xbd", - "0xf9", - "0x10", - "0x5f", - "0x36", - "0x3", - "0xf8", - "0x11", - "0xd3", - "0xdd", - "0xec", - "0x99", - "0xfc", - "0xc0", - "0x48", - "0x61", - "0x0", - "0x29", - "0x96", - "0x36", - "0x9c", - "0xa1", - "0x8d", - "0xa6", - "0xa5", - "0xb1", - "0xfc", - "0xfd", - "0x7a", - "0xd8", - "0x16", - "0xb9", - "0x7b", - "0xf3", - "0x17", - "0x7a", - "0x61", - "0x5", - "0x64", - "0x84", - "0xf7", - "0x67", - "0xe9", - "0x69", - "0xc9", - "0xcd", - "0x1b", - "0x6b", - "0x83", - "0x10", - "0xd0", - "0x84", - "0x4d", - "0x16", - "0x4", - "0x94", - "0xc6", - "0x4", - "0xbd", - "0xfa", - "0xd1", - "0x3f", - "0x63", - "0x55", - "0xac", - "0x72", - "0xdc", - "0x4b", - "0xb7", - "0x67", - "0x77", - "0xfc", - "0xa2", - "0x87", - "0xb4", - "0xa9", - "0x1e", - "0x27", - "0x85", - "0x66", - "0x86", - "0x3f", - "0xfd", - "0xe2", - "0x78", - "0xcf", - "0xfd", - "0xc5", - "0xe3", - "0x3a", - "0x70", - "0xd6", - "0xf", - "0x18", - "0xff", - "0x22", - "0xf9", - "0x9f", - "0x89", - "0x1d", - "0x1a", - "0xc3", - "0x6c", - "0x87", - "0x2b", - "0x8a", - "0xca", - "0xbc", - "0xd5", - "0x79", - "0xfc", - "0x5d", - "0x9d", - "0x9e", - "0x29", - "0x20", - "0x39", - "0x50", - "0x53", - "0x6", - "0x30", - "0xa9", - "0xd8", - "0xe7", - "0xb2", - "0x1e", - "0xce", - "0x34", - "0x5d", - "0x92", - "0xc9", - "0xf7", - "0x4d", - "0xfb", - "0x3a", - "0x38", - "0xdf", - "0xfc", - "0x74", - "0x64", - "0xb", - "0xfc", - "0x63", - "0xff", - "0x5", - "0x94", - "0x8f", - "0x49", - "0x4a", - "0x1a", - "0x9e", - "0x36", - "0x4b", - "0xd3", - "0xbc", - "0x32", - "0x29", - "0xe9", - "0x4d", - "0x56", - "0xb0", - "0x76", - "0x13", - "0x66", - "0xad", - "0x7f", - "0x54", - "0xdb", - "0xe", - "0xb3", - "0xef", - "0xc5", - "0x3e", - "0x74", - "0x64", - "0x66", - "0x66", - "0xb6", - "0xc0", - "0xfa", - "0xe6", - "0x71", - "0x8a", - "0x73", - "0x1", - "0xac", - "0xf6", - "0xe7", - "0xcb", - "0x2e", - "0xa3", - "0xa4", - "0x96", - "0xb8", - "0xfe", - "0x14", - "0x7", - "0x90", - "0x73", - "0xd2", - "0x96", - "0xa", - "0xf7", - "0x5", - "0x3c", - "0xf7", - "0x4e", - "0xb", - "0xba", - "0xf5", - "0x89", - "0x3c", - "0xff", - "0xe3", - "0x29", - "0xb5", - "0xd7", - "0x20", - "0x25", - "0xb5", - "0xd3", - "0x55", - "0x59", - "0xac", - "0xf2", - "0x98", - "0xe7", - "0x9", - "0xef", - "0xe1", - "0x6e", - "0x80", - "0x34", - "0xfe", - "0x8b", - "0xef", - "0x13", - "0x5c", - "0xf8", - "0xe1", - "0x90", - "0x2e", - "0xa4", - "0x47", - "0x15", - "0x57", - "0x71", - "0x8f", - "0x95", - "0xae", - "0x24", - "0x9d", - "0x73", - "0x54", - "0xcd", - "0x99", - "0xce", - "0xa7", - "0x4c", - "0xbc", - "0x82", - "0x9", - "0x5", - "0x6c", - "0xb0", - "0x2", - "0x42", - "0x19", - "0xd8", - "0xd9", - "0x3", - "0x8e", - "0xee", - "0xdb", - "0xa9", - "0xfb", - "0x66", - "0xe4", - "0xcd", - "0x7f", - "0x9a", - "0x73", - "0xbb", - "0x53", - "0xa6", - "0xfb", - "0xe", - "0xe1", - "0xa2", - "0xea", - "0xc0", - "0xe3", - "0xf3", - "0x76", - "0xae", - "0xaf", - "0x43", - "0xbf", - "0xb3", - "0x4b", - "0x9a", - "0xc3", - "0x29", - "0x36", - "0x5a", - "0x9d", - "0xf7", - "0xde", - "0x3c", - "0xb9", - "0xef", - "0x50", - "0x52", - "0x97", - "0x3c", - "0x49", - "0x40", - "0x36", - "0x7", - "0xfa", - "0x2c", - "0x1e", - "0x1b", - "0xf7", - "0xfe", - "0x30", - "0x31", - "0x40", - "0x3d", - "0x0", - "0x0", - "0x9c", - "0xb6", - "0xf4", - "0x13", - "0x8c", - "0xb8", - "0x47", - "0xb8", - "0x24", - "0x7", - "0xbd", - "0x58", - "0x47", - "0x5d", - "0x65", - "0x1f", - "0x63", - "0x44", - "0xc6", - "0x41", - "0x32", - "0xd5", - "0xe9", - "0x33", - "0xf6", - "0xf7", - "0x6", - "0xa1", - "0x5e", - "0xa9", - "0xa2", - "0x2d", - "0x89", - "0x77", - "0x5d", - "0x5e", - "0xfc", - "0x3c", - "0x8b", - "0x7d", - "0x7c", - "0x60", - "0xb3", - "0x27", - "0xe6", - "0x5b", - "0xc8", - "0x0", - "0x89", - "0xb0", - "0xd6", - "0x5c", - "0xe8", - "0xdd", - "0x5c", - "0xbb", - "0x4a", - "0xc4", - "0x38", - "0x49", - "0xf5", - "0x28", - "0x2b", - "0xf9", - "0x69", - "0xbb", - "0x7a", - "0x51", - "0xe1", - "0x69", - "0x4f", - "0xf3", - "0xa3", - "0x64", - "0xb8", - "0x65", - "0x71", - "0x9f", - "0x1d", - "0xe6", - "0xe4", - "0xf5", - "0xa5", - "0x72", - "0x89", - "0x9d", - "0x47", - "0x55", - "0xb9", - "0x6d", - "0x9", - "0xe", - "0x72", - "0xfd", - "0x97", - "0x32", - "0x5b", - "0x6c", - "0x39", - "0x9a", - "0xcc", - "0x4f", - "0xdf", - "0x4f", - "0x9d", - "0xb1", - "0x6c", - "0xf8", - "0xa4", - "0x2c", - "0x1d", - "0x67", - "0x3b", - "0xe7", - "0x36", - "0x2c", - "0x82", - "0x7a", - "0xcb", - "0x2d", - "0x2c", - "0x9b", - "0x6f", - "0xfb", - "0x86", - "0xd0", - "0x87", - "0x5f", - "0x2f", - "0x25", - "0xd8", - "0x7", - "0x26", - "0xf5", - "0x1e", - "0x8e", - "0x8b", - "0x98", - "0xed", - "0x4d", - "0x46", - "0x4d", - "0xad", - "0x6", - "0x6c", - "0xa6", - "0xd9", - "0xa4", - "0xa3", - "0x71", - "0x58", - "0x4b", - "0xce", - "0xdb", - "0x8e", - "0xe6", - "0xc4", - "0x3e", - "0x2f", - "0xa8", - "0x64", - "0x56", - "0x74", - "0x13", - "0x49", - "0x84", - "0xb7", - "0xe1", - "0x7f", - "0x24", - "0x1e", - "0x3c", - "0x2f", - "0xb7", - "0xe", - "0xcc", - "0x44", - "0x45", - "0x1f", - "0xa5", - "0x20", - "0x83", - "0x41", - "0x94", - "0xcb", - "0x34", - "0xa8", - "0x71", - "0x86", - "0x47", - "0x5b", - "0x84", - "0xfb", - "0xa9", - "0xdb", - "0xaa", - "0xd3", - "0x57", - "0xbc", - "0x76", - "0x14", - "0xd4", - "0x5b", - "0x8b", - "0x41", - "0x47", - "0xdc", - "0xcc", - "0xca", - "0xf7", - "0x8a", - "0xf4", - "0xd7", - "0xca", - "0x75", - "0x85", - "0x65", - "0x3", - "0x13" + 194, 56, 211, 140, 255, 48, 166, 138, 115, 56, 143, 242, 170, 254, 218, + 27, 39, 190, 121, 116, 232, 202, 189, 142, 124, 189, 120, 31, 232, 101, + 144, 246, 246, 89, 245, 205, 168, 217, 80, 80, 227, 176, 193, 133, 241, + 6, 94, 62, 149, 142, 201, 207, 35, 188, 111, 197, 247, 212, 95, 189, + 157, 15, 32, 229, 213, 7, 132, 127, 36, 224, 96, 31, 142, 13, 34, 242, + 84, 134, 178, 102, 199, 153, 90, 160, 200, 171, 60, 126, 206, 156, 74, + 151, 157, 179, 99, 232, 193, 190, 191, 123, 213, 113, 59, 76, 181, 244, + 136, 38, 218, 6, 43, 70, 147, 170, 166, 180, 56, 14, 66, 213, 39, 188, + 165, 187, 98, 196, 73, 104, 184, 5, 205, 87, 123, 196, 123, 99, 146, + 213, 213, 89, 191, 247, 36, 123, 144, 65, 31, 79, 130, 131, 194, 83, + 240, 178, 113, 186, 34, 200, 207, 157, 71, 123, 51, 12, 179, 114, 207, + 43, 174, 246, 159, 109, 68, 97, 255, 239, 252, 64, 18, 226, 174, 161, + 118, 88, 4, 118, 69, 108, 4, 202, 147, 53, 121, 52, 7, 201, 131, 25, + 227, 77, 142, 122, 72, 99, 224, 120, 149, 248, 60, 254, 146, 114, 200, + 28, 242, 51, 253, 148, 19, 79, 66, 86, 0, 209, 52, 59, 240, 196, 224, + 98, 211, 173, 114, 179, 251, 238, 152, 248, 6, 145, 121, 136, 201, 205, + 185, 123, 83, 16, 63, 236, 235, 39, 153, 111, 225, 153, 139, 205, 42, + 216, 109, 176, 70, 175, 75, 127, 165, 143, 108, 55, 93, 96, 39, 86, 156, + 146, 176, 119, 97, 62, 61, 184, 49, 121, 84, 230, 219, 51, 105, 243, 18, + 66, 125, 191, 124, 157, 42, 252, 149, 63, 111, 94, 68, 69, 201, 200, 51, + 221, 148, 251, 203, 151, 105, 59, 82, 245, 219, 126, 78, 81, 222, 87, + 206, 233, 199, 33, 157, 182, 220, 137, 163, 134, 189, 247, 46, 71, 18, + 229, 30, 252, 138, 189, 84, 143, 95, 102, 13, 224, 199, 205, 91, 127, + 244, 175, 148, 39, 43, 177, 219, 0, 196, 99, 24, 2, 199, 30, 4, 177, + 252, 165, 129, 4, 160, 140, 134, 236, 91, 254, 184, 64, 197, 52, 219, + 248, 200, 183, 120, 132, 37, 134, 80, 177, 56, 147, 50, 249, 190, 20, + 108, 238, 232, 245, 45, 46, 169, 102, 64, 42, 49, 65, 106, 215, 202, 73, + 8, 183, 228, 154, 37, 234, 5, 74, 66, 60, 91, 160, 233, 92, 211, 9, 81, + 15, 159, 36, 208, 119, 199, 87, 10, 136, 72, 196, 15, 103, 15, 143, 179, + 81, 227, 65, 135, 83, 123, 187, 219, 57, 15, 245, 64, 124, 182, 167, 38, + 115, 167, 79, 46, 225, 193, 251, 247, 50, 237, 21, 47, 171, 248, 49, + 207, 124, 215, 145, 247, 93, 156, 181, 182, 101, 202, 234, 178, 129, + 182, 117, 237, 92, 227, 36, 85, 111, 178, 42, 110, 235, 95, 238, 248, + 94, 39, 65, 170, 233, 21, 36, 53, 87, 60, 209, 182, 168, 158, 49, 176, + 133, 54, 47, 221, 148, 37, 127, 171, 148, 87, 225, 114, 130, 51, 231, + 249, 183, 71, 94, 5, 115, 63, 97, 183, 183, 169, 7, 133, 63, 133, 133, + 221, 143, 16, 231, 134, 187, 8, 122, 80, 158, 209, 24, 18, 110, 139, + 155, 139, 214, 63, 135, 187, 252, 114, 126, 203, 77, 224, 253, 112, 250, + 29, 47, 60, 93, 206, 139, 37, 64, 233, 200, 137, 185, 39, 238, 96, 188, + 216, 163, 148, 201, 90, 122, 231, 122, 27, 57, 248, 224, 117, 125, 104, + 92, 224, 63, 51, 242, 114, 177, 40, 178, 134, 217, 79, 167, 185, 123, + 159, 15, 251, 150, 159, 51, 144, 103, 232, 70, 207, 245, 61, 3, 43, 158, + 149, 232, 172, 150, 72, 143, 193, 231, 21, 215, 202, 51, 187, 204, 254, + 221, 23, 220, 251, 217, 165, 235, 118, 209, 76, 137, 232, 180, 238, 214, + 164, 60, 99, 92, 209, 224, 175, 124, 110, 249, 28, 9, 149, 113, 254, 8, + 209, 138, 136, 87, 98, 246, 212, 54, 167, 242, 87, 37, 81, 165, 99, 83, + 120, 119, 234, 73, 66, 99, 155, 227, 228, 0, 18, 241, 4, 24, 18, 136, + 94, 85, 127, 89, 239, 10, 197, 223, 82, 28, 64, 198, 16, 20, 124, 138, + 11, 162, 197, 172, 173, 20, 184, 17, 128, 131, 161, 42, 120, 85, 133, + 152, 215, 167, 216, 63, 236, 113, 162, 121, 103, 228, 56, 237, 44, 72, + 243, 176, 153, 31, 139, 229, 164, 246, 88, 43, 122, 12, 83, 113, 118, + 17, 50, 194, 202, 125, 45, 148, 130, 211, 162, 39, 218, 48, 4, 135, 213, + 59, 50, 186, 54, 84, 74, 120, 121, 37, 70, 119, 63, 160, 70, 220, 79, + 234, 31, 7, 142, 241, 61, 222, 77, 125, 172, 239, 194, 169, 223, 18, + 186, 63, 166, 12, 200, 99, 191, 167, 170, 156, 29, 96, 90, 151, 247, 64, + 135, 46, 24, 109, 52, 161, 34, 208, 21, 220, 91, 4, 168, 66, 101, 225, + 149, 92, 183, 107, 51, 104, 230, 150, 64, 167, 107, 236, 26, 189, 199, + 184, 93, 252, 116, 239, 24, 126, 121, 12, 18, 73, 79, 243, 238, 57, 120, + 53, 28, 201, 86, 191, 79, 92, 95, 158, 239, 197, 151, 206, 82, 56, 13, + 119, 223, 253, 126, 247, 215, 24, 228, 159, 24, 49, 50, 175, 212, 139, + 252, 227, 39, 182, 86, 174, 94, 101, 147, 159, 154, 182, 87, 144, 133, + 107, 48, 222, 49, 203, 135, 131, 25, 106, 154, 236, 204, 219, 226, 230, + 205, 112, 89, 230, 48, 148, 90, 245, 91, 46, 2, 208, 245, 28, 105, 140, + 239, 123, 23, 242, 159, 247, 230, 244, 28, 162, 67, 192, 114, 53, 195, + 155, 90, 40, 210, 17, 242, 123, 165, 66, 106, 92, 102, 236, 8, 28, 41, + 237, 121, 16, 97, 230, 98, 180, 142, 234, 195, 197, 107, 231, 33, 167, + 159, 7, 250, 13, 189, 231, 135, 210, 92, 70, 50, 191, 230, 76, 152, 99, + 255, 244, 247, 65, 7, 253, 173, 89, 94, 15, 19, 181, 226, 206, 249, 176, + 108, 133, 109, 103, 194, 171, 230, 32, 19, 197, 23, 240, 133, 11, 37, + 21, 184, 181, 22, 244, 72, 194, 170, 177, 19, 44, 85, 27, 52, 99, 48, + 156, 147, 91, 175, 21, 237, 221, 92, 103, 200, 46, 226, 136, 249, 150, + 97, 205, 60, 212, 126, 252, 244, 4, 222, 143, 78, 189, 146, 60, 59, 2, + 159, 5, 70, 237, 116, 11, 171, 254, 112, 249, 151, 254, 19, 202, 109, + 120, 47, 187, 196, 11, 56, 198, 152, 89, 130, 97, 70, 210, 17, 63, 250, + 17, 10, 15, 176, 119, 13, 129, 209, 71, 14, 38, 167, 102, 23, 26, 12, + 196, 9, 170, 119, 159, 127, 203, 28, 72, 107, 124, 104, 55, 228, 58, + 216, 86, 238, 194, 85, 254, 130, 115, 166, 86, 150, 192, 248, 219, 142, + 169, 237, 176, 88, 198, 210, 234, 3, 49, 246, 190, 120, 232, 236, 177, + 96, 241, 230, 234, 231, 0, 17, 223, 204, 184, 66, 227, 175, 115, 240, + 197, 255, 69, 87, 208, 178, 23, 235, 20, 26, 69, 69, 8, 39, 5, 42, 116, + 220, 253, 152, 166, 149, 229, 214, 197, 167, 59, 246, 234, 163, 224, + 150, 79, 102, 140, 11, 117, 117, 255, 252, 106, 152, 124, 78, 59, 97, + 197, 162, 190, 159, 239, 149, 215, 199, 164, 236, 45, 79, 210, 206, 194, + 61, 193, 35, 92, 143, 56, 173, 226, 149, 241, 71, 159, 163, 121, 136, + 179, 230, 7, 165, 255, 57, 52, 192, 191, 213, 143, 207, 239, 125, 138, + 190, 247, 121, 8, 36, 238, 195, 51, 49, 55, 23, 193, 241, 223, 123, 236, + 192, 18, 174, 232, 3, 172, 249, 199, 208, 128, 217, 68, 165, 0, 122, + 203, 235, 166, 57, 141, 64, 87, 49, 96, 167, 189, 27, 40, 234, 118, 241, + 84, 227, 137, 250, 139, 163, 225, 205, 107, 197, 57, 199, 88, 19, 146, + 104, 22, 76, 247, 212, 83, 158, 140, 11, 10, 75, 74, 165, 38, 136, 44, + 224, 28, 132, 230, 144, 95, 208, 82, 212, 51, 204, 79, 115, 250, 16, 73, + 15, 103, 241, 138, 26, 197, 19, 94, 119, 215, 245, 193, 250, 183, 87, + 251, 234, 142, 164, 54, 133, 179, 86, 236, 113, 234, 182, 95, 77, 83, + 138, 244, 62, 149, 95, 219, 151, 45, 228, 179, 28, 91, 2, 34, 216, 106, + 95, 237, 52, 133, 145, 245, 201, 72, 175, 34, 99, 205, 51, 93, 78, 139, + 224, 189, 0, 130, 167, 247, 207, 4, 179, 205, 238, 165, 75, 167, 85, + 234, 6, 114, 213, 226, 246, 216, 55, 143, 79, 43, 212, 59, 115, 80, 208, + 171, 251, 107, 154, 186, 14, 114, 66, 177, 200, 127, 185, 151, 49, 208, + 179, 170, 114, 13, 157, 82, 255, 120, 121, 159, 15, 163, 91, 158, 167, + 154, 53, 227, 103, 79, 140, 121, 72, 167, 161, 24, 235, 174, 170, 178, + 172, 15, 241, 183, 142, 250, 14, 10, 237, 43, 143, 191, 159, 194, 86, + 27, 108, 128, 196, 23, 209, 40, 44, 239, 243, 103, 64, 10, 206, 67, 155, + 204, 237, 165, 162, 217, 94, 208, 236, 176, 148, 119, 110, 49, 113, 144, + 201, 114, 72, 254, 1, 102, 0, 52, 108, 2, 120, 72, 169, 180, 83, 84, + 179, 203, 182, 219, 64, 253, 87, 148, 198, 245, 218, 16, 46, 143, 11, + 209, 234, 5, 41, 127, 47, 53, 221, 52, 119, 158, 254, 196, 37, 71, 232, + 212, 113, 158, 0, 124, 218, 89, 138, 166, 162, 48, 189, 36, 241, 158, + 20, 178, 129, 185, 142, 56, 165, 174, 214, 206, 48, 50, 38, 223, 11, 90, + 194, 56, 93, 27, 7, 92, 155, 230, 162, 182, 217, 211, 107, 242, 59, 3, + 109, 206, 48, 255, 134, 231, 83, 185, 52, 158, 181, 50, 233, 233, 143, + 0, 47, 109, 109, 8, 206, 71, 245, 141, 176, 52, 209, 54, 94, 9, 20, 197, + 140, 255, 149, 17, 194, 182, 254, 21, 143, 81, 253, 44, 50, 78, 233, + 114, 226, 118, 123, 209, 92, 253, 218, 73, 144, 106, 218, 24, 178, 251, + 115, 175, 191, 196, 78, 243, 82, 86, 216, 176, 203, 162, 112, 254, 237, + 243, 63, 1, 54, 18, 220, 12, 157, 41, 119, 174, 76, 54, 220, 185, 49, + 108, 7, 30, 137, 212, 183, 105, 171, 229, 158, 82, 82, 119, 68, 87, 145, + 53, 88, 197, 139, 62, 197, 196, 237, 81, 150, 235, 218, 177, 206, 48, + 187, 245, 183, 132, 137, 99, 171, 54, 42, 9, 93, 62, 220, 81, 243, 214, + 230, 76, 49, 235, 79, 132, 99, 237, 226, 112, 219, 18, 69, 69, 95, 135, + 30, 255, 58, 160, 55, 202, 40, 174, 44, 68, 170, 90, 22, 18, 75, 35, + 113, 81, 184, 163, 15, 152, 69, 205, 60, 205, 171, 13, 144, 10, 158, + 125, 170, 141, 178, 75, 165, 7, 198, 146, 176, 22, 214, 226, 224, 181, + 226, 127, 209, 180, 50, 204, 221, 234, 30, 195, 138, 81, 251, 160, 230, + 66, 246, 105, 180, 51, 148, 251, 62, 31, 127, 242, 171, 228, 228, 3, + 117, 169, 108, 86, 65, 95, 178, 235, 11, 183, 220, 175, 111, 29, 243, + 171, 27, 147, 211, 190, 220, 8, 191, 200, 1, 68, 234, 221, 247, 244, 90, + 235, 239, 10, 69, 242, 164, 176, 57, 0, 254, 113, 76, 56, 199, 97, 88, + 175, 139, 117, 26, 9, 248, 215, 189, 219, 94, 249, 254, 229, 34, 83, + 212, 82, 58, 1, 49, 238, 229, 253, 222, 173, 250, 183, 31, 215, 79, 67, + 131, 16, 238, 221, 245, 246, 156, 38, 9, 199, 75, 6, 207, 0, 17, 244, + 141, 151, 80, 79, 122, 145, 151, 232, 155, 127, 72, 243, 173, 71, 155, + 12, 56, 221, 203, 172, 156, 233, 3, 69, 233, 69, 53, 64, 20, 228, 60, + 105, 249, 16, 220, 145, 157, 76, 96, 232, 120, 204, 52, 210, 121, 175, + 53, 105, 132, 40, 210, 100, 127, 233, 180, 122, 40, 106, 252, 76, 151, + 41, 79, 157, 108, 92, 221, 245, 100, 119, 107, 92, 84, 205, 120, 237, 4, + 179, 163, 38, 43, 247, 101, 25, 68, 189, 134, 180, 188, 236, 187, 99, + 197, 40, 160, 249, 230, 167, 144, 159, 8, 153, 79, 175, 252, 31, 162, + 136, 148, 44, 134, 44, 201, 211, 246, 51, 125, 54, 66, 110, 236, 190, + 103, 224, 220, 180, 26, 169, 16, 9, 222, 211, 203, 59, 144, 125, 90, 12, + 253, 114, 49, 122, 173, 196, 156, 176, 135, 25, 140, 17, 190, 77, 106, + 92, 130, 233, 162, 28, 62, 152, 197, 121, 97, 70, 67, 28, 47, 215, 178, + 155, 84, 23, 16, 19, 117, 95, 12, 160, 81, 216, 30, 239, 192, 255, 49, + 39, 7, 154, 204, 57, 227, 245, 2, 83, 120, 181, 25, 192, 46, 157, 180, + 52, 95, 110, 171, 232, 182, 87, 252, 65, 135, 63, 251, 221, 142, 150, + 102, 191, 2, 112, 206, 42, 166, 51, 114, 38, 241, 198, 12, 245, 38, 10, + 55, 125, 219, 225, 115, 44, 154, 65, 17, 61, 190, 38, 85, 135, 255, 7, + 14, 114, 167, 252, 101, 48, 85, 57, 37, 183, 17, 130, 253, 175, 122, 60, + 188, 69, 35, 202, 27, 85, 84, 110, 171, 59, 46, 183, 184, 231, 180, 8, + 117, 237, 164, 181, 157, 244, 173, 151, 167, 99, 143, 187, 185, 190, + 194, 116, 155, 141, 157, 179, 98, 173, 219, 118, 153, 160, 237, 100, + 218, 214, 1, 95, 238, 106, 98, 183, 3, 94, 206, 202, 109, 51, 124, 195, + 10, 240, 184, 61, 106, 42, 44, 189, 142, 168, 109, 158, 27, 220, 247, + 59, 235, 81, 213, 210, 194, 128, 130, 213, 231, 8, 178, 14, 110, 133, + 134, 139, 205, 28, 35, 191, 186, 58, 185, 13, 36, 3, 37, 202, 185, 233, + 63, 1, 63, 211, 52, 151, 8, 254, 191, 180, 209, 191, 170, 113, 121, 21, + 15, 120, 23, 61, 89, 175, 118, 33, 164, 99, 249, 64, 247, 8, 60, 125, + 150, 70, 165, 81, 200, 242, 3, 69, 118, 202, 123, 116, 205, 232, 192, + 158, 221, 191, 143, 44, 31, 72, 178, 32, 247, 251, 199, 62, 109, 24, 90, + 220, 238, 175, 226, 245, 1, 50, 48, 113, 1, 232, 148, 195, 57, 164, 225, + 48, 207, 52, 135, 177, 36, 174, 254, 84, 194, 31, 3, 251, 184, 237, 196, + 235, 239, 158, 212, 230, 216, 182, 91, 154, 53, 210, 20, 215, 137, 8, + 139, 170, 94, 162, 85, 17, 141, 225, 111, 53, 248, 53, 159, 63, 115, + 219, 31, 185, 6, 8, 247, 255, 250, 149, 67, 12, 55, 98, 51, 106, 135, + 33, 11, 163, 64, 250, 188, 99, 243, 26, 11, 59, 51, 26, 231, 70, 74, + 144, 249, 251, 26, 150, 123, 186, 143, 239, 114, 104, 166, 28, 89, 249, + 20, 110, 29, 100, 222, 65, 233, 159, 183, 121, 17, 149, 65, 87, 6, 228, + 23, 123, 204, 77, 149, 68, 128, 121, 127, 57, 53, 165, 138, 38, 191, + 239, 123, 211, 190, 203, 154, 252, 85, 58, 158, 187, 255, 250, 181, 244, + 52, 162, 53, 14, 41, 214, 222, 245, 145, 25, 147, 166, 248, 86, 208, + 149, 150, 214, 251, 31, 232, 92, 209, 133, 143, 3, 34, 242, 166, 59, 72, + 146, 65, 191, 171, 223, 186, 203, 79, 237, 218, 219, 18, 20, 148, 79, + 188, 172, 238, 55, 72, 195, 146, 181, 16, 180, 183, 17, 220, 145, 118, + 162, 249, 88, 172, 209, 66, 144, 21, 116, 157, 51, 214, 200, 163, 81, + 105, 37, 67, 96, 33, 131, 15, 54, 26, 248, 51, 124, 200, 249, 79, 145, + 142, 61, 41, 224, 139, 146, 128, 40, 196, 122, 12, 249, 62, 126, 47, + 221, 163, 90, 146, 190, 9, 27, 171, 235, 165, 226, 206, 39, 204, 87, + 254, 83, 185, 164, 0, 70, 79, 161, 234, 175, 100, 3, 203, 198, 95, 116, + 114, 100, 134, 173, 14, 184, 29, 158, 1, 72, 175, 55, 157, 91, 70, 187, + 139, 76, 173, 163, 228, 16, 168, 170, 204, 161, 254, 17, 130, 79, 231, + 119, 63, 106, 222, 113, 101, 138, 39, 78, 228, 53, 90, 246, 182, 47, + 247, 109, 132, 112, 243, 117, 140, 137, 250, 139, 136, 245, 153, 120, + 253, 190, 194, 245, 205, 152, 56, 128, 245, 115, 206, 55, 165, 126, 162, + 203, 238, 79, 172, 134, 116, 156, 58, 41, 175, 203, 18, 21, 243, 41, 46, + 155, 91, 69, 199, 31, 82, 128, 141, 105, 47, 123, 70, 111, 199, 131, 11, + 142, 189, 14, 224, 187, 89, 48, 79, 114, 231, 26, 220, 53, 219, 22, 217, + 251, 209, 210, 233, 232, 60, 217, 67, 162, 47, 88, 110, 90, 242, 50, 40, + 33, 134, 237, 94, 43, 196, 118, 78, 96, 18, 217, 221, 152, 44, 218, 25, + 104, 157, 250, 127, 68, 11, 167, 76, 131, 108, 156, 209, 19, 83, 121, + 60, 202, 88, 53, 216, 234, 60, 221, 72, 51, 205, 161, 107, 21, 239, 201, + 174, 49, 89, 121, 238, 133, 7, 244, 58, 234, 140, 176, 93, 202, 221, + 205, 216, 193, 155, 29, 103, 190, 212, 173, 160, 119, 139, 31, 55, 91, + 26, 151, 191, 249, 179, 163, 169, 178, 219, 167, 221, 0, 107, 197, 11, + 15, 49, 186, 125, 229, 76, 195, 19, 206, 252, 178, 191, 135, 153, 89, + 132, 200, 90, 182, 174, 243, 141, 185, 119, 153, 87, 1, 254, 105, 25, + 194, 55, 86, 31, 208, 189, 153, 8, 189, 165, 243, 79, 56, 163, 174, 157, + 237, 190, 250, 105, 15, 105, 81, 245, 202, 165, 147, 238, 170, 83, 242, + 241, 180, 187, 146, 219, 118, 210, 125, 6, 245, 124, 22, 239, 217, 190, + 237, 20, 129, 146, 88, 204, 185, 3, 69, 137, 253, 35, 195, 103, 152, + 128, 160, 89, 29, 241, 12, 103, 116, 4, 84, 41, 235, 153, 25, 62, 250, + 159, 216, 91, 28, 90, 245, 177, 189, 167, 84, 253, 223, 214, 159, 160, + 17, 203, 204, 7, 140, 67, 13, 113, 239, 249, 111, 181, 130, 32, 154, 25, + 142, 67, 127, 95, 237, 171, 183, 232, 106, 74, 191, 202, 45, 219, 154, + 243, 83, 188, 37, 50, 138, 142, 220, 103, 82, 3, 180, 92, 214, 219, 32, + 128, 188, 157, 197, 7, 99, 12, 122, 103, 215, 104, 153, 112, 130, 163, + 10, 174, 139, 242, 150, 182, 226, 0, 210, 70, 127, 229, 241, 63, 228, + 211, 206, 36, 22, 230, 13, 190, 57, 113, 123, 197, 64, 180, 157, 50, 92, + 202, 72, 159, 11, 191, 84, 43, 7, 160, 55, 17, 202, 115, 142, 70, 222, + 110, 69, 227, 190, 198, 78, 149, 164, 132, 192, 254, 198, 203, 5, 254, + 59, 125, 250, 40, 215, 158, 207, 193, 63, 35, 18, 119, 205, 229, 147, + 124, 90, 239, 127, 249, 160, 230, 71, 249, 158, 54, 231, 28, 111, 6, + 153, 237, 82, 57, 27, 160, 76, 38, 25, 215, 23, 211, 23, 226, 93, 216, + 83, 183, 20, 98, 62, 107, 247, 255, 155, 83, 75, 237, 173, 89, 85, 121, + 150, 68, 194, 91, 217, 75, 4, 191, 32, 242, 255, 250, 140, 110, 53, 231, + 218, 137, 200, 198, 136, 161, 61, 155, 75, 157, 4, 117, 119, 68, 255, + 39, 110, 254, 150, 53, 51, 57, 239, 55, 151, 8, 136, 214, 120, 247, 126, + 146, 179, 167, 169, 244, 56, 119, 181, 234, 151, 126, 11, 77, 64, 206, + 188, 222, 70, 90, 191, 152, 161, 90, 239, 74, 58, 55, 106, 195, 39, 220, + 98, 181, 174, 154, 205, 94, 208, 116, 124, 145, 223, 212, 133, 142, 195, + 92, 250, 169, 83, 6, 211, 233, 100, 96, 181, 148, 165, 34, 245, 42, 213, + 229, 180, 92, 127, 24, 80, 185, 210, 89, 176, 174, 110, 203, 165, 68, + 57, 143, 189, 251, 134, 53, 81, 255, 151, 137, 243, 205, 93, 79, 65, + 237, 17, 110, 100, 8, 167, 3, 156, 33, 144, 68, 116, 38, 19, 107, 137, + 245, 93, 134, 131, 3, 159, 213, 112, 230, 161, 39, 150, 229, 204, 158, + 195, 199, 52, 14, 102, 80, 61, 65, 22, 151, 182, 133, 224, 231, 94, 118, + 239, 230, 248, 96, 126, 234, 248, 77, 108, 129, 148, 242, 22, 219, 240, + 254, 86, 238, 69, 105, 255, 81, 195, 49, 186, 215, 223, 97, 239, 29, + 132, 77, 101, 62, 61, 123, 101, 62, 174, 81, 136, 247, 34, 147, 86, 206, + 84, 244, 67, 87, 94, 232, 148, 56, 136, 91, 191, 130, 92, 24, 229, 197, + 26, 212, 23, 206, 10, 193, 26, 90, 255, 10, 189, 48, 59, 112, 136, 225, + 168, 219, 227, 236, 246, 199, 72, 56, 174, 171, 53, 77, 63, 126, 55, + 169, 107, 11, 224, 242, 115, 254, 235, 140, 100, 94, 176, 125, 111, 220, + 17, 196, 95, 64, 47, 43, 124, 21, 180, 108, 61, 10, 158, 234, 217, 33, + 218, 184, 38, 56, 231, 118, 118, 211, 59, 138, 53, 108, 184, 75, 148, + 203, 27, 120, 181, 197, 137, 94, 58, 243, 126, 157, 115, 226, 48, 165, + 158, 147, 35, 241, 146, 81, 153, 121, 213, 106, 170, 179, 117, 27, 42, + 20, 54, 100, 218, 173, 8, 39, 122, 75, 235, 119, 212, 21, 167, 143, 62, + 171, 139, 115, 127, 133, 213, 209, 49, 79, 150, 186, 8, 218, 72, 96, + 112, 143, 223, 235, 112, 95, 45, 43, 216, 62, 110, 112, 204, 114, 197, + 105, 113, 224, 109, 43, 200, 241, 120, 202, 8, 33, 89, 100, 137, 206, + 107, 148, 234, 20, 148, 223, 1, 57, 26, 12, 186, 31, 238, 153, 54, 123, + 85, 202, 164, 233, 228, 162, 232, 89, 40, 51, 110, 111, 111, 107, 86, + 176, 126, 145, 16, 101, 82, 166, 239, 125, 113, 133, 134, 193, 55, 85, + 24, 150, 141, 86, 131, 171, 183, 27, 249, 204, 251, 170, 34, 139, 255, + 253, 251, 111, 158, 25, 166, 161, 167, 66, 163, 3, 86, 124, 146, 7, 131, + 209, 149, 228, 185, 11, 210, 36, 75, 139, 187, 122, 84, 75, 245, 17, + 186, 236, 240, 229, 154, 18, 29, 164, 63, 177, 226, 206, 250, 148, 252, + 125, 174, 120, 178, 154, 78, 1, 28, 175, 242, 14, 68, 126, 32, 219, 35, + 160, 68, 227, 74, 156, 243, 147, 192, 163, 149, 237, 98, 67, 108, 84, + 74, 130, 116, 226, 122, 139, 207, 241, 153, 41, 26, 4, 237, 115, 204, + 230, 46, 80, 40, 140, 130, 128, 100, 211, 168, 56, 186, 11, 34, 117, 39, + 167, 155, 218, 53, 16, 148, 87, 205, 128, 63, 198, 167, 7, 122, 213, + 125, 195, 199, 27, 168, 225, 253, 163, 176, 57, 168, 188, 94, 141, 85, + 190, 73, 187, 139, 7, 186, 2, 25, 12, 251, 199, 41, 182, 153, 48, 252, + 47, 143, 115, 245, 192, 188, 240, 106, 108, 195, 72, 121, 97, 187, 120, + 219, 50, 170, 123, 206, 209, 179, 24, 45, 19, 13, 171, 147, 108, 4, 24, + 150, 139, 191, 229, 250, 53, 249, 140, 26, 249, 211, 5, 246, 55, 253, + 34, 37, 22, 62, 41, 187, 38, 10, 46, 187, 193, 55, 206, 58, 208, 169, + 215, 244, 7, 166, 212, 48, 233, 169, 213, 223, 142, 111, 189, 82, 155, + 192, 236, 212, 154, 7, 162, 97, 236, 136, 24, 117, 174, 227, 104, 219, + 249, 81, 95, 167, 104, 16, 176, 18, 245, 86, 196, 217, 98, 98, 140, 187, + 147, 108, 136, 73, 69, 9, 79, 219, 141, 208, 233, 9, 155, 113, 28, 2, + 205, 43, 166, 245, 26, 152, 235, 185, 238, 90, 97, 53, 24, 21, 55, 255, + 156, 18, 107, 214, 86, 84, 91, 191, 136, 118, 173, 196, 24, 150, 119, + 162, 20, 44, 109, 110, 183, 251, 98, 70, 86, 60, 163, 10, 125, 66, 244, + 108, 228, 200, 159, 105, 24, 88, 216, 39, 100, 34, 74, 168, 220, 159, + 54, 93, 234, 191, 37, 142, 34, 192, 240, 161, 185, 54, 136, 167, 234, + 44, 130, 5, 211, 18, 88, 52, 161, 62, 237, 164, 215, 157, 57, 71, 125, + 173, 153, 255, 11, 138, 80, 75, 25, 49, 115, 85, 254, 95, 162, 95, 10, + 108, 78, 222, 143, 213, 222, 30, 152, 44, 27, 245, 152, 10, 80, 123, + 164, 239, 26, 184, 198, 162, 152, 78, 52, 117, 39, 203, 129, 80, 179, + 198, 181, 204, 59, 211, 105, 19, 9, 111, 237, 214, 36, 125, 107, 35, + 236, 213, 62, 160, 33, 97, 16, 59, 136, 56, 118, 117, 91, 74, 13, 235, + 207, 104, 140, 252, 206, 43, 66, 246, 101, 1, 187, 195, 252, 187, 13, + 230, 4, 201, 156, 104, 222, 162, 96, 95, 159, 71, 62, 254, 11, 124, 104, + 212, 225, 71, 125, 144, 219, 154, 23, 47, 2, 235, 174, 255, 32, 53, 2, + 236, 11, 155, 211, 121, 194, 178, 78, 21, 15, 250, 254, 88, 153, 25, 20, + 173, 52, 70, 155, 55, 210, 62, 149, 147, 138, 86, 184, 69, 51, 89, 86, + 230, 70, 228, 250, 123, 137, 109, 107, 63, 130, 53, 219, 98, 198, 58, + 145, 68, 120, 7, 102, 171, 128, 211, 248, 246, 98, 218, 60, 107, 252, + 97, 207, 1, 193, 2, 229, 27, 169, 166, 91, 135, 237, 40, 77, 31, 178, + 245, 239, 174, 174, 73, 187, 245, 253, 116, 122, 207, 186, 225, 136, + 250, 40, 238, 59, 166, 186, 142, 134, 31, 219, 174, 134, 140, 216, 24, + 192, 125, 28, 218, 28, 255, 87, 246, 255, 125, 102, 45, 208, 127, 94, + 122, 238, 56, 43, 68, 73, 190, 204, 109, 173, 127, 222, 123, 140, 61, + 121, 247, 99, 217, 64, 204, 254, 66, 237, 37, 73, 42, 220, 217, 14, 255, + 89, 89, 166, 222, 102, 30, 217, 229, 113, 47, 214, 149, 168, 191, 191, + 56, 21, 108, 31, 83, 59, 215, 100, 6, 143, 154, 148, 196, 243, 7, 199, + 242, 24, 110, 238, 215, 100, 225, 61, 184, 163, 31, 62, 41, 185, 91, + 178, 69, 153, 17, 76, 224, 184, 74, 48, 189, 2, 69, 218, 75, 200, 119, + 148, 47, 33, 134, 78, 74, 18, 176, 140, 204, 219, 50, 74, 21, 88, 251, + 155, 197, 184, 20, 242, 245, 103, 231, 72, 71, 0, 233, 161, 158, 167, + 152, 117, 203, 25, 193, 11, 23, 188, 227, 133, 224, 102, 84, 47, 156, + 59, 69, 205, 192, 14, 224, 228, 254, 58, 199, 69, 238, 64, 219, 245, + 158, 45, 218, 155, 215, 110, 94, 30, 176, 21, 116, 32, 249, 169, 71, + 177, 131, 228, 30, 137, 52, 125, 151, 18, 47, 42, 4, 14, 88, 46, 114, + 160, 158, 218, 191, 217, 66, 178, 25, 25, 106, 244, 94, 87, 197, 178, + 214, 11, 189, 244, 126, 16, 203, 164, 200, 120, 135, 215, 152, 187, 235, + 39, 246, 176, 202, 157, 122, 137, 27, 148, 242, 146, 55, 139, 69, 210, + 18, 159, 155, 66, 66, 243, 129, 20, 197, 115, 24, 181, 12, 13, 200, 38, + 174, 226, 140, 208, 229, 183, 202, 241, 251, 76, 209, 185, 199, 152, + 117, 48, 254, 227, 205, 73, 99, 218, 39, 54, 237, 150, 246, 185, 244, + 205, 207, 163, 189, 117, 240, 156, 54, 181, 87, 166, 42, 174, 222, 12, + 199, 181, 126, 126, 74, 250, 213, 86, 128, 117, 193, 173, 213, 38, 39, + 117, 40, 87, 61, 128, 229, 244, 51, 78, 133, 54, 167, 205, 50, 100, 227, + 252, 152, 55, 173, 96, 201, 0, 255, 32, 252, 205, 65, 109, 59, 97, 4, + 119, 210, 253, 176, 88, 44, 149, 29, 31, 76, 100, 182, 187, 193, 140, + 14, 212, 42, 43, 2, 181, 213, 86, 9, 202, 87, 84, 17, 241, 73, 116, 13, + 139, 85, 160, 232, 186, 61, 74, 156, 111, 204, 79, 142, 12, 87, 41, 64, + 137, 10, 221, 98, 85, 123, 17, 65, 9, 23, 200, 25, 235, 10, 162, 111, + 121, 50, 42, 45, 44, 204, 245, 25, 237, 141, 176, 167, 57, 230, 41, 206, + 93, 240, 47, 199, 31, 223, 6, 125, 239, 37, 141, 100, 248, 242, 140, + 122, 146, 36, 22, 109, 76, 152, 204, 37, 187, 245, 209, 177, 218, 73, + 27, 134, 212, 57, 35, 241, 74, 109, 116, 166, 76, 141, 232, 213, 193, + 103, 112, 93, 118, 55, 193, 34, 139, 61, 107, 74, 40, 28, 138, 182, 80, + 194, 115, 129, 93, 192, 50, 241, 215, 116, 220, 251, 165, 57, 134, 162, + 47, 128, 103, 71, 40, 238, 242, 217, 115, 217, 28, 233, 165, 173, 130, + 189, 249, 28, 147, 110, 143, 158, 157, 200, 79, 236, 173, 29, 145, 64, + 30, 242, 219, 81, 80, 11, 125, 2, 136, 80, 239, 76, 193, 152, 253, 79, + 198, 243, 139, 226, 208, 254, 192, 15, 44, 44, 90, 119, 100, 154, 253, + 255, 212, 143, 231, 157, 123, 60, 180, 139, 216, 19, 96, 240, 45, 43, + 212, 206, 248, 157, 133, 27, 57, 194, 153, 52, 118, 246, 189, 229, 202, + 178, 63, 160, 29, 139, 10, 230, 183, 171, 26, 46, 21, 31, 189, 83, 121, + 55, 124, 254, 96, 225, 113, 112, 185, 161, 31, 81, 222, 244, 4, 186, + 168, 2, 252, 9, 31, 28, 164, 130, 93, 48, 119, 179, 165, 245, 150, 103, + 63, 3, 27, 170, 93, 57, 249, 121, 173, 195, 190, 135, 122, 210, 71, 84, + 234, 228, 108, 26, 160, 18, 0, 185, 156, 38, 124, 63, 237, 243, 171, + 138, 93, 67, 60, 59, 18, 51, 142, 119, 102, 49, 227, 110, 235, 131, 239, + 239, 47, 100, 51, 165, 137, 234, 84, 31, 202, 55, 46, 101, 173, 82, 99, + 5, 94, 90, 50, 68, 250, 190, 70, 182, 224, 50, 154, 86, 145, 245, 137, + 82, 241, 33, 156, 255, 239, 36, 158, 110, 37, 51, 209, 28, 82, 252, 59, + 138, 187, 207, 115, 163, 124, 118, 108, 199, 153, 208, 89, 11, 82, 207, + 221, 95, 118, 30, 254, 42, 30, 229, 103, 207, 197, 76, 201, 220, 22, 42, + 227, 129, 194, 212, 120, 155, 100, 109, 39, 35, 98, 160, 20, 225, 9, 49, + 156, 101, 214, 76, 87, 127, 121, 153, 158, 22, 99, 192, 119, 3, 142, + 166, 64, 253, 205, 219, 119, 81, 162, 250, 212, 33, 145, 68, 213, 61, + 137, 148, 93, 132, 164, 64, 102, 201, 188, 2, 141, 42, 178, 173, 184, + 63, 127, 134, 138, 15, 221, 249, 55, 56, 133, 210, 253, 216, 215, 12, + 250, 142, 154, 114, 68, 246, 185, 102, 79, 6, 74, 185, 51, 0, 166, 161, + 117, 175, 240, 111, 178, 54, 138, 243, 135, 213, 27, 92, 243, 126, 154, + 168, 175, 212, 207, 183, 196, 214, 31, 230, 118, 43, 215, 41, 197, 175, + 92, 127, 72, 221, 238, 102, 233, 47, 137, 173, 63, 21, 94, 10, 60, 247, + 211, 77, 253, 65, 55, 245, 30, 8, 169, 127, 101, 225, 46, 48, 80, 149, + 217, 55, 76, 11, 224, 183, 46, 117, 122, 31, 70, 136, 156, 106, 95, 16, + 46, 153, 241, 253, 118, 95, 39, 52, 174, 221, 246, 98, 148, 240, 178, + 203, 75, 92, 4, 110, 30, 190, 53, 104, 229, 241, 86, 62, 24, 153, 186, + 105, 222, 171, 144, 60, 27, 139, 228, 20, 71, 29, 153, 126, 74, 87, 225, + 127, 119, 104, 79, 18, 74, 239, 152, 216, 132, 89, 244, 16, 233, 114, + 122, 22, 89, 84, 219, 47, 55, 70, 96, 172, 198, 77, 243, 88, 67, 160, + 14, 47, 85, 151, 193, 17, 144, 21, 31, 201, 216, 155, 175, 107, 233, + 187, 56, 97, 218, 193, 103, 166, 158, 79, 179, 6, 31, 222, 130, 127, + 182, 160, 232, 210, 166, 82, 226, 242, 159, 206, 212, 127, 208, 245, + 129, 220, 159, 6, 123, 198, 202, 210, 105, 48, 54, 253, 164, 151, 51, + 131, 25, 172, 179, 152, 159, 237, 213, 8, 63, 168, 189, 249, 16, 95, 54, + 3, 248, 17, 211, 221, 236, 153, 252, 192, 72, 97, 0, 41, 150, 54, 156, + 161, 141, 166, 165, 177, 252, 253, 122, 216, 22, 185, 123, 243, 23, 122, + 97, 5, 100, 132, 247, 103, 233, 105, 201, 205, 27, 107, 131, 16, 208, + 132, 77, 22, 4, 148, 198, 4, 189, 250, 209, 63, 99, 85, 172, 114, 220, + 75, 183, 103, 119, 252, 162, 135, 180, 169, 30, 39, 133, 102, 134, 63, + 253, 226, 120, 207, 253, 197, 227, 58, 112, 214, 15, 24, 255, 34, 249, + 159, 137, 29, 26, 195, 108, 135, 43, 138, 202, 188, 213, 121, 252, 93, + 157, 158, 41, 32, 57, 80, 83, 6, 48, 169, 216, 231, 178, 30, 206, 52, + 93, 146, 201, 247, 77, 251, 58, 56, 223, 252, 116, 100, 11, 252, 99, + 255, 5, 148, 143, 73, 74, 26, 158, 54, 75, 211, 188, 50, 41, 233, 77, + 86, 176, 118, 19, 102, 173, 127, 84, 219, 14, 179, 239, 197, 62, 116, + 100, 102, 102, 182, 192, 250, 230, 113, 138, 115, 1, 172, 246, 231, 203, + 46, 163, 164, 150, 184, 254, 20, 7, 144, 115, 210, 150, 10, 247, 5, 60, + 247, 78, 11, 186, 245, 137, 60, 255, 227, 41, 181, 215, 32, 37, 181, + 211, 85, 89, 172, 242, 152, 231, 9, 239, 225, 110, 128, 52, 254, 139, + 239, 19, 92, 248, 225, 144, 46, 164, 71, 21, 87, 113, 143, 149, 174, 36, + 157, 115, 84, 205, 153, 206, 167, 76, 188, 130, 9, 5, 108, 176, 2, 66, + 25, 216, 217, 3, 142, 238, 219, 169, 251, 102, 228, 205, 127, 154, 115, + 187, 83, 166, 251, 14, 225, 162, 234, 192, 227, 243, 118, 174, 175, 67, + 191, 179, 75, 154, 195, 41, 54, 90, 157, 247, 222, 60, 185, 239, 80, 82, + 151, 60, 73, 64, 54, 7, 250, 44, 30, 27, 247, 254, 48, 49, 64, 61, 0, 0, + 156, 182, 244, 19, 140, 184, 71, 184, 36, 7, 189, 88, 71, 93, 101, 31, + 99, 68, 198, 65, 50, 213, 233, 51, 246, 247, 6, 161, 94, 169, 162, 45, + 137, 119, 93, 94, 252, 60, 139, 125, 124, 96, 179, 39, 230, 91, 200, 0, + 137, 176, 214, 92, 232, 221, 92, 187, 74, 196, 56, 73, 245, 40, 43, 249, + 105, 187, 122, 81, 225, 105, 79, 243, 163, 100, 184, 101, 113, 159, 29, + 230, 228, 245, 165, 114, 137, 157, 71, 85, 185, 109, 9, 14, 114, 253, + 151, 50, 91, 108, 57, 154, 204, 79, 223, 79, 157, 177, 108, 248, 164, + 44, 29, 103, 59, 231, 54, 44, 130, 122, 203, 45, 44, 155, 111, 251, 134, + 208, 135, 95, 47, 37, 216, 7, 38, 245, 30, 142, 139, 152, 237, 77, 70, + 77, 173, 6, 108, 166, 217, 164, 163, 113, 88, 75, 206, 219, 142, 230, + 196, 62, 47, 168, 100, 86, 116, 19, 73, 132, 183, 225, 127, 36, 30, 60, + 47, 183, 14, 204, 68, 69, 31, 165, 32, 131, 65, 148, 203, 52, 168, 113, + 134, 71, 91, 132, 251, 169, 219, 170, 211, 87, 188, 118, 20, 212, 91, + 139, 65, 71, 220, 204, 202, 247, 138, 244, 215, 202, 117, 133, 101, 3, + 19 ], "padding": 3 }, "hashCount": 7, - "insertionCount": 10000, + "membershipCheckCount": 10000, "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000" } ] From dca8d99bbc5327a728d932172934788782b0d4fe Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 21 Nov 2022 17:52:21 -0800 Subject: [PATCH 15/31] add golden test files --- packages/firestore/src/remote/bloom_filter.ts | 4 +- .../test/unit/remote/bloom_filter.test.ts | 71 +- ...terTest_MD5_1_0001_bloom_filter_proto.json | 1 + ...Test_MD5_1_0001_membership_test_result.txt | 1 + ...ilterTest_MD5_1_01_bloom_filter_proto.json | 1 + ...erTest_MD5_1_01_membership_test_result.txt | 1 + ...FilterTest_MD5_1_1_bloom_filter_proto.json | 1 + ...terTest_MD5_1_1_membership_test_result.txt | 1 + ...est_MD5_50000_0001_bloom_filter_proto.json | 7 + ..._MD5_50000_0001_membership_test_result.txt | 1 + ...rTest_MD5_50000_01_bloom_filter_proto.json | 1 + ...st_MD5_50000_01_membership_test_result.txt | 1 + ...erTest_MD5_50000_1_bloom_filter_proto.json | 1 + ...est_MD5_50000_1_membership_test_result.txt | 1 + ...Test_MD5_5000_0001_bloom_filter_proto.json | 1 + ...t_MD5_5000_0001_membership_test_result.txt | 1 + ...erTest_MD5_5000_01_bloom_filter_proto.json | 1 + ...est_MD5_5000_01_membership_test_result.txt | 1 + ...terTest_MD5_5000_1_bloom_filter_proto.json | 1 + ...Test_MD5_5000_1_membership_test_result.txt | 1 + ...rTest_MD5_500_0001_bloom_filter_proto.json | 1 + ...st_MD5_500_0001_membership_test_result.txt | 1 + ...terTest_MD5_500_01_bloom_filter_proto.json | 1 + ...Test_MD5_500_01_membership_test_result.txt | 1 + ...lterTest_MD5_500_1_bloom_filter_proto.json | 1 + ...rTest_MD5_500_1_membership_test_result.txt | 1 + .../unit/remote/bloom_filter_test_data.json | 1331 ----------------- 27 files changed, 82 insertions(+), 1354 deletions(-) create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt delete mode 100644 packages/firestore/test/unit/remote/bloom_filter_test_data.json diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index b93d8fe81a1..0e63a1711d5 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -26,10 +26,10 @@ export class BloomFilter { padding: number, private readonly hashCount: number ) { - debugAssert(padding >= 0, 'Padding is negative.'); + debugAssert(padding >= 0, 'Padding is negative or undefined.'); this.bitSize = this.bitmap.length * 8 - padding; debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); - debugAssert(this.hashCount >= 0, 'Hash count is negative.'); + debugAssert(this.hashCount >= 0, 'Hash count is negative or undefined.'); } getBitSize(): number { diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 71c836cbbcb..97df04c9480 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -14,12 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { readFileSync, readdirSync } from 'fs'; +import { parse, resolve } from 'path'; + import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; -import testData from './bloom_filter_test_data.json'; - describe('BloomFilter', () => { it('can initiate an empty BloomFilter', () => { const bloomFilter = new BloomFilter( @@ -95,35 +96,63 @@ describe('BloomFilter', () => { expect(nonEmptyBloomFilter.mightContain('')).to.be.false; }); + /** + * Golden tests are generated by backend based on inserting n number of + * documents path into Bloom filter. + * + * Full documents path is generated by concating documentPrefix and n, ie, + * projects/project-1/databases/database-1/documents/coll/doc11 + * + * The test result is generated by checking the membership of documents from + * documentPrefix+0 to documentPrefix+2n. The membership results from 0 to n + * is expected to be 1, and from n to 2n to be 0 with some false positive results. + * + * The test result of BloomFilter.mightContain() should match the backend result + * exactly. + */ describe('BloomFilter membership test', () => { - const prefix = 'projects/project-1/databases/database-1/documents/coll/doc'; + const documentPrefix = + 'projects/project-1/databases/database-1/documents/coll/doc'; + const testDataFolder = 'test/unit/remote/bloom_filter_golden_test_data'; interface TestDataType { - // Bloom filter result created by backend based on documents: prefix+(0 ~i) bits: { - bitmap: number[]; + bitmap: string; padding: number; }; hashCount: number; - // Check membership of documents prefix+(0 ~2i) - membershipCheckCount: number; - // Membership result on docs from 0~i are always postive, i~2i might have false positive - membershipTestResult: string; + } + + function convertBase64ToUint8Array(base64: string = ''): Uint8Array { + return Uint8Array.from(atob(base64), item => item.charCodeAt(0)); } it('mightContain result should match backend result', () => { - testData.forEach((data: TestDataType) => { - const { bits, hashCount, membershipCheckCount, membershipTestResult } = - data; - const bloomFilter = new BloomFilter( - Uint8Array.from(bits.bitmap), - bits.padding, - hashCount - ); - for (let i = 0; i < membershipCheckCount; i++) { - const isMember = membershipTestResult[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(prefix + i); - expect(mightContain).to.equal(isMember); + readdirSync(testDataFolder).forEach(filename => { + const ext = parse(filename).ext; + + if (ext === '.json') { + const testDataPath = resolve(testDataFolder, filename); + const testResultPath = testDataPath.replace( + 'bloom_filter_proto.json', + 'membership_test_result.txt' + ); + const testData: TestDataType = JSON.parse( + readFileSync(testDataPath, 'utf8') + ); + const testResult: string = readFileSync(testResultPath, 'utf8'); + const { bits = { bitmap: '', padding: 0 }, hashCount = 0 } = testData; + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < testResult.length; i++) { + const backendMembershipResult = + testResult[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } } }); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json new file mode 100644 index 00000000000..23f0f12b267 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json @@ -0,0 +1 @@ +{ "bits": { "bitmap": "RswZ", "padding": 1 }, "hashCount": 16 } diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt new file mode 100644 index 00000000000..9a037142aa3 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json new file mode 100644 index 00000000000..43d07db5e6d --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"mwE=","padding":5},"hashCount":8} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt new file mode 100644 index 00000000000..9a037142aa3 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json new file mode 100644 index 00000000000..f2e5c92de0c --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{}} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt new file mode 100644 index 00000000000..857f065e415 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt @@ -0,0 +1 @@ +00 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json new file mode 100644 index 00000000000..04b77bf83ab --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json @@ -0,0 +1,7 @@ +{ + "bits": { + "bitmap": "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", + "padding": 1 + }, + "hashCount": 13 +} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt new file mode 100644 index 00000000000..601d08a648f --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json new file mode 100644 index 00000000000..d1448123cdc --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"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","padding":1},"hashCount":7} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt new file mode 100644 index 00000000000..58d8948584c --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000101000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000001000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000001000000000000100000000000000000000000000000000000000001100000000010000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000010000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000100100000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000100000010000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000001000000000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000001000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000010000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000010010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000001000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000010000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000010000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000100000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json new file mode 100644 index 00000000000..19a61b8efc5 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{}} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt new file mode 100644 index 00000000000..315e30bd354 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json new file mode 100644 index 00000000000..41f4c45b813 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"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","padding":7},"hashCount":13} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt new file mode 100644 index 00000000000..7498509eb4e --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json new file mode 100644 index 00000000000..0cd630436d1 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"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","padding":3},"hashCount":7} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt new file mode 100644 index 00000000000..0ff35546a7c --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json new file mode 100644 index 00000000000..19a61b8efc5 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{}} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt new file mode 100644 index 00000000000..1f707ba97e8 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json new file mode 100644 index 00000000000..b206a483c54 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"vusW6Yc2oIsxmEapab4xh7Qqznx2LAVmFrA3SquH85kFR8l+/MpCIokPAAMuIAmKqcrwBtx/I8ds9Uw9ApHW2KZ/BMTbijPDac2Hm0oQvWFkUjycX7gNQrkjDIsRBdO/IaYDwAh74QwofDQLYxrSNgAdT+stIC7UKnpxZl1tRKTnIa0JQXrRChmxvO4r6WQI9QR76uk55KNZFQ5YmgvT6uYeTafiJEZb61Q9V3OOks44hV83F/8/rgPvRoweLHFJ+ezSJ04P9A+a1DHlMtpriDsxVIAgJm/CKuPkBC1jitppF9CagnLPidC65F1OPSE+8RAzHaEfuic32yNJEuQZfb1hq4pwE62hQ0/ulczuNFsQykikNcGBAWWDHWK4ur6dwjQSP7tOq3m4fLK3xYQt41OpIdPzPfn1Y4NC+BFdKQZUhIxEpTX2TPFoGsW9iSqRvF2zzWstAjcOyvT/yJ36ijEjVV9O+/NWfZvxUft26/NNDRPhpnxXHFGei10qKGMYym/seFr5+Hm2bpczLfpZtfQt/IHKg8Lyr8uMoAK5YhYrTqKY5DDo2jCPGnIbgwYJUDQRL34Eegvnd6T0A6XaU0y+SXbbfbk2vHybVZwuGEobTYZabE2bNg0rmdYx4LJvODl2ZFN7WZ5isyUAtBJJa16Py2PfLBxfrCScVpQJr6Xdka6eUrHA4wAT7V+r3NCZslUJyQky4lDjtacCVsRo2ONMGuWkUh9xqynRCQ85d21St+xAo4pl/V0ld1FeU6sOVGzV5oHosji3S4DFZZ+UZbKdAQwqR+UY+DRN0Vt51MZheZ1YYJd80ZX4DTshs6feSJpktuOBWJGftFzdbIIclJG29KKbwSpR25wGKnFafI2rwItNizCTVkxa/aQnTYF4PGhBmLu0zfEpaIz3pmpMUO7TPE1aYjyV8xakSJA4iDMQI3Z7n/6eF7PFxy/qUNuzHzmV3PoyvOjIC8GNnWaUdw9SlwTr/2LUzQ4fhucCykIAHcgawtcD/7whga1Z/LfOPROF1JfKw7a8H0vERX3WC427LHjbvbhAw0KnSfyIPMok49H20i3oZOdHQE0wxYj/1APD8JfU/TlMW1umRVARZ8ohWLF0oZcohEqexajnKREArfVvvBroyFvI5yRgR4vQapTI0RPCmi4tNbw11Zgy43snKG2pVYR2S4I/Dg9rcK4Plr301TIbFRAT0CE+vqUAjg56lkxcDnUxMW/p9qDU2bILaypkXyr16SiZxc9bMvYEVVBztcbyU6uI+JLFruiPl4mHHv6IylJIc7HJ1vL1gnRTP3bBBvw5qyEl0KS6woregx1RAbPszwxRrTR+zfxV9tUKuC59BZHlmpC5YFAK2wLyU1d5rQyhMN4ySA8POYD6rj80DEZHXQzoTvfQIitPp42unEQRGMKQt/PqljT8A/lBU5DZcc8M3hkFklDpDyIXKuwLkd1zuiPrwzkC27GZ0SZEvQvUi3xVefevyFdY8lAeAlP17z57E+vKDjG9Guo+sX7I1qByNUBpMSO4UkOMP9otRBToRjxD1Rb+lEdGCUwcFm677KL6hR9e3Om9PWkZF6LpWqH+qnt9+lPVxgY=","padding":5},"hashCount":13} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt new file mode 100644 index 00000000000..afa1be8d91a --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json new file mode 100644 index 00000000000..35de64eee0a --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{"bitmap":"n+36qf4UgWXLxRabHwqwva8jpXlZ7yfdCjRNwHQ5MBmgc35tGNWFvTgrWyfmznuz1j0wMabH29pR84MjjWGgAxLhDXU3dyYTY505812+BYTO5GXEAyGoUZhcBlUZPK+RAqSZ+9e3q9Gxpmoes/4iCbxJFc5eew0+95v5Z0h5fvlF2Y9iRBDu2PWC1pVGuc/j3W+34+5IwPtDLPbtfvYhnohTfXP02vsf2/77YqEtfmMVFfIMZJ5e7uLOA+rcmQC5fFfxjubJfKR5R+Rzw/UWd0Eg3gi+FCUIk/WUP5938R4tPH3fnrtQjclvsZhtj5dak7WWw1Ph4ZFdJE2XdFBH1JSvggI5tFKH5WUeIBlHYj+V3HomQ2gDrwMXGsIJokcwQi1qTUjECnwYGlOl/FRjZQg7h3QoSkyxgBnp6w7XKttc/EJf+279WLkvm6K/sTuQiFsOGqdQQ+c6osu9SzICn7Rtu4+RzmfxgCx1i2rX1OvVt+DLWa8/K5TlLvVM7GqXiHeaLuvkaz4uR754T1Iurp8/Ps2yJdXYHLyGndJa+7DJ1BPsGK8ZYbYFN7jGamHF9de+3K/syp1raDltsNUxUGAaMBghK1nIRDtHLSHBtVkuxvUkP3iVIkm6pEp0K/2npYUEAsbYVkug4Iv7qhnLTGwMUXP3piTMySLLoZ9bGY0k13FMX7h/s79dJDcIIf4fR9S0SN6fWXKdZOBLFzyXGcxbD+o0o3NO/UOZDgmTet2or8rvipr4tGDyGluUnW1o/fWPlGvEIo/7Ep6avGyw7jilLKYiunAA","padding":7},"hashCount":7} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt new file mode 100644 index 00000000000..13078ce8d13 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt @@ -0,0 +1 @@ +1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json new file mode 100644 index 00000000000..19a61b8efc5 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json @@ -0,0 +1 @@ +{"bits":{}} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt new file mode 100644 index 00000000000..3811d253521 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 diff --git a/packages/firestore/test/unit/remote/bloom_filter_test_data.json b/packages/firestore/test/unit/remote/bloom_filter_test_data.json deleted file mode 100644 index 84985216269..00000000000 --- a/packages/firestore/test/unit/remote/bloom_filter_test_data.json +++ /dev/null @@ -1,1331 +0,0 @@ -[ - { - "bits": { - "bitmap": [70, 204, 25], - "padding": 1 - }, - "hashCount": 16, - "membershipCheckCount": 2, - "membershipTestResult": "10" - }, - { - "bits": { - "bitmap": [155, 1], - "padding": 5 - }, - "hashCount": 8, - "membershipCheckCount": 2, - "membershipTestResult": "10" - }, - { - "bits": { - "bitmap": [ - 190, 235, 22, 233, 135, 54, 160, 139, 49, 152, 70, 169, 105, 190, 49, - 135, 180, 42, 206, 124, 118, 44, 5, 102, 22, 176, 55, 74, 171, 135, 243, - 153, 5, 71, 201, 126, 252, 202, 66, 34, 137, 15, 0, 3, 46, 32, 9, 138, - 169, 202, 240, 6, 220, 127, 35, 199, 108, 245, 76, 61, 2, 145, 214, 216, - 166, 127, 4, 196, 219, 138, 51, 195, 105, 205, 135, 155, 74, 16, 189, - 97, 100, 82, 60, 156, 95, 184, 13, 66, 185, 35, 12, 139, 17, 5, 211, - 191, 33, 166, 3, 192, 8, 123, 225, 12, 40, 124, 52, 11, 99, 26, 210, 54, - 0, 29, 79, 235, 45, 32, 46, 212, 42, 122, 113, 102, 93, 109, 68, 164, - 231, 33, 173, 9, 65, 122, 209, 10, 25, 177, 188, 238, 43, 233, 100, 8, - 245, 4, 123, 234, 233, 57, 228, 163, 89, 21, 14, 88, 154, 11, 211, 234, - 230, 30, 77, 167, 226, 36, 70, 91, 235, 84, 61, 87, 115, 142, 146, 206, - 56, 133, 95, 55, 23, 255, 63, 174, 3, 239, 70, 140, 30, 44, 113, 73, - 249, 236, 210, 39, 78, 15, 244, 15, 154, 212, 49, 229, 50, 218, 107, - 136, 59, 49, 84, 128, 32, 38, 111, 194, 42, 227, 228, 4, 45, 99, 138, - 218, 105, 23, 208, 154, 130, 114, 207, 137, 208, 186, 228, 93, 78, 61, - 33, 62, 241, 16, 51, 29, 161, 31, 186, 39, 55, 219, 35, 73, 18, 228, 25, - 125, 189, 97, 171, 138, 112, 19, 173, 161, 67, 79, 238, 149, 204, 238, - 52, 91, 16, 202, 72, 164, 53, 193, 129, 1, 101, 131, 29, 98, 184, 186, - 190, 157, 194, 52, 18, 63, 187, 78, 171, 121, 184, 124, 178, 183, 197, - 132, 45, 227, 83, 169, 33, 211, 243, 61, 249, 245, 99, 131, 66, 248, 17, - 93, 41, 6, 84, 132, 140, 68, 165, 53, 246, 76, 241, 104, 26, 197, 189, - 137, 42, 145, 188, 93, 179, 205, 107, 45, 2, 55, 14, 202, 244, 255, 200, - 157, 250, 138, 49, 35, 85, 95, 78, 251, 243, 86, 125, 155, 241, 81, 251, - 118, 235, 243, 77, 13, 19, 225, 166, 124, 87, 28, 81, 158, 139, 93, 42, - 40, 99, 24, 202, 111, 236, 120, 90, 249, 248, 121, 182, 110, 151, 51, - 45, 250, 89, 181, 244, 45, 252, 129, 202, 131, 194, 242, 175, 203, 140, - 160, 2, 185, 98, 22, 43, 78, 162, 152, 228, 48, 232, 218, 48, 143, 26, - 114, 27, 131, 6, 9, 80, 52, 17, 47, 126, 4, 122, 11, 231, 119, 164, 244, - 3, 165, 218, 83, 76, 190, 73, 118, 219, 125, 185, 54, 188, 124, 155, 85, - 156, 46, 24, 74, 27, 77, 134, 90, 108, 77, 155, 54, 13, 43, 153, 214, - 49, 224, 178, 111, 56, 57, 118, 100, 83, 123, 89, 158, 98, 179, 37, 0, - 180, 18, 73, 107, 94, 143, 203, 99, 223, 44, 28, 95, 172, 36, 156, 86, - 148, 9, 175, 165, 221, 145, 174, 158, 82, 177, 192, 227, 0, 19, 237, 95, - 171, 220, 208, 153, 178, 85, 9, 201, 9, 50, 226, 80, 227, 181, 167, 2, - 86, 196, 104, 216, 227, 76, 26, 229, 164, 82, 31, 113, 171, 41, 209, 9, - 15, 57, 119, 109, 82, 183, 236, 64, 163, 138, 101, 253, 93, 37, 119, 81, - 94, 83, 171, 14, 84, 108, 213, 230, 129, 232, 178, 56, 183, 75, 128, - 197, 101, 159, 148, 101, 178, 157, 1, 12, 42, 71, 229, 24, 248, 52, 77, - 209, 91, 121, 212, 198, 97, 121, 157, 88, 96, 151, 124, 209, 149, 248, - 13, 59, 33, 179, 167, 222, 72, 154, 100, 182, 227, 129, 88, 145, 159, - 180, 92, 221, 108, 130, 28, 148, 145, 182, 244, 162, 155, 193, 42, 81, - 219, 156, 6, 42, 113, 90, 124, 141, 171, 192, 139, 77, 139, 48, 147, 86, - 76, 90, 253, 164, 39, 77, 129, 120, 60, 104, 65, 152, 187, 180, 205, - 241, 41, 104, 140, 247, 166, 106, 76, 80, 238, 211, 60, 77, 90, 98, 60, - 149, 243, 22, 164, 72, 144, 56, 136, 51, 16, 35, 118, 123, 159, 254, - 158, 23, 179, 197, 199, 47, 234, 80, 219, 179, 31, 57, 149, 220, 250, - 50, 188, 232, 200, 11, 193, 141, 157, 102, 148, 119, 15, 82, 151, 4, - 235, 255, 98, 212, 205, 14, 31, 134, 231, 2, 202, 66, 0, 29, 200, 26, - 194, 215, 3, 255, 188, 33, 129, 173, 89, 252, 183, 206, 61, 19, 133, - 212, 151, 202, 195, 182, 188, 31, 75, 196, 69, 125, 214, 11, 141, 187, - 44, 120, 219, 189, 184, 64, 195, 66, 167, 73, 252, 136, 60, 202, 36, - 227, 209, 246, 210, 45, 232, 100, 231, 71, 64, 77, 48, 197, 136, 255, - 212, 3, 195, 240, 151, 212, 253, 57, 76, 91, 91, 166, 69, 80, 17, 103, - 202, 33, 88, 177, 116, 161, 151, 40, 132, 74, 158, 197, 168, 231, 41, - 17, 0, 173, 245, 111, 188, 26, 232, 200, 91, 200, 231, 36, 96, 71, 139, - 208, 106, 148, 200, 209, 19, 194, 154, 46, 45, 53, 188, 53, 213, 152, - 50, 227, 123, 39, 40, 109, 169, 85, 132, 118, 75, 130, 63, 14, 15, 107, - 112, 174, 15, 150, 189, 244, 213, 50, 27, 21, 16, 19, 208, 33, 62, 190, - 165, 0, 142, 14, 122, 150, 76, 92, 14, 117, 49, 49, 111, 233, 246, 160, - 212, 217, 178, 11, 107, 42, 100, 95, 42, 245, 233, 40, 153, 197, 207, - 91, 50, 246, 4, 85, 80, 115, 181, 198, 242, 83, 171, 136, 248, 146, 197, - 174, 232, 143, 151, 137, 135, 30, 254, 136, 202, 82, 72, 115, 177, 201, - 214, 242, 245, 130, 116, 83, 63, 118, 193, 6, 252, 57, 171, 33, 37, 208, - 164, 186, 194, 138, 222, 131, 29, 81, 1, 179, 236, 207, 12, 81, 173, 52, - 126, 205, 252, 85, 246, 213, 10, 184, 46, 125, 5, 145, 229, 154, 144, - 185, 96, 80, 10, 219, 2, 242, 83, 87, 121, 173, 12, 161, 48, 222, 50, - 72, 15, 15, 57, 128, 250, 174, 63, 52, 12, 70, 71, 93, 12, 232, 78, 247, - 208, 34, 43, 79, 167, 141, 174, 156, 68, 17, 24, 194, 144, 183, 243, - 234, 150, 52, 252, 3, 249, 65, 83, 144, 217, 113, 207, 12, 222, 25, 5, - 146, 80, 233, 15, 34, 23, 42, 236, 11, 145, 221, 115, 186, 35, 235, 195, - 57, 2, 219, 177, 153, 209, 38, 68, 189, 11, 212, 139, 124, 85, 121, 247, - 175, 200, 87, 88, 242, 80, 30, 2, 83, 245, 239, 62, 123, 19, 235, 202, - 14, 49, 189, 26, 234, 62, 177, 126, 200, 214, 160, 114, 53, 64, 105, 49, - 35, 184, 82, 67, 140, 63, 218, 45, 68, 20, 232, 70, 60, 67, 213, 22, - 254, 148, 71, 70, 9, 76, 28, 22, 110, 187, 236, 162, 250, 133, 31, 94, - 220, 233, 189, 61, 105, 25, 23, 162, 233, 90, 161, 254, 170, 123, 125, - 250, 83, 213, 198, 6 - ], - "padding": 5 - }, - "hashCount": 13, - "membershipCheckCount": 1000, - "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "bits": { - "bitmap": [ - 159, 237, 250, 169, 254, 20, 129, 101, 203, 197, 22, 155, 31, 10, 176, - 189, 175, 35, 165, 121, 89, 239, 39, 221, 10, 52, 77, 192, 116, 57, 48, - 25, 160, 115, 126, 109, 24, 213, 133, 189, 56, 43, 91, 39, 230, 206, - 123, 179, 214, 61, 48, 49, 166, 199, 219, 218, 81, 243, 131, 35, 141, - 97, 160, 3, 18, 225, 13, 117, 55, 119, 38, 19, 99, 157, 57, 243, 93, - 190, 5, 132, 206, 228, 101, 196, 3, 33, 168, 81, 152, 92, 6, 85, 25, 60, - 175, 145, 2, 164, 153, 251, 215, 183, 171, 209, 177, 166, 106, 30, 179, - 254, 34, 9, 188, 73, 21, 206, 94, 123, 13, 62, 247, 155, 249, 103, 72, - 121, 126, 249, 69, 217, 143, 98, 68, 16, 238, 216, 245, 130, 214, 149, - 70, 185, 207, 227, 221, 111, 183, 227, 238, 72, 192, 251, 67, 44, 246, - 237, 126, 246, 33, 158, 136, 83, 125, 115, 244, 218, 251, 31, 219, 254, - 251, 98, 161, 45, 126, 99, 21, 21, 242, 12, 100, 158, 94, 238, 226, 206, - 3, 234, 220, 153, 0, 185, 124, 87, 241, 142, 230, 201, 124, 164, 121, - 71, 228, 115, 195, 245, 22, 119, 65, 32, 222, 8, 190, 20, 37, 8, 147, - 245, 148, 63, 159, 119, 241, 30, 45, 60, 125, 223, 158, 187, 80, 141, - 201, 111, 177, 152, 109, 143, 151, 90, 147, 181, 150, 195, 83, 225, 225, - 145, 93, 36, 77, 151, 116, 80, 71, 212, 148, 175, 130, 2, 57, 180, 82, - 135, 229, 101, 30, 32, 25, 71, 98, 63, 149, 220, 122, 38, 67, 104, 3, - 175, 3, 23, 26, 194, 9, 162, 71, 48, 66, 45, 106, 77, 72, 196, 10, 124, - 24, 26, 83, 165, 252, 84, 99, 101, 8, 59, 135, 116, 40, 74, 76, 177, - 128, 25, 233, 235, 14, 215, 42, 219, 92, 252, 66, 95, 251, 110, 253, 88, - 185, 47, 155, 162, 191, 177, 59, 144, 136, 91, 14, 26, 167, 80, 67, 231, - 58, 162, 203, 189, 75, 50, 2, 159, 180, 109, 187, 143, 145, 206, 103, - 241, 128, 44, 117, 139, 106, 215, 212, 235, 213, 183, 224, 203, 89, 175, - 63, 43, 148, 229, 46, 245, 76, 236, 106, 151, 136, 119, 154, 46, 235, - 228, 107, 62, 46, 71, 190, 120, 79, 82, 46, 174, 159, 63, 62, 205, 178, - 37, 213, 216, 28, 188, 134, 157, 210, 90, 251, 176, 201, 212, 19, 236, - 24, 175, 25, 97, 182, 5, 55, 184, 198, 106, 97, 197, 245, 215, 190, 220, - 175, 236, 202, 157, 107, 104, 57, 109, 176, 213, 49, 80, 96, 26, 48, 24, - 33, 43, 89, 200, 68, 59, 71, 45, 33, 193, 181, 89, 46, 198, 245, 36, 63, - 120, 149, 34, 73, 186, 164, 74, 116, 43, 253, 167, 165, 133, 4, 2, 198, - 216, 86, 75, 160, 224, 139, 251, 170, 25, 203, 76, 108, 12, 81, 115, - 247, 166, 36, 204, 201, 34, 203, 161, 159, 91, 25, 141, 36, 215, 113, - 76, 95, 184, 127, 179, 191, 93, 36, 55, 8, 33, 254, 31, 71, 212, 180, - 72, 222, 159, 89, 114, 157, 100, 224, 75, 23, 60, 151, 25, 204, 91, 15, - 234, 52, 163, 115, 78, 253, 67, 153, 14, 9, 147, 122, 221, 168, 175, - 202, 239, 138, 154, 248, 180, 96, 242, 26, 91, 148, 157, 109, 104, 253, - 245, 143, 148, 107, 196, 34, 143, 251, 18, 158, 154, 188, 108, 176, 238, - 56, 165, 44, 166, 34, 186, 112, 0 - ], - "padding": 7 - }, - "hashCount": 7, - "membershipCheckCount": 1000, - "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "bits": { - "bitmap": [ - 197, 212, 28, 103, 195, 78, 50, 59, 221, 37, 108, 192, 253, 100, 174, - 88, 45, 246, 6, 61, 246, 172, 136, 236, 125, 16, 245, 185, 80, 108, 231, - 89, 246, 125, 227, 150, 155, 13, 77, 84, 189, 118, 130, 66, 118, 252, - 78, 154, 88, 188, 103, 126, 141, 59, 24, 16, 207, 10, 64, 157, 38, 21, - 102, 170, 101, 243, 34, 170, 64, 29, 180, 241, 209, 100, 220, 238, 191, - 186, 201, 178, 103, 30, 34, 88, 162, 123, 248, 86, 251, 94, 220, 64, - 110, 255, 227, 93, 245, 20, 169, 210, 88, 178, 252, 92, 86, 227, 151, - 99, 129, 9, 85, 168, 171, 88, 140, 173, 28, 203, 204, 141, 63, 100, 0, - 53, 70, 33, 30, 212, 81, 30, 14, 231, 213, 16, 191, 158, 204, 222, 230, - 130, 212, 177, 131, 130, 146, 51, 15, 21, 148, 37, 24, 92, 145, 117, - 117, 232, 27, 221, 1, 208, 135, 143, 199, 126, 181, 180, 181, 216, 32, - 53, 28, 74, 36, 12, 90, 15, 241, 11, 212, 231, 74, 36, 53, 136, 110, 55, - 211, 206, 125, 128, 37, 198, 152, 221, 39, 159, 225, 208, 161, 155, 222, - 25, 135, 154, 19, 209, 131, 22, 106, 129, 65, 29, 203, 133, 146, 129, - 134, 137, 209, 101, 32, 229, 95, 252, 168, 218, 26, 102, 62, 208, 218, - 197, 140, 39, 86, 123, 132, 24, 94, 97, 206, 213, 195, 87, 97, 94, 76, - 81, 149, 136, 104, 42, 191, 103, 0, 207, 192, 38, 147, 176, 31, 120, - 214, 178, 23, 89, 50, 156, 144, 216, 107, 95, 210, 183, 41, 224, 250, - 213, 162, 122, 10, 255, 129, 152, 177, 55, 70, 91, 72, 172, 93, 226, - 159, 216, 23, 250, 225, 68, 164, 206, 177, 148, 181, 87, 138, 156, 194, - 110, 118, 75, 37, 173, 64, 61, 156, 223, 156, 27, 250, 46, 67, 211, 221, - 244, 37, 147, 189, 136, 186, 206, 24, 38, 54, 111, 200, 12, 135, 41, 57, - 238, 96, 125, 127, 156, 196, 147, 63, 131, 32, 122, 72, 94, 81, 126, - 149, 83, 117, 177, 64, 9, 58, 235, 6, 168, 242, 150, 127, 108, 27, 72, - 98, 24, 197, 180, 99, 186, 250, 62, 98, 227, 184, 109, 237, 56, 19, 115, - 40, 201, 247, 98, 145, 152, 102, 175, 226, 173, 34, 241, 119, 100, 21, - 165, 201, 172, 77, 93, 166, 17, 181, 252, 5, 114, 214, 15, 94, 218, 5, - 50, 39, 232, 232, 86, 211, 249, 255, 40, 4, 7, 36, 57, 123, 234, 50, - 234, 119, 187, 97, 249, 125, 140, 0, 15, 198, 168, 57, 78, 16, 122, 230, - 149, 82, 182, 147, 186, 92, 132, 171, 123, 72, 226, 121, 219, 35, 9, - 137, 156, 29, 107, 23, 135, 79, 243, 28, 240, 143, 162, 48, 26, 77, 171, - 207, 91, 56, 1, 41, 120, 66, 70, 87, 81, 72, 217, 136, 223, 8, 247, 248, - 133, 209, 6, 34, 141, 93, 155, 103, 167, 232, 227, 52, 132, 83, 14, 117, - 64, 168, 249, 42, 38, 19, 73, 32, 121, 178, 68, 71, 21, 111, 99, 44, 14, - 0, 36, 165, 35, 131, 32, 230, 149, 132, 230, 228, 231, 40, 162, 74, 253, - 167, 69, 65, 39, 250, 119, 202, 140, 19, 155, 188, 151, 111, 145, 67, - 177, 201, 26, 226, 60, 97, 150, 56, 46, 138, 79, 96, 213, 128, 92, 225, - 119, 67, 167, 77, 125, 159, 7, 104, 74, 114, 127, 20, 126, 17, 208, 169, - 116, 18, 204, 100, 24, 158, 244, 213, 240, 236, 216, 105, 127, 241, 206, - 24, 45, 183, 245, 187, 166, 160, 104, 233, 91, 66, 149, 102, 228, 19, - 36, 206, 128, 60, 252, 180, 13, 155, 12, 67, 176, 177, 129, 157, 12, 20, - 105, 197, 148, 163, 12, 24, 231, 4, 2, 7, 21, 191, 203, 46, 225, 23, - 244, 231, 23, 59, 50, 176, 1, 211, 23, 24, 168, 101, 221, 134, 29, 187, - 119, 45, 102, 229, 7, 98, 155, 152, 154, 149, 52, 11, 44, 174, 77, 246, - 243, 135, 62, 141, 18, 209, 26, 45, 36, 10, 191, 10, 114, 37, 51, 180, - 128, 103, 37, 246, 140, 137, 102, 254, 137, 240, 249, 140, 208, 195, - 102, 40, 59, 225, 228, 87, 136, 17, 8, 112, 12, 142, 230, 196, 131, 255, - 78, 168, 127, 145, 69, 124, 226, 21, 157, 129, 105, 45, 231, 115, 86, - 70, 15, 28, 195, 205, 94, 178, 63, 210, 33, 190, 240, 244, 137, 207, - 132, 51, 26, 106, 231, 232, 244, 34, 195, 115, 163, 232, 20, 226, 122, - 70, 61, 139, 132, 247, 130, 84, 73, 137, 22, 21, 15, 23, 90, 129, 100, - 121, 59, 161, 26, 64, 255, 183, 101, 32, 110, 98, 233, 163, 101, 250, - 69, 23, 141, 139, 216, 148, 172, 116, 251, 195, 125, 209, 46, 233, 47, - 112, 83, 218, 76, 244, 240, 169, 166, 217, 196, 249, 92, 108, 151, 122, - 23, 0, 225, 122, 253, 71, 126, 164, 236, 182, 135, 109, 46, 210, 69, 88, - 76, 209, 150, 66, 103, 140, 183, 162, 74, 196, 9, 194, 49, 114, 160, - 227, 65, 199, 84, 60, 143, 67, 4, 85, 158, 183, 148, 55, 153, 102, 186, - 139, 116, 189, 66, 112, 117, 107, 204, 215, 36, 5, 83, 204, 205, 15, - 133, 148, 89, 184, 15, 232, 25, 223, 231, 193, 105, 152, 236, 5, 67, - 218, 57, 161, 215, 4, 156, 122, 138, 202, 126, 53, 209, 237, 70, 201, - 62, 129, 108, 246, 109, 0, 246, 120, 129, 37, 3, 139, 172, 241, 94, 10, - 73, 83, 226, 195, 10, 165, 53, 211, 140, 139, 107, 54, 112, 32, 152, 78, - 214, 162, 3, 100, 32, 29, 190, 186, 223, 81, 54, 120, 22, 97, 1, 187, - 219, 64, 122, 149, 91, 171, 240, 87, 240, 173, 82, 112, 223, 234, 86, - 162, 102, 82, 114, 25, 194, 253, 182, 2, 178, 96, 6, 245, 68, 115, 229, - 159, 33, 182, 91, 108, 180, 198, 252, 35, 177, 73, 137, 235, 189, 240, - 169, 2, 90, 234, 186, 240, 183, 119, 245, 64, 9, 211, 44, 228, 156, 8, - 45, 38, 137, 160, 102, 134, 97, 38, 30, 188, 194, 161, 15, 41, 255, 211, - 82, 152, 249, 19, 149, 235, 54, 157, 4, 202, 66, 238, 8, 62, 238, 40, - 143, 148, 145, 196, 214, 239, 250, 16, 205, 49, 126, 225, 249, 234, 34, - 61, 187, 144, 26, 135, 13, 225, 4, 46, 178, 9, 122, 149, 198, 198, 141, - 11, 121, 91, 214, 118, 161, 207, 244, 59, 231, 10, 87, 31, 20, 102, 84, - 49, 36, 125, 94, 129, 9, 156, 181, 54, 137, 118, 155, 99, 244, 188, 32, - 53, 180, 204, 198, 130, 74, 168, 149, 4, 223, 115, 79, 242, 48, 157, 59, - 89, 87, 98, 202, 96, 218, 173, 11, 240, 81, 249, 191, 82, 26, 0, 29, - 251, 29, 220, 2, 130, 134, 79, 201, 202, 71, 252, 245, 109, 232, 50, 37, - 70, 11, 189, 229, 67, 182, 71, 84, 195, 143, 12, 184, 68, 65, 239, 7, - 71, 246, 239, 186, 176, 145, 15, 179, 139, 217, 60, 69, 20, 50, 52, 171, - 87, 49, 131, 138, 254, 98, 158, 159, 100, 33, 44, 194, 133, 30, 43, 190, - 122, 7, 13, 242, 14, 110, 21, 128, 4, 15, 239, 98, 232, 59, 211, 252, - 228, 203, 103, 18, 128, 74, 119, 21, 91, 4, 64, 68, 30, 157, 227, 10, - 15, 171, 29, 27, 241, 200, 97, 176, 66, 236, 248, 179, 238, 167, 221, - 231, 224, 135, 159, 224, 189, 216, 190, 70, 244, 199, 22, 169, 119, 70, - 200, 101, 140, 5, 78, 35, 110, 140, 149, 111, 247, 50, 235, 83, 164, - 191, 21, 216, 134, 139, 199, 188, 114, 83, 105, 140, 6, 198, 160, 8, 96, - 4, 30, 31, 60, 216, 237, 225, 134, 78, 177, 90, 78, 217, 127, 253, 186, - 32, 26, 47, 97, 127, 128, 89, 75, 221, 219, 33, 117, 200, 52, 159, 230, - 6, 253, 41, 190, 34, 120, 21, 47, 72, 22, 253, 16, 70, 251, 241, 115, - 135, 158, 86, 184, 118, 1, 83, 86, 222, 57, 250, 110, 233, 73, 206, 64, - 59, 18, 84, 37, 210, 5, 15, 191, 160, 191, 179, 171, 59, 226, 18, 38, - 74, 235, 160, 27, 135, 175, 244, 24, 185, 203, 7, 206, 244, 33, 159, 54, - 163, 250, 74, 90, 84, 81, 102, 75, 27, 64, 96, 233, 77, 95, 18, 175, - 238, 151, 164, 7, 169, 80, 209, 31, 97, 156, 101, 168, 128, 17, 143, - 119, 208, 168, 30, 244, 159, 23, 44, 83, 126, 84, 245, 91, 30, 164, 105, - 66, 1, 101, 176, 196, 29, 199, 127, 136, 60, 223, 44, 174, 245, 99, 158, - 125, 48, 127, 0, 232, 128, 160, 117, 64, 7, 141, 184, 121, 22, 88, 33, - 43, 228, 103, 223, 22, 244, 216, 167, 103, 181, 118, 172, 229, 88, 243, - 97, 66, 224, 224, 58, 213, 102, 149, 71, 109, 78, 25, 198, 97, 40, 232, - 73, 55, 131, 112, 35, 74, 207, 45, 240, 151, 245, 218, 104, 69, 125, - 201, 162, 1, 116, 236, 93, 180, 49, 6, 56, 85, 161, 76, 212, 160, 251, - 41, 183, 172, 49, 183, 164, 25, 103, 213, 172, 246, 77, 47, 20, 11, 7, - 165, 29, 69, 201, 161, 156, 216, 187, 147, 213, 59, 182, 225, 186, 10, - 214, 174, 211, 204, 21, 86, 117, 125, 202, 150, 40, 124, 150, 52, 51, - 35, 140, 34, 218, 50, 221, 155, 255, 160, 134, 61, 220, 216, 85, 23, - 130, 189, 179, 206, 115, 72, 42, 236, 231, 236, 47, 214, 54, 171, 26, - 42, 96, 94, 205, 60, 238, 171, 206, 29, 185, 188, 125, 172, 124, 17, 35, - 127, 62, 133, 80, 8, 71, 37, 118, 138, 43, 151, 240, 135, 24, 190, 219, - 148, 233, 196, 172, 17, 104, 186, 199, 208, 65, 37, 52, 180, 100, 135, - 82, 114, 125, 10, 32, 11, 239, 86, 183, 117, 20, 151, 170, 77, 155, 48, - 239, 115, 125, 100, 15, 169, 40, 194, 86, 13, 41, 94, 71, 79, 2, 54, 52, - 106, 15, 61, 255, 183, 139, 99, 136, 81, 135, 37, 128, 112, 18, 93, 196, - 181, 234, 207, 72, 157, 148, 11, 110, 31, 146, 89, 130, 114, 252, 58, - 161, 75, 141, 171, 18, 156, 202, 74, 42, 168, 233, 190, 227, 186, 41, - 36, 189, 34, 156, 25, 94, 23, 151, 148, 194, 152, 100, 193, 207, 255, - 92, 153, 213, 7, 60, 160, 7, 81, 166, 6, 21, 59, 191, 132, 37, 117, 194, - 243, 216, 138, 155, 188, 20, 193, 12, 221, 71, 17, 135, 152, 219, 33, - 115, 9, 174, 18, 17, 92, 89, 145, 106, 49, 61, 86, 2, 73, 186, 115, 6, - 229, 217, 36, 136, 195, 137, 183, 7, 167, 91, 248, 168, 3, 88, 124, 95, - 116, 127, 84, 237, 118, 146, 142, 42, 188, 206, 194, 174, 45, 42, 46, - 88, 22, 0, 64, 33, 156, 124, 120, 79, 213, 100, 151, 0, 133, 135, 196, - 50, 61, 68, 8, 184, 68, 251, 48, 39, 64, 53, 212, 189, 153, 224, 119, - 53, 131, 164, 44, 0, 40, 69, 53, 66, 253, 166, 1, 224, 233, 111, 190, - 43, 9, 251, 215, 99, 166, 253, 66, 168, 32, 205, 126, 199, 155, 10, 202, - 195, 66, 231, 45, 51, 189, 145, 213, 23, 91, 152, 141, 196, 139, 57, - 102, 22, 10, 198, 92, 232, 135, 197, 134, 9, 46, 51, 221, 199, 76, 97, - 114, 185, 146, 13, 222, 204, 60, 234, 78, 67, 168, 232, 139, 28, 129, - 51, 218, 234, 228, 184, 240, 217, 110, 167, 61, 224, 55, 157, 143, 85, - 246, 249, 30, 107, 170, 201, 27, 79, 247, 157, 246, 48, 6, 194, 144, - 164, 238, 48, 143, 235, 71, 163, 13, 184, 59, 119, 39, 55, 161, 131, - 116, 84, 24, 162, 32, 146, 230, 58, 110, 35, 103, 4, 17, 141, 141, 99, - 80, 118, 141, 115, 134, 188, 40, 205, 67, 18, 239, 239, 78, 142, 164, - 152, 206, 109, 46, 200, 48, 45, 136, 187, 184, 132, 38, 21, 250, 104, - 76, 232, 13, 98, 96, 50, 162, 165, 51, 93, 140, 115, 16, 148, 221, 87, - 44, 224, 21, 23, 92, 160, 177, 184, 14, 91, 109, 251, 248, 206, 40, 42, - 104, 14, 137, 231, 55, 180, 136, 121, 113, 0, 36, 201, 9, 64, 238, 70, - 110, 201, 217, 238, 27, 234, 93, 152, 32, 168, 240, 185, 130, 201, 107, - 7, 242, 139, 56, 174, 44, 85, 98, 93, 3, 129, 214, 187, 255, 242, 16, - 215, 161, 137, 63, 230, 209, 119, 114, 120, 23, 122, 46, 92, 198, 80, - 68, 173, 30, 118, 171, 132, 195, 197, 53, 55, 186, 191, 80, 177, 114, - 158, 240, 109, 234, 121, 60, 1, 167, 62, 161, 36, 166, 94, 105, 144, 46, - 39, 148, 97, 238, 213, 39, 153, 182, 21, 218, 234, 113, 255, 40, 8, 24, - 111, 9, 4, 236, 245, 77, 78, 190, 203, 164, 217, 0, 224, 215, 211, 130, - 85, 123, 43, 161, 56, 101, 24, 47, 154, 181, 36, 175, 176, 84, 13, 132, - 65, 251, 251, 15, 105, 102, 223, 42, 121, 59, 2, 79, 67, 70, 56, 223, - 62, 177, 165, 91, 105, 124, 128, 100, 208, 117, 84, 68, 198, 172, 242, - 138, 140, 45, 219, 127, 52, 188, 106, 105, 106, 179, 110, 23, 254, 242, - 46, 32, 166, 62, 185, 210, 43, 189, 58, 65, 142, 89, 216, 50, 101, 232, - 212, 95, 247, 77, 149, 37, 248, 92, 99, 113, 234, 106, 141, 8, 254, 150, - 146, 223, 104, 112, 194, 26, 12, 186, 230, 162, 96, 91, 64, 62, 145, - 181, 220, 215, 107, 105, 3, 171, 115, 202, 58, 23, 82, 179, 85, 54, 55, - 223, 182, 94, 70, 144, 131, 169, 176, 250, 179, 201, 240, 205, 66, 231, - 246, 22, 56, 34, 6, 56, 142, 157, 221, 163, 138, 182, 205, 198, 216, - 240, 43, 244, 169, 233, 249, 233, 104, 214, 233, 50, 171, 235, 97, 158, - 224, 0, 130, 4, 72, 154, 37, 38, 93, 167, 24, 0, 104, 106, 160, 157, 91, - 90, 64, 35, 195, 210, 121, 185, 117, 116, 154, 32, 26, 98, 139, 0, 170, - 228, 142, 187, 166, 157, 66, 236, 178, 103, 113, 225, 1, 65, 207, 185, - 190, 132, 91, 121, 2, 2, 110, 137, 137, 152, 138, 190, 47, 65, 96, 32, - 65, 45, 19, 235, 23, 96, 206, 100, 145, 53, 0, 79, 4, 197, 231, 43, 200, - 213, 138, 129, 26, 103, 231, 132, 211, 48, 55, 117, 253, 190, 53, 13, - 230, 9, 194, 154, 84, 194, 134, 152, 239, 52, 21, 122, 196, 233, 254, - 179, 244, 173, 240, 230, 135, 61, 11, 8, 172, 245, 49, 14, 0, 87, 115, - 1, 143, 136, 145, 139, 62, 31, 201, 132, 29, 12, 21, 72, 112, 208, 117, - 250, 52, 249, 21, 124, 171, 157, 105, 18, 128, 121, 232, 236, 202, 61, - 231, 70, 159, 82, 226, 77, 252, 213, 84, 177, 98, 69, 75, 11, 243, 221, - 173, 43, 215, 174, 146, 208, 231, 157, 158, 178, 230, 192, 203, 54, 158, - 172, 210, 201, 131, 57, 19, 170, 66, 226, 242, 249, 30, 21, 123, 33, 76, - 212, 237, 25, 184, 72, 227, 18, 59, 80, 13, 157, 200, 161, 188, 204, - 244, 227, 102, 159, 63, 33, 31, 186, 143, 83, 241, 216, 38, 174, 201, - 129, 185, 221, 97, 180, 159, 70, 155, 157, 170, 62, 110, 0, 44, 178, - 179, 80, 195, 228, 164, 98, 82, 242, 205, 89, 26, 116, 103, 58, 130, - 108, 124, 228, 158, 49, 217, 110, 246, 186, 171, 206, 73, 255, 53, 148, - 95, 112, 103, 78, 5, 188, 93, 176, 203, 130, 149, 211, 162, 53, 132, 42, - 75, 15, 59, 13, 179, 187, 7, 20, 70, 171, 24, 57, 111, 135, 167, 97, 37, - 96, 152, 193, 57, 48, 227, 16, 56, 71, 11, 180, 239, 151, 126, 153, 180, - 176, 221, 7, 131, 112, 14, 50, 102, 119, 21, 206, 92, 148, 114, 255, - 172, 187, 197, 224, 225, 78, 34, 154, 43, 39, 133, 51, 44, 5, 82, 245, - 96, 179, 129, 68, 160, 41, 205, 186, 17, 142, 165, 193, 84, 123, 73, 71, - 185, 131, 56, 182, 158, 138, 130, 124, 150, 144, 229, 136, 238, 234, - 173, 75, 91, 151, 153, 132, 201, 1, 58, 45, 57, 118, 166, 199, 140, 189, - 14, 71, 151, 96, 51, 13, 198, 94, 208, 177, 20, 132, 43, 126, 121, 1, - 92, 32, 235, 232, 140, 8, 74, 161, 206, 78, 130, 230, 202, 250, 173, 83, - 160, 117, 234, 4, 136, 125, 9, 18, 30, 11, 157, 29, 210, 109, 250, 213, - 245, 118, 5, 244, 29, 63, 6, 103, 135, 170, 73, 125, 67, 9, 172, 208, - 214, 78, 187, 21, 226, 32, 70, 154, 148, 15, 11, 107, 227, 72, 185, 72, - 100, 35, 115, 168, 29, 227, 94, 108, 9, 28, 161, 128, 200, 253, 39, 207, - 101, 159, 68, 56, 97, 193, 173, 106, 125, 167, 248, 94, 170, 177, 24, - 226, 254, 19, 60, 235, 227, 145, 122, 110, 94, 104, 26, 178, 243, 46, - 199, 48, 29, 148, 208, 236, 172, 77, 224, 253, 94, 165, 180, 151, 94, - 63, 226, 128, 166, 210, 17, 81, 120, 58, 116, 243, 9, 219, 213, 107, - 232, 244, 97, 114, 134, 161, 63, 195, 36, 120, 24, 193, 8, 69, 30, 8, - 150, 14, 192, 9, 91, 167, 145, 62, 100, 240, 94, 61, 219, 156, 135, 136, - 143, 83, 73, 31, 109, 102, 72, 59, 19, 86, 225, 96, 202, 190, 19, 156, - 29, 243, 240, 78, 205, 113, 127, 60, 147, 63, 123, 7, 35, 150, 237, 111, - 172, 240, 74, 145, 156, 39, 211, 208, 111, 30, 224, 44, 217, 55, 164, - 199, 190, 4, 42, 22, 92, 176, 109, 28, 237, 43, 217, 52, 245, 63, 134, - 9, 75, 20, 137, 210, 38, 14, 15, 56, 213, 227, 114, 209, 72, 62, 19, - 185, 12, 41, 42, 172, 236, 112, 135, 100, 166, 127, 43, 154, 170, 228, - 226, 6, 27, 20, 7, 23, 253, 23, 254, 57, 244, 0, 165, 141, 178, 17, 189, - 189, 210, 145, 16, 53, 228, 198, 155, 247, 80, 106, 225, 42, 206, 10, - 229, 40, 139, 21, 7, 168, 61, 55, 20, 0, 43, 148, 148, 118, 227, 253, - 168, 47, 66, 166, 146, 246, 72, 71, 137, 128, 162, 185, 226, 70, 182, - 161, 96, 226, 210, 243, 46, 188, 155, 193, 166, 54, 137, 244, 11, 135, - 191, 160, 127, 54, 135, 237, 108, 221, 16, 111, 254, 237, 74, 121, 5, 1, - 123, 39, 127, 117, 230, 9, 41, 139, 142, 43, 163, 108, 64, 228, 187, - 238, 183, 120, 97, 53, 144, 68, 47, 17, 168, 4, 177, 42, 146, 146, 213, - 79, 154, 97, 236, 106, 110, 43, 93, 253, 213, 25, 52, 121, 24, 180, 170, - 168, 199, 86, 7, 52, 215, 51, 131, 212, 43, 46, 110, 216, 55, 128, 169, - 190, 108, 45, 129, 143, 203, 117, 109, 202, 219, 154, 78, 69, 213, 2, - 18, 122, 35, 111, 192, 108, 46, 183, 90, 254, 162, 107, 31, 163, 241, - 87, 153, 58, 21, 16, 106, 5, 42, 8, 127, 134, 142, 104, 131, 76, 140, - 222, 76, 123, 9, 225, 237, 10, 242, 227, 87, 100, 203, 127, 108, 101, - 81, 80, 146, 206, 157, 190, 24, 88, 83, 242, 44, 73, 203, 97, 219, 133, - 62, 116, 94, 144, 94, 185, 113, 251, 176, 77, 182, 199, 17, 64, 32, 175, - 214, 94, 206, 2, 164, 3, 40, 2, 140, 95, 109, 34, 38, 38, 118, 172, 196, - 167, 238, 163, 137, 197, 189, 99, 132, 243, 37, 190, 173, 7, 27, 49, 42, - 58, 158, 213, 128, 24, 133, 177, 7, 192, 120, 80, 148, 109, 40, 67, 193, - 93, 41, 64, 118, 21, 99, 238, 214, 236, 139, 249, 59, 97, 183, 83, 40, - 190, 17, 44, 164, 54, 216, 105, 57, 138, 80, 171, 99, 192, 150, 77, 222, - 128, 111, 205, 175, 20, 81, 118, 226, 45, 163, 68, 67, 63, 222, 251, 28, - 202, 36, 98, 59, 112, 196, 133, 216, 133, 238, 112, 228, 217, 208, 183, - 211, 103, 225, 18, 173, 70, 64, 174, 209, 245, 29, 243, 78, 207, 155, - 214, 189, 113, 149, 98, 211, 239, 168, 245, 219, 221, 53, 67, 213, 230, - 112, 87, 20, 90, 63, 126, 236, 11, 117, 209, 58, 100, 58, 194, 62, 168, - 16, 22, 143, 200, 96, 157, 0, 118, 105, 6, 57, 137, 239, 119, 176, 220, - 88, 255, 207, 252, 88, 212, 48, 147, 147, 213, 160, 212, 235, 206, 83, - 153, 200, 148, 169, 192, 43, 184, 56, 223, 167, 12, 104, 227, 210, 207, - 166, 193, 234, 188, 23, 61, 87, 202, 255, 71, 208, 169, 111, 117, 133, - 122, 122, 44, 229, 189, 252, 151, 191, 170, 134, 56, 82, 189, 122, 46, - 4, 169, 67, 65, 145, 144, 9, 182, 218, 209, 99, 245, 182, 153, 95, 157, - 216, 236, 21, 168, 244, 97, 150, 187, 234, 198, 88, 111, 215, 216, 37, - 42, 231, 3, 156, 236, 167, 210, 38, 53, 13, 72, 68, 253, 247, 17, 234, - 124, 60, 129, 94, 176, 155, 246, 144, 206, 53, 151, 242, 115, 73, 252, - 61, 203, 231, 73, 33, 45, 95, 214, 238, 244, 235, 185, 124, 229, 104, - 228, 216, 237, 247, 169, 81, 54, 41, 6, 141, 237, 163, 232, 175, 4, 28, - 21, 167, 190, 162, 176, 141, 204, 191, 232, 137, 77, 65, 199, 35, 133, - 214, 54, 21, 192, 44, 3, 62, 56, 17, 204, 62, 40, 51, 199, 46, 152, 205, - 146, 90, 176, 150, 222, 146, 4, 215, 186, 233, 16, 29, 215, 193, 221, - 246, 142, 9, 193, 163, 113, 228, 193, 165, 206, 25, 6, 175, 82, 73, 252, - 104, 236, 150, 167, 160, 75, 100, 29, 224, 104, 134, 35, 88, 147, 245, - 190, 120, 31, 248, 76, 30, 104, 35, 162, 131, 218, 4, 194, 36, 162, 156, - 14, 46, 61, 253, 44, 150, 235, 225, 31, 115, 229, 162, 199, 59, 161, 76, - 152, 240, 222, 32, 247, 220, 222, 23, 141, 179, 12, 26, 112, 147, 189, - 102, 15, 78, 48, 227, 190, 71, 224, 0, 231, 98, 23, 27, 32, 255, 65, - 184, 117, 31, 116, 78, 169, 172, 77, 213, 95, 103, 76, 29, 72, 240, 76, - 46, 224, 119, 63, 207, 130, 250, 45, 139, 207, 228, 29, 179, 64, 185, - 145, 201, 17, 37, 168, 25, 27, 129, 227, 53, 21, 72, 144, 40, 217, 208, - 176, 95, 4, 20, 85, 70, 7, 46, 139, 158, 45, 45, 174, 29, 188, 214, 123, - 179, 208, 121, 12, 237, 191, 72, 173, 117, 99, 82, 97, 175, 2, 120, 28, - 127, 60, 98, 252, 157, 54, 64, 91, 90, 234, 33, 65, 208, 186, 252, 50, - 41, 54, 39, 211, 45, 146, 163, 239, 80, 110, 19, 248, 91, 146, 78, 105, - 221, 81, 175, 83, 208, 193, 169, 7, 146, 90, 118, 89, 32, 58, 25, 147, - 99, 197, 20, 119, 169, 113, 231, 230, 28, 208, 246, 231, 82, 250, 127, - 204, 128, 112, 101, 11, 206, 11, 114, 66, 134, 141, 107, 5, 9, 72, 53, - 75, 8, 92, 255, 82, 13, 180, 54, 233, 38, 9, 84, 185, 66, 237, 99, 161, - 160, 104, 240, 119, 46, 48, 73, 128, 136, 101, 142, 2, 71, 250, 26, 78, - 119, 57, 87, 41, 130, 24, 234, 226, 209, 148, 117, 14, 169, 197, 199, - 214, 127, 146, 133, 87, 97, 192, 95, 36, 215, 93, 118, 82, 81, 213, 96, - 91, 133, 67, 130, 113, 245, 63, 29, 200, 144, 191, 58, 4, 71, 172, 90, - 138, 57, 179, 150, 85, 66, 23, 44, 97, 158, 21, 156, 50, 208, 110, 86, - 44, 137, 164, 96, 85, 69, 128, 99, 234, 72, 173, 142, 48, 79, 46, 250, - 2, 40, 26, 24, 174, 125, 21, 194, 48, 143, 81, 192, 54, 37, 9, 75, 151, - 175, 145, 62, 169, 224, 219, 183, 203, 118, 23, 210, 68, 119, 20, 191, - 252, 205, 198, 46, 223, 101, 196, 13, 237, 151, 169, 209, 247, 77, 248, - 165, 96, 130, 63, 173, 20, 213, 29, 88, 191, 26, 1, 10, 179, 67, 33, - 230, 60, 25, 205, 120, 82, 93, 159, 237, 117, 57, 206, 21, 216, 155, - 168, 13, 80, 68, 167, 40, 197, 10, 70, 140, 3, 161, 125, 170, 197, 215, - 253, 20, 36, 116, 24, 147, 248, 9, 214, 118, 203, 49, 218, 68, 240, 114, - 106, 221, 109, 134, 220, 130, 55, 150, 165, 248, 18, 166, 171, 147, 217, - 43, 87, 179, 7, 27, 203, 184, 183, 23, 216, 172, 154, 228, 12, 53, 76, - 72, 16, 132, 24, 113, 202, 95, 58, 212, 237, 47, 215, 247, 94, 43, 216, - 129, 248, 231, 86, 105, 41, 233, 188, 8, 97, 247, 46, 45, 211, 115, 140, - 57, 92, 243, 218, 116, 130, 35, 183, 84, 188, 110, 125, 186, 34, 133, - 93, 237, 202, 216, 91, 9, 13, 237, 123, 213, 161, 122, 188, 176, 97, - 194, 253, 100, 225, 193, 244, 64, 159, 218, 239, 122, 29, 118, 193, 74, - 66, 34, 217, 42, 154, 143, 130, 18, 152, 189, 31, 228, 161, 77, 211, - 185, 1, 47, 40, 2, 182, 106, 163, 205, 26, 246, 210, 91, 167, 209, 123, - 68, 48, 230, 168, 150, 242, 227, 108, 125, 162, 228, 86, 115, 54, 210, - 254, 25, 197, 33, 85, 22, 198, 135, 154, 188, 215, 66, 139, 164, 26, - 219, 133, 125, 61, 165, 210, 218, 57, 13, 16, 128, 168, 118, 12, 139, - 204, 73, 224, 218, 152, 241, 8, 239, 154, 38, 52, 19, 107, 28, 80, 224, - 231, 24, 61, 222, 246, 69, 20, 87, 115, 26, 135, 75, 78, 157, 77, 46, - 232, 130, 71, 90, 107, 179, 195, 174, 220, 17, 1, 88, 252, 115, 93, 205, - 146, 189, 25, 227, 61, 231, 180, 141, 83, 245, 50, 87, 253, 82, 103, 54, - 133, 124, 69, 161, 13, 208, 87, 110, 119, 143, 230, 105, 198, 46, 75, - 82, 133, 171, 240, 54, 102, 228, 190, 182, 237, 140, 158, 43, 207, 160, - 154, 26, 36, 116, 116, 89, 178, 168, 20, 161, 165, 28, 83, 140, 98, 146, - 140, 138, 212, 170, 119, 46, 151, 216, 167, 2, 201, 222, 198, 162, 85, - 226, 103, 131, 215, 62, 128, 230, 215, 205, 198, 78, 56, 128, 127, 32, - 239, 226, 148, 165, 70, 154, 201, 123, 5, 241, 86, 3, 231, 37, 131, 159, - 33, 52, 154, 106, 227, 65, 67, 194, 51, 117, 204, 204, 174, 222, 21, 98, - 123, 216, 136, 143, 134, 233, 218, 55, 203, 100, 52, 18, 172, 141, 177, - 134, 41, 23, 4, 116, 229, 159, 246, 149, 146, 229, 235, 245, 77, 149, - 237, 200, 122, 69, 196, 23, 127, 157, 43, 56, 241, 94, 20, 15, 240, 233, - 233, 96, 188, 133, 70, 205, 35, 230, 47, 114, 189, 221, 204, 205, 66, - 65, 229, 39, 1, 52, 168, 193, 145, 1, 196, 54, 59, 126, 36, 124, 99, - 155, 132, 53, 110, 246, 205, 153, 5, 90, 130, 83, 35, 66, 209, 229, 92, - 151, 101, 63, 187, 25, 214, 194, 16, 106, 164, 146, 156, 36, 63, 29, - 110, 18, 111, 244, 150, 10, 176, 236, 22, 141, 248, 193, 14, 17, 122, - 199, 61, 35, 210, 4, 15, 43, 123, 219, 127, 209, 144, 197, 193, 218, 75, - 117, 247, 180, 173, 250, 232, 151, 71, 20, 192, 112, 219, 103, 206, 141, - 188, 187, 45, 154, 81, 25, 235, 209, 215, 232, 207, 88, 124, 207, 40, - 85, 8, 208, 247, 107, 146, 94, 106, 78, 82, 233, 74, 108, 240, 47, 169, - 10, 40, 77, 38, 234, 200, 3, 153, 83, 207, 185, 183, 222, 243, 176, 117, - 3, 145, 198, 216, 193, 18, 72, 175, 33, 172, 8, 111, 122, 13, 173, 230, - 242, 194, 162, 5, 172, 1, 210, 11, 0, 103, 188, 63, 45, 214, 230, 147, - 129, 241, 155, 206, 172, 96, 205, 67, 89, 178, 196, 174, 25, 109, 243, - 221, 143, 167, 147, 23, 188, 59, 109, 112, 63, 228, 219, 67, 59, 229, - 34, 117, 131, 214, 66, 7, 47, 12, 38, 133, 168, 241, 37, 228, 219, 126, - 228, 86, 166, 59, 81, 182, 166, 0, 22, 217, 168, 151, 186, 246, 227, 50, - 32, 209, 91, 21, 25, 237, 138, 142, 98, 194, 98, 116, 197, 167, 227, - 185, 156, 171, 191, 42, 169, 192, 58, 159, 209, 59, 135, 7, 32, 42, 70, - 128, 109, 46, 117, 59, 104, 124, 180, 82, 115, 210, 65, 244, 145, 203, - 218, 131, 192, 171, 228, 22, 135, 88, 203, 249, 44, 128, 127, 94, 179, - 211, 82, 254, 133, 9, 129, 239, 86, 38, 237, 99, 50, 16, 61, 166, 228, - 176, 194, 17, 59, 7, 141, 230, 65, 216, 146, 58, 16, 41, 170, 169, 224, - 255, 49, 190, 87, 231, 0, 151, 88, 239, 161, 189, 165, 15, 41, 250, 110, - 219, 197, 184, 81, 133, 204, 48, 56, 207, 41, 135, 161, 168, 40, 55, - 133, 44, 166, 69, 250, 157, 48, 67, 163, 186, 41, 54, 192, 179, 91, 40, - 30, 248, 107, 74, 19, 110, 64, 144, 211, 248, 15, 127, 119, 71, 58, 113, - 94, 168, 126, 117, 86, 194, 215, 18, 192, 5, 161, 210, 33, 18, 190, 50, - 135, 249, 11, 91, 213, 44, 65, 219, 250, 175, 184, 50, 7, 105, 138, 62, - 110, 193, 131, 132, 25, 95, 116, 225, 59, 147, 190, 156, 118, 126, 139, - 242, 103, 50, 8, 130, 200, 249, 230, 221, 176, 59, 98, 249, 200, 53, - 241, 210, 163, 174, 139, 81, 140, 196, 111, 26, 79, 254, 242, 49, 139, - 183, 15, 196, 62, 51, 16, 97, 113, 205, 74, 108, 236, 221, 2, 170, 52, - 20, 35, 88, 144, 238, 155, 234, 15, 107, 18, 125, 234, 28, 232, 232, - 164, 80, 194, 221, 121, 96, 244, 118, 126, 137, 6, 151, 231, 207, 209, - 197, 24, 82, 132, 56, 20, 70, 16, 44, 203, 229, 28, 247, 242, 232, 100, - 232, 2, 173, 173, 173, 39, 48, 62, 226, 164, 24, 76, 14, 88, 52, 48, - 103, 209, 81, 17, 200, 110, 70, 186, 25, 64, 61, 238, 51, 131, 182, 162, - 239, 202, 19, 57, 161, 62, 64, 42, 93, 115, 185, 220, 106, 73, 245, 207, - 91, 147, 17, 28, 9, 112, 56, 126, 104, 92, 69, 53, 209, 156, 98, 88, 85, - 179, 71, 147, 33, 40, 33, 236, 85, 166, 52, 139, 246, 239, 218, 48, 246, - 155, 18, 113, 5, 74, 109, 226, 108, 65, 243, 17, 13, 195, 129, 246, 164, - 13, 173, 49, 54, 253, 120, 114, 55, 83, 1, 144, 132, 12, 150, 181, 21, - 112, 102, 25, 203, 63, 31, 222, 17, 100, 127, 144, 82, 233, 93, 35, 106, - 252, 254, 133, 193, 149, 95, 5, 69, 199, 87, 147, 182, 40, 136, 2, 63, - 122, 22, 75, 180, 144, 42, 179, 131, 53, 67, 144, 76, 6, 172, 162, 55, - 64, 230, 77, 141, 237, 225, 110, 254, 154, 126, 12, 115, 116, 134, 239, - 206, 248, 41, 232, 17, 102, 242, 151, 58, 80, 137, 140, 160, 117, 225, - 157, 210, 187, 54, 236, 137, 241, 245, 82, 177, 146, 235, 202, 77, 90, - 156, 38, 5, 150, 175, 78, 141, 228, 242, 62, 86, 0, 61, 237, 230, 109, - 5, 187, 70, 124, 2, 58, 183, 174, 197, 73, 174, 61, 219, 16, 90, 59, 66, - 175, 30, 49, 95, 86, 188, 152, 5, 65, 178, 249, 218, 190, 52, 90, 59, - 37, 0, 162, 29, 134, 67, 96, 61, 135, 166, 43, 207, 245, 207, 85, 127, - 85, 116, 57, 161, 157, 210, 13, 164, 244, 225, 19, 101, 38, 200, 7, 51, - 15, 214, 173, 75, 88, 247, 19, 128, 82, 77, 155, 169, 216, 49, 41, 116, - 244, 202, 142, 191, 225, 152, 40, 95, 96, 36, 73, 181, 2, 113, 245, 128, - 0, 47, 189, 133, 143, 35, 23, 235, 107, 48, 211, 98, 151, 255, 253, 206, - 219, 83, 20, 134, 192, 64, 209, 189, 51, 46, 8, 31, 160, 226, 208, 20, - 208, 8, 49, 246, 201, 225, 153, 134, 76, 196, 186, 11, 217, 24, 180, 61, - 117, 22, 89, 71, 93, 105, 41, 45, 176, 136, 46, 46, 202, 206, 136, 71, - 24, 160, 176, 97, 168, 90, 236, 91, 122, 226, 197, 131, 125, 253, 228, - 13, 110, 214, 50, 229, 164, 96, 0, 42, 63, 203, 233, 181, 140, 121, 169, - 240, 155, 9, 199, 141, 212, 248, 239, 22, 28, 86, 50, 70, 84, 242, 87, - 65, 152, 71, 215, 176, 210, 243, 60, 154, 26, 147, 86, 142, 77, 2, 64, - 39, 234, 239, 171, 241, 149, 141, 63, 152, 206, 24, 188, 160, 111, 108, - 245, 64, 131, 1, 8, 55, 205, 69, 218, 69, 244, 8, 145, 90, 247, 66, 195, - 27, 187, 159, 132, 203, 17, 14, 83, 40, 161, 184, 23, 81, 218, 234, 241, - 170, 159, 67, 182, 92, 92, 164, 163, 66, 172, 58, 25, 168, 13, 102, 8, - 216, 145, 50, 251, 8, 235, 20, 249, 111, 53, 99, 156, 68, 71, 112, 243, - 156, 33, 37, 190, 25, 153, 199, 239, 225, 132, 56, 144, 176, 12, 67, - 227, 14, 249, 110, 15, 154, 37, 221, 39, 69, 36, 228, 106, 238, 116, - 119, 218, 160, 153, 142, 255, 168, 248, 24, 165, 97, 200, 181, 139, 118, - 55, 246, 102, 239, 145, 32, 124, 64, 106, 252, 126, 104, 143, 57, 30, - 164, 122, 75, 98, 228, 217, 87, 242, 176, 80, 226, 96, 167, 26, 37, 184, - 83, 93, 253, 202, 202, 220, 232, 57, 22, 121, 42, 192, 169, 188, 55, 90, - 163, 63, 187, 228, 54, 181, 27, 195, 119, 233, 177, 131, 109, 88, 238, - 123, 230, 99, 32, 128, 214, 106, 125, 17, 31, 21, 221, 172, 230, 14, 98, - 171, 132, 29, 49, 247, 44, 120, 45, 129, 4, 209, 139, 204, 111, 42, 242, - 101, 142, 164, 1, 130, 39, 171, 99, 126, 61, 2, 90, 130, 132, 229, 8, - 132, 75, 166, 218, 102, 245, 132, 81, 142, 67, 188, 52, 36, 68, 141, - 183, 36, 124, 105, 186, 188, 120, 155, 89, 223, 194, 68, 57, 128, 18, - 94, 235, 159, 31, 34, 91, 142, 186, 174, 126, 79, 170, 86, 14, 138, 135, - 176, 155, 23, 164, 252, 155, 198, 80, 174, 248, 192, 24, 250, 103, 65, - 27, 201, 191, 92, 92, 197, 198, 37, 214, 108, 128, 12, 108, 219, 97, 98, - 218, 138, 104, 121, 182, 239, 59, 141, 10, 227, 212, 177, 103, 81, 2, - 127, 19, 140, 106, 238, 234, 25, 129, 171, 186, 167, 221, 69, 246, 173, - 154, 175, 154, 204, 169, 78, 201, 163, 68, 179, 151, 172, 146, 253, 159, - 121, 106, 247, 103, 108, 144, 177, 194, 254, 178, 27, 59, 210, 26, 150, - 96, 54, 228, 82, 70, 159, 203, 112, 123, 222, 182, 116, 9, 87, 146, 78, - 181, 20, 69, 44, 25, 247, 9, 108, 103, 243, 4, 97, 82, 153, 62, 82, 136, - 52, 191, 140, 229, 178, 70, 206, 133, 213, 2, 115, 12, 249, 122, 68, 81, - 3, 42, 41, 200, 143, 143, 227, 143, 73, 130, 214, 189, 55, 220, 19, 247, - 204, 246, 212, 173, 18, 226, 38, 85, 137, 147, 113, 46, 180, 3, 198, 74, - 24, 55, 84, 71, 51, 42, 85, 252, 125, 14, 248, 9, 188, 200, 113, 181, - 232, 170, 191, 65, 33, 51, 182, 43, 232, 101, 238, 252, 72, 90, 51, 147, - 123, 53, 217, 84, 49, 243, 69, 245, 153, 214, 18, 140, 152, 12, 251, - 129, 30, 179, 157, 113, 203, 10, 104, 119, 21, 189, 180, 145, 171, 150, - 49, 185, 2, 144, 226, 114, 140, 189, 171, 18, 181, 49, 28, 45, 54, 209, - 32, 8, 178, 68, 93, 221, 34, 233, 188, 103, 104, 245, 36, 144, 83, 206, - 2, 194, 145, 11, 51, 227, 3, 201, 108, 47, 3, 80, 142, 26, 231, 81, 25, - 13, 29, 155, 142, 164, 194, 129, 95, 147, 59, 9, 38, 30, 86, 219, 117, - 100, 172, 146, 139, 57, 249, 173, 156, 185, 21, 148, 122, 63, 14, 13, - 42, 95, 184, 187, 170, 170, 177, 98, 237, 235, 74, 61, 138, 192, 82, 67, - 75, 143, 243, 51, 155, 241, 97, 163, 140, 44, 180, 140, 170, 151, 248, - 142, 115, 234, 197, 190, 245, 132, 119, 171, 110, 27, 104, 190, 242, 30, - 145, 107, 71, 200, 27, 235, 152, 109, 148, 73, 43, 199, 29, 83, 131, - 237, 27, 230, 253, 1, 142, 100, 85, 170, 218, 33, 49, 185, 181, 17, 84, - 57, 15, 59, 134, 1, 154, 212, 248, 83, 97, 174, 131, 207, 144, 44, 160, - 150, 214, 29, 171, 201, 59, 78, 168, 40, 230, 114, 17, 95, 187, 68, 211, - 149, 7, 6, 43, 16, 170, 163, 51, 105, 240, 8, 66, 239, 183, 131, 65, 7, - 119, 208, 154, 205, 75, 212, 62, 214, 138, 182, 164, 1, 2, 5, 15, 226, - 106, 38, 147, 0, 242, 208, 53, 242, 98, 88, 76, 65, 217, 144, 70, 210, - 166, 78, 19, 90, 209, 103, 254, 148, 71, 128, 58, 177, 128, 124, 206, - 206, 49, 114, 37, 35, 54, 192, 57, 250, 71, 1, 129, 237, 148, 37, 233, - 235, 43, 19, 15, 180, 78, 122, 38, 226, 25, 66, 167, 32, 236, 69, 240, - 68, 18, 45, 157, 103, 214, 106, 112, 197, 28, 150, 114, 40, 217, 62, - 155, 83, 0, 10, 19, 168, 95, 216, 59, 171, 111, 50, 42, 220, 142, 61, - 36, 17, 215, 125, 92, 1, 60, 64, 108, 135, 253, 145, 241, 21, 57, 220, - 224, 215, 220, 84, 232, 80, 181, 127, 22, 112, 44, 248, 242, 73, 59, - 130, 111, 7, 29, 106, 2, 229, 45, 228, 224, 245, 251, 189, 46, 96, 126, - 211, 93, 146, 230, 135, 206, 234, 140, 232, 46, 20, 3, 92, 87, 132, 73, - 16, 15, 238, 68, 217, 236, 19, 101, 41, 146, 45, 75, 41, 66, 232, 125, - 230, 109, 59, 96, 8, 119, 235, 105, 61, 37, 222, 1, 61, 30, 226, 82, - 102, 81, 162, 7, 104, 97, 206, 20, 65, 101, 132, 182, 223, 34, 173, 186, - 54, 81, 224, 109, 176, 66, 134, 97, 58, 107, 201, 223, 110, 77, 173, 92, - 222, 137, 197, 124, 94, 90, 190, 64, 154, 91, 229, 71, 93, 191, 141, 4, - 35, 93, 104, 92, 84, 70, 107, 145, 154, 160, 255, 248, 222, 143, 220, - 86, 13, 212, 45, 87, 50, 51, 206, 43, 208, 125, 10, 81, 79, 175, 235, - 137, 184, 195, 224, 50, 97, 211, 250, 22, 130, 191, 212, 72, 11, 152, - 190, 69, 143, 204, 60, 167, 7, 43, 253, 221, 63, 106, 146, 65, 236, 58, - 144, 181, 164, 221, 75, 114, 90, 163, 51, 78, 90, 208, 80, 160, 220, 46, - 244, 242, 3, 248, 85, 235, 38, 19, 243, 197, 52, 191, 74, 187, 191, 138, - 3, 20, 72, 25, 91, 203, 40, 1, 86, 69, 111, 2, 152, 46, 147, 153, 118, - 239, 185, 78, 105, 33, 44, 80, 17, 224, 24, 122, 59, 148, 4, 101, 167, - 6, 84, 228, 55, 41, 7, 60, 66, 139, 72, 75, 173, 154, 253, 245, 85, 95, - 3, 131, 219, 62, 89, 148, 147, 90, 201, 93, 96, 242, 246, 223, 38, 160, - 32, 107, 56, 11, 193, 232, 249, 88, 254, 7, 202, 105, 38, 174, 103, 115, - 5, 105, 3, 8, 171, 40, 213, 60, 250, 225, 185, 168, 243, 171, 57, 119, - 18, 93, 108, 21, 222, 57, 144, 228, 73, 0, 19, 159, 67, 69, 6, 224, 43, - 7, 144, 115, 38, 149, 238, 161, 90, 184, 78, 224, 20, 203, 176, 51, 228, - 105, 189, 188, 164, 205, 50, 28, 200, 33, 102, 93, 21, 11, 164, 170, 5, - 69, 150, 159, 62, 140, 117, 132, 122, 236, 249, 101, 9, 48, 224, 229, - 50, 92, 81, 90, 101, 64, 25, 229, 183, 253, 153, 120, 233, 160, 172, 11, - 51, 19, 187, 247, 145, 62, 115, 30, 15, 178, 191, 118, 25, 155, 239, 58, - 10, 66, 76, 58, 67, 73, 63, 25, 39, 66, 214, 199, 4, 149, 58, 181, 19, - 78, 34, 27, 76, 35, 209, 232, 228, 108, 155, 203, 49, 0, 72, 89, 51, - 123, 32, 44, 227, 52, 149, 59, 138, 52, 83, 121, 22, 12, 248, 188, 175, - 166, 34, 132, 232, 174, 244, 255, 105, 169, 148, 210, 242, 253, 121, - 249, 171, 100, 148, 94, 23, 26, 35, 14, 182, 222, 195, 157, 160, 210, - 185, 26, 196, 61, 214, 102, 117, 21, 31, 59, 183, 145, 68, 23, 181, 62, - 64, 58, 253, 71, 62, 86, 215, 206, 101, 17, 157, 241, 5, 111, 191, 217, - 71, 49, 115, 130, 216, 82, 12, 88, 40, 181, 200, 78, 162, 113, 94, 67, - 9, 129, 232, 183, 158, 168, 34, 17, 9, 101, 146, 88, 86, 109, 189, 194, - 76, 53, 64, 18, 226, 31, 19, 57, 181, 74, 32, 160, 124, 252, 252, 48, - 65, 211, 131, 20, 135, 160, 7, 121, 44, 204, 62, 97, 5, 123, 82, 135, - 81, 221, 36, 113, 240, 6, 194, 168, 241, 178, 19, 182, 36, 180, 58, 231, - 43, 169, 2, 0, 254, 194, 64, 46, 48, 104, 100, 210, 39, 80, 72, 163, - 128, 3, 88, 178, 192, 119, 137, 164, 67, 191, 104, 56, 183, 141, 219, - 190, 195, 123, 37, 48, 223, 145, 178, 184, 175, 78, 68, 143, 79, 199, - 29, 157, 235, 99, 52, 42, 161, 17, 149, 126, 85, 227, 194, 161, 184, - 220, 214, 62, 63, 44, 30, 129, 100, 46, 80, 124, 0, 246, 10, 223, 33, - 193, 183, 254, 5, 24, 90, 66, 109, 194, 58, 136, 193, 22, 143, 227, 124, - 39, 232, 41, 236, 6, 148, 80, 228, 147, 98, 131, 142, 186, 75, 88, 247, - 76, 198, 164, 105, 9, 7, 103, 88, 121, 6, 14, 140, 186, 96, 93, 238, 14, - 233, 71, 95, 197, 49, 109, 106, 70, 144, 8, 80, 48, 181, 215, 168, 207, - 120, 157, 61, 213, 188, 252, 11, 165, 64, 171, 220, 5, 183, 51, 109, 73, - 7, 20, 234, 9, 173, 27, 206, 134, 187, 63, 172, 214, 20, 227, 194, 139, - 138, 208, 102, 106, 161, 54, 192, 133, 72, 172, 163, 115, 97, 45, 92, - 168, 147, 212, 25, 194, 107, 31, 250, 218, 125, 22, 187, 146, 157, 96, - 219, 77, 94, 149, 85, 39, 193, 254, 162, 109, 81, 27, 149, 241, 26, 93, - 228, 211, 165, 209, 84, 4, 251, 165, 218, 12, 29, 120, 12, 157, 89, 162, - 242, 4, 107, 20, 43, 63, 234, 4, 142, 112, 251, 108, 93, 97, 153, 104, - 105, 51, 141, 196, 210, 166, 106, 153, 152, 79, 161, 184, 38, 42, 239, - 187, 215, 45, 181, 203, 215, 234, 104, 9, 64, 48, 12, 219, 148, 25, 103, - 228, 92, 140, 25, 46, 237, 211, 4, 154, 98, 191, 249, 153, 165, 137, 95, - 117, 72, 108, 57, 155, 230, 235, 197, 55, 131, 16, 247, 198, 4, 26, 149, - 107, 184, 188, 200, 96, 54, 7, 155, 154, 84, 112, 185, 246, 82, 83, 219, - 61, 212, 45, 29, 253, 0, 50, 132, 216, 96, 195, 48, 229, 213, 147, 186, - 71, 130, 213, 148, 100, 128, 210, 18, 129, 124, 121, 137, 73, 42, 160, - 77, 230, 136, 210, 203, 227, 196, 254, 216, 69, 224, 193, 22, 224, 129, - 102, 62, 97, 243, 130, 33, 192, 153, 46, 84, 57, 47, 215, 206, 65, 111, - 180, 97, 224, 140, 32, 114, 114, 194, 157, 195, 133, 134, 71, 148, 28, - 168, 197, 81, 79, 135, 166, 219, 130, 127, 94, 192, 69, 126, 28, 219, - 104, 34, 205, 191, 56, 6, 44, 29, 218, 170, 233, 140, 157, 20, 137, 159, - 9, 214, 126, 22, 165, 152, 182, 170, 178, 255, 161, 28, 147, 112, 75, - 153, 69, 100, 69, 84, 249, 159, 99, 186, 175, 113, 160, 2, 79, 183, 235, - 78, 210, 55, 108, 54, 110, 8, 51, 162, 75, 192, 14, 144, 9, 135, 61, - 120, 84, 16, 203, 228, 138, 117, 194, 1, 245, 236, 146, 208, 148, 28, - 156, 25, 28, 248, 127, 115, 249, 4, 142, 21, 195, 193, 118, 16, 219, 24, - 225, 159, 3, 60, 195, 233, 42, 106, 65, 241, 145, 21, 109, 223, 176, 37, - 179, 144, 249, 61, 251, 101, 169, 168, 5, 176, 15, 201, 210, 46, 53, - 178, 74, 106, 221, 217, 134, 168, 172, 115, 70, 31, 208, 90, 68, 11, - 229, 63, 156, 116, 57, 159, 190, 51, 220, 112, 143, 148, 206, 15, 4, - 129, 156, 193, 76, 238, 178, 142, 235, 47, 115, 136, 249, 220, 137, 86, - 237, 211, 116, 8, 247, 57, 35, 180, 23, 76, 77, 82, 53, 177, 179, 108, - 132, 32, 231, 25, 230, 153, 76, 29, 189, 146, 89, 222, 147, 118, 236, - 127, 113, 1, 217, 240, 182, 209, 197, 35, 153, 12, 161, 76, 19, 145, - 100, 70, 161, 72, 145, 182, 186, 110, 236, 53, 33, 84, 141, 160, 72, - 225, 120, 29, 59, 76, 160, 73, 224, 33, 182, 149, 206, 205, 102, 112, - 174, 205, 179, 111, 125, 171, 7, 65, 131, 222, 60, 117, 130, 49, 233, 7, - 78, 9, 165, 248, 8, 221, 198, 121, 6, 84, 58, 64, 227, 72, 113, 249, - 149, 218, 181, 176, 52, 113, 54, 253, 102, 146, 169, 113, 54, 226, 102, - 53, 119, 148, 154, 48, 7, 141, 173, 63, 9, 46, 31, 113, 133, 6, 6, 115, - 243, 180, 232, 15, 178, 213, 132, 182, 63, 216, 232, 26, 76, 161, 55, - 127, 35, 176, 86, 103, 137, 209, 91, 154, 32, 66, 2, 44, 49, 220, 118, - 176, 239, 215, 18, 113, 1, 96, 99, 154, 117, 19, 159, 217, 160, 220, 35, - 254, 34, 9, 7, 238, 179, 38, 108, 64, 125, 163, 65, 79, 174, 84, 139, - 69, 78, 173, 92, 29, 118, 220, 68, 3, 12, 133, 235, 104, 67, 234, 236, - 126, 169, 134, 247, 124, 204, 191, 54, 166, 52, 38, 153, 211, 68, 114, - 208, 240, 14, 247, 43, 50, 177, 96, 155, 110, 155, 44, 92, 236, 173, 86, - 116, 199, 7, 5, 60, 14, 128, 100, 0, 66, 200, 68, 228, 132, 46, 194, - 102, 133, 145, 10, 146, 58, 99, 215, 244, 59, 185, 86, 154, 110, 74, 88, - 183, 98, 232, 151, 162, 75, 105, 168, 39, 40, 24, 78, 173, 194, 8, 145, - 2, 186, 225, 221, 172, 176, 68, 72, 95, 202, 221, 195, 32, 81, 163, 0, - 10, 69, 237, 224, 51, 202, 237, 42, 188, 76, 44, 64, 248, 195, 137, 241, - 54, 194, 173, 128, 22, 99, 234, 212, 233, 148, 217, 162, 24, 134, 130, - 146, 156, 182, 49, 28, 242, 156, 69, 112, 191, 236, 65, 73, 149, 210, - 231, 67, 43, 85, 27, 34, 203, 18, 158, 253, 121, 82, 97, 148, 221, 57, - 126, 65, 29, 178, 163, 104, 117, 187, 126, 168, 76, 103, 145, 25, 48, - 182, 207, 27, 196, 44, 69, 2, 34, 138, 128, 100, 98, 187, 47, 231, 83, - 70, 208, 145, 128, 202, 58, 198, 41, 61, 84, 109, 240, 229, 174, 211, - 151, 136, 175, 182, 54, 191, 134, 184, 17, 122, 13, 72, 128, 218, 49, - 76, 57, 84, 121, 234, 195, 133, 153, 167, 67, 205, 131, 15, 232, 183, - 109, 99, 223, 15, 112, 25, 94, 7, 84, 31, 205, 123, 48, 187, 77, 10, 36, - 236, 131, 229, 64, 63, 41, 164, 73, 167, 255, 141, 168, 157, 255, 204, - 59, 22, 238, 173, 128, 144, 163, 213, 207, 30, 54, 121, 57, 201, 238, - 118, 214, 205, 14, 108, 128, 219, 65, 186, 219, 106, 155, 254, 226, 185, - 211, 122, 19, 12, 205, 152, 185, 237, 227, 22, 29, 163, 175, 243, 191, - 52, 41, 80, 166, 218, 109, 104, 72, 93, 112, 234, 16, 153, 162, 172, - 221, 229, 45, 205, 219, 53, 132, 158, 41, 66, 195, 208, 148, 186, 156, - 225, 72, 235, 174, 19, 147, 117, 30, 130, 130, 42, 93, 91, 143, 136, - 205, 74, 34, 136, 132, 2, 75, 249, 252, 19, 28, 83, 21, 161, 46, 63, 40, - 241, 67, 225, 115, 84, 21, 201, 59, 216, 220, 37, 146, 30, 20, 196, 7, - 127, 169, 167, 230, 184, 50, 74, 129, 37, 218, 70, 165, 35, 146, 243, - 101, 93, 214, 40, 55, 97, 129, 175, 60, 32, 82, 102, 23, 89, 147, 224, - 254, 30, 20, 211, 96, 162, 69, 69, 217, 42, 92, 207, 146, 55, 183, 196, - 194, 71, 122, 19, 31, 100, 254, 190, 240, 113, 132, 56, 23, 187, 47, 67, - 102, 141, 147, 196, 47, 216, 232, 109, 165, 149, 15, 141, 59, 171, 109, - 44, 105, 71, 58, 61, 126, 20, 251, 146, 50, 7, 181, 177, 181, 67, 112, - 70, 66, 57, 202, 104, 82, 154, 117, 174, 83, 40, 124, 167, 162, 225, - 101, 181, 215, 248, 240, 248, 181, 133, 214, 107, 47, 34, 194, 201, 249, - 14, 87, 74, 136, 40, 182, 134, 200, 4, 89, 71, 236, 108, 154, 20, 163, - 247, 20, 252, 31, 54, 122, 172, 70, 135, 134, 213, 104, 216, 34, 2, 194, - 62, 99, 113, 213, 246, 231, 158, 88, 208, 98, 153, 234, 156, 105, 145, - 227, 125, 193, 108, 237, 37, 21, 121, 241, 224, 241, 48, 177, 54, 105, - 32, 184, 12, 120, 75, 155, 192, 50, 249, 176, 38, 17, 114, 102, 21, 204, - 111, 150, 215, 77, 75, 87, 207, 7, 54, 81, 142, 4, 190, 169, 169, 221, - 173, 65, 121, 172, 168, 251, 9, 29, 249, 5, 101, 162, 157, 99, 159, 194, - 46, 35, 161, 179, 177, 56, 71, 177, 128, 116, 165, 205, 130, 68, 11, - 173, 149, 83, 99, 225, 200, 151, 129, 178, 197, 192, 239, 5, 51, 141, - 27, 207, 209, 58, 86, 147, 226, 150, 14, 149, 21, 165, 239, 112, 38, - 227, 21, 130, 170, 137, 16, 245, 67, 200, 230, 125, 203, 228, 9, 96, - 141, 46, 146, 108, 107, 47, 99, 18, 208, 171, 114, 133, 244, 250, 39, - 247, 122, 206, 169, 119, 199, 161, 191, 93, 207, 27, 33, 169, 205, 132, - 50, 243, 186, 69, 142, 88, 238, 190, 89, 155, 166, 11, 181, 154, 159, - 249, 143, 94, 127, 5, 14, 218, 196, 49, 46, 132, 138, 116, 14, 133, 215, - 134, 222, 213, 147, 111, 2, 116, 81, 11, 247, 78, 93, 128, 3, 134, 149, - 160, 99, 144, 37, 74, 183, 106, 85, 57, 42, 245, 179, 217, 6, 221, 230, - 107, 110, 40, 37, 206, 60, 230, 149, 9, 100, 123, 156, 25, 30, 134, 46, - 187, 250, 15, 187, 80, 57, 240, 96, 194, 226, 92, 93, 191, 66, 245, 239, - 159, 91, 162, 164, 255, 59, 50, 31, 136, 109, 141, 6, 137, 245, 97, 210, - 21, 100, 211, 203, 132, 230, 114, 254, 32, 96, 211, 83, 94, 195, 3, 212, - 17, 221, 66, 57, 60, 3, 79, 206, 189, 223, 36, 184, 95, 238, 3, 208, - 141, 116, 158, 34, 181, 20, 209, 183, 115, 241, 143, 71, 75, 139, 94, 0, - 122, 163, 186, 53, 149, 204, 5, 163, 12, 12, 56, 230, 25, 190, 89, 187, - 247, 113, 27, 149, 40, 155, 88, 0, 192, 197, 7, 201, 138, 174, 39, 185, - 123, 192, 220, 159, 220, 102, 242, 208, 138, 224, 57, 237, 41, 24, 40, - 135, 141, 23, 105, 202, 249, 233, 126, 248, 216, 218, 131, 189, 111, - 203, 248, 153, 68, 82, 117, 190, 112, 181, 60, 46, 140, 69, 54, 195, 5, - 92, 82, 158, 36, 151, 69, 199, 162, 39, 85, 188, 22, 109, 181, 234, 205, - 76, 68, 254, 109, 44, 210, 150, 93, 227, 89, 90, 235, 72, 225, 98, 199, - 212, 181, 113, 253, 90, 34, 11, 208, 184, 242, 241, 155, 134, 136, 78, - 240, 143, 36, 106, 121, 87, 123, 0, 175, 136, 31, 241, 154, 242, 40, - 153, 188, 50, 208, 237, 20, 60, 2, 115, 177, 76, 95, 157, 143, 144, 30, - 232, 184, 59, 153, 235, 198, 10, 145, 242, 167, 217, 25, 21, 26, 65, - 135, 7, 185, 204, 245, 20, 27, 45, 214, 196, 99, 55, 209, 139, 209, 134, - 77, 122, 135, 158, 4, 22, 96, 170, 6, 82, 193, 72, 140, 198, 113, 120, - 28, 142, 243, 181, 149, 119, 17, 89, 74, 143, 84, 210, 195, 74, 223, - 107, 243, 168, 96, 92, 116, 252, 76, 12, 185, 107, 157, 152, 98, 56, - 102, 18, 251, 64, 21, 235, 70, 221, 177, 102, 13, 186, 138, 144, 82, - 202, 195, 197, 236, 50, 231, 251, 198, 21, 40, 37, 209, 252, 245, 37, 1, - 100, 61, 148, 39, 207, 203, 142, 123, 55, 148, 31, 195, 251, 21, 64, - 138, 193, 75, 97, 73, 14, 127, 29, 1, 253, 88, 204, 146, 254, 5, 204, - 144, 130, 39, 36, 229, 195, 185, 54, 254, 43, 125, 143, 185, 165, 165, - 110, 190, 226, 15, 94, 192, 41, 133, 29, 28, 183, 79, 4, 101, 68, 244, - 70, 174, 79, 29, 144, 5, 12, 217, 236, 19, 76, 181, 160, 87, 15, 251, - 216, 77, 210, 130, 27, 97, 179, 75, 27, 233, 42, 32, 53, 5, 236, 208, - 173, 31, 189, 102, 131, 61, 177, 80, 77, 236, 39, 11, 39, 250, 199, 244, - 19, 247, 218, 48, 61, 157, 146, 233, 87, 229, 247, 63, 102, 169, 108, - 11, 186, 123, 25, 124, 23, 207, 48, 113, 152, 206, 154, 52, 6, 194, 151, - 101, 158, 248, 93, 64, 114, 171, 173, 238, 157, 201, 2, 95, 2, 18, 32, - 23, 191, 65, 239, 195, 29, 104, 69, 59, 230, 39, 97, 128, 160, 247, 78, - 154, 194, 175, 178, 116, 86, 114, 0, 36, 155, 11, 111, 214, 39, 126, 6, - 4, 114, 38, 217, 67, 62, 153, 126, 33, 210, 142, 87, 60, 213, 34, 14, - 151, 6, 219, 79, 167, 79, 136, 160, 160, 236, 215, 224, 150, 227, 103, - 204, 26, 112, 5, 1, 69, 25, 153, 200, 158, 147, 212, 13, 130, 41, 94, - 229, 52, 55, 102, 6, 208, 221, 85, 244, 147, 95, 57, 76, 129, 241, 104, - 3, 29, 183, 75, 193, 228, 154, 33, 32, 149, 175, 92, 56, 204, 211, 109, - 29, 202, 189, 79, 232, 241, 134, 62, 178, 228, 59, 153, 58, 246, 108, - 22, 62, 95, 217, 138, 236, 165, 174, 28, 125, 226, 12, 127, 212, 41, 32, - 46, 90, 65, 64, 250, 246, 4, 163, 155, 221, 170, 123, 18, 68, 28, 59, - 56, 182, 249, 123, 17, 224, 195, 138, 196, 187, 146, 102, 64, 39, 162, - 23, 106, 85, 253, 226, 39, 248, 52, 83, 128, 105, 63, 41, 199, 6, 74, 3, - 76, 173, 236, 78, 71, 119, 121, 90, 178, 55, 188, 181, 203, 79, 234, 64, - 198, 230, 202, 14, 79, 213, 13, 69, 164, 161, 255, 234, 168, 70, 45, - 154, 119, 1, 199, 90, 232, 137, 189, 255, 16, 187, 19, 33, 128, 136, 2, - 91, 146, 26, 58, 135, 97, 71, 202, 154, 34, 247, 217, 232, 176, 240, - 128, 147, 130, 24, 118, 213, 49, 106, 61, 190, 57, 244, 48, 57, 106, - 208, 161, 125, 207, 90, 200, 120, 144, 167, 242, 9, 139, 91, 198, 76, - 193, 71, 135, 1, 81, 186, 237, 131, 0, 87, 151, 21, 66, 201, 82, 118, - 238, 49, 213, 203, 89, 249, 140, 92, 103, 252, 105, 211, 116, 149, 161, - 39, 89, 99, 151, 107, 150, 230, 78, 56, 223, 169, 16, 76, 204, 199, 148, - 255, 253, 142, 127, 176, 49, 75, 254, 85, 209, 12, 172, 57, 3, 147, 58, - 108, 64, 47, 101, 139, 187, 66, 216, 76, 239, 0, 202, 125, 81, 163, 44, - 39, 193, 197, 145, 65, 155, 33, 219, 195, 150, 104, 136, 114, 33, 134, - 176, 30, 124, 86, 58, 46, 229, 97, 80, 29, 209, 84, 143, 209, 80, 228, - 6, 136, 121, 34, 240, 187, 8, 192, 134, 41, 226, 136, 237, 215, 226, 45, - 128, 203, 82, 158, 137, 170, 215, 154, 49, 180, 164, 224, 225, 182, 20, - 99, 62, 157, 232, 79, 109, 151, 232, 214, 176, 77, 194, 93, 106, 215, - 105, 238, 7, 214, 50, 159, 139, 84, 122, 184, 9, 82, 144, 42, 38, 152, - 60, 169, 55, 114, 231, 111, 56, 217, 17, 146, 189, 154, 184, 131, 140, - 183, 196, 224, 190, 22, 104, 128, 167, 147, 253, 23, 99, 89, 69, 180, - 94, 100, 252, 152, 204, 186, 250, 155, 50, 165, 253, 137, 6, 145, 225, - 147, 28, 56, 39, 246, 194, 36, 37, 48, 183, 232, 75, 186, 86, 207, 252, - 133, 185, 202, 1, 91, 80, 10, 39, 175, 159, 237, 151, 64, 145, 205, 225, - 153, 251, 114, 90, 97, 236, 161, 25, 134, 23, 110, 21, 168, 88, 10, 99, - 90, 7, 183, 160, 106, 79, 166, 10, 35, 79, 241, 194, 72, 95, 105, 144, - 54, 212, 62, 187, 84, 242, 206, 128, 193, 44, 5, 103, 238, 136, 3, 6, - 17, 207, 212, 79, 164, 54, 34, 6, 14, 171, 194, 171, 180, 77, 207, 207, - 3, 41, 44, 193, 111, 34, 204, 19, 191, 166, 209, 0, 183, 0, 149, 176, - 193, 48, 79, 166, 211, 172, 30, 164, 217, 237, 7, 207, 111, 111, 116, - 10, 117, 91, 49, 15, 176, 225, 124, 105, 96, 96, 98, 203, 110, 173, 76, - 87, 101, 232, 41, 164, 222, 129, 249, 223, 142, 186, 63, 234, 211, 18, - 215, 183, 210, 184, 167, 187, 0, 127, 112, 184, 127, 142, 241, 99, 96, - 18, 27, 80, 106, 87, 217, 5, 40, 195, 55, 141, 206, 178, 254, 53, 45, - 76, 247, 109, 191, 2, 111, 225, 30, 244, 240, 66, 110, 118, 205, 82, 18, - 231, 15, 87, 63, 133, 190, 76, 57, 2, 37, 58, 191, 222, 211, 28, 245, - 206, 52, 161, 235, 180, 197, 6, 178, 92, 213, 163, 108, 47, 80, 238, 32, - 182, 235, 84, 45, 222, 236, 180, 233, 32, 155, 147, 75, 12, 52, 205, - 163, 255, 111, 109, 138, 180, 144, 49, 201, 162, 37, 47, 6, 1, 217, 3, - 186, 87, 248, 136, 73, 174, 6, 20, 233, 186, 189, 195, 129, 222, 228, - 51, 192, 191, 9, 100, 106, 11, 26, 37, 184, 88, 90, 100, 6, 52, 4, 181, - 100, 238, 221, 208, 225, 7, 99, 80, 195, 94, 74, 113, 66, 188, 208, 166, - 158, 199, 143, 195, 197, 128, 97, 217, 251, 228, 230, 60, 38, 35, 10, - 55, 18, 49, 45, 12, 253, 98, 72, 54, 96, 37, 226, 56, 4, 162, 235, 47, - 234, 96, 30, 57, 21, 134, 149, 60, 44, 153, 130, 193, 253, 27, 142, 96, - 204, 192, 184, 102, 86, 198, 140, 153, 191, 208, 237, 35, 117, 139, 126, - 109, 88, 235, 253, 8, 137, 15, 134, 25, 45, 115, 160, 216, 226, 38, 250, - 215, 128, 86, 163, 44, 60, 130, 79, 133, 173, 138, 116, 70, 232, 165, - 74, 83, 163, 122, 145, 128, 24, 78, 27, 4, 2, 173, 132, 108, 3, 194, - 135, 8, 186, 69, 53, 50, 37, 64, 221, 135, 203, 65, 44, 98, 92, 192, - 100, 128, 54, 202, 243, 251, 238, 127, 198, 17, 69, 63, 196, 32, 87, - 238, 229, 177, 26, 70, 91, 70, 139, 230, 102, 140, 107, 17, 136, 5, 122, - 104, 58, 173, 174, 93, 89, 28, 1, 45, 254, 214, 248, 24, 88, 29, 201, - 136, 32, 243, 247, 30, 49, 96, 51, 192, 60, 39, 148, 75, 190, 49, 142, - 136, 72, 197, 71, 220, 200, 98, 156, 101, 70, 213, 82, 206, 214, 251, - 189, 243, 136, 181, 113, 46, 27, 79, 195, 24, 183, 12, 61, 245, 30, 188, - 192, 11, 1, 21, 76, 251, 215, 143, 230, 62, 31, 224, 216, 100, 118, 9, - 107, 84, 49, 2, 175, 168, 202, 95, 225, 129, 33, 129, 116, 158, 179, - 212, 179, 90, 128, 58, 182, 142, 117, 65, 255, 91, 100, 168, 41, 128, - 167, 32, 32, 172, 94, 120, 126, 154, 107, 87, 37, 215, 95, 162, 178, - 144, 211, 26, 144, 176, 60, 191, 234, 21, 236, 147, 125, 159, 96, 146, - 66, 97, 51, 81, 133, 31, 80, 17, 149, 112, 226, 119, 196, 119, 244, 139, - 1, 60, 149, 136, 20, 148, 76, 69, 34, 23, 124, 119, 222, 241, 223, 107, - 22, 69, 65, 185, 139, 17, 35, 4, 191, 149, 141, 61, 167, 128, 6, 14, 81, - 151, 217, 9, 169, 10, 151, 238, 232, 143, 226, 32, 16, 20, 180, 68, 44, - 188, 21, 56, 185, 97, 76, 251, 121, 18, 189, 240, 164, 89, 249, 237, - 114, 225, 41, 184, 149, 59, 6, 208, 85, 139, 219, 150, 160, 229, 85, 83, - 173, 170, 62, 17, 10, 85, 74, 113, 65, 205, 244, 89, 123, 21, 93, 182, - 33, 92, 251, 58, 115, 210, 200, 117, 96, 45, 120, 184, 175, 10, 149, 67, - 41, 70, 120, 18, 210, 230, 74, 104, 241, 224, 25, 247, 221, 6, 139, 101, - 12, 145, 45, 250, 182, 190, 20, 232, 166, 147, 194, 72, 89, 81, 58, 198, - 128, 53, 55, 10, 203, 35, 233, 34, 235, 130, 253, 194, 38, 246, 222, 22, - 235, 139, 210, 117, 92, 18, 26, 233, 205, 140, 25, 131, 83, 224, 249, - 135, 69, 7, 217, 241, 135, 47, 159, 178, 248, 233, 37, 146, 114, 137, - 126, 220, 35, 44, 66, 253, 36, 97, 85, 236, 172, 156, 187, 230, 215, - 240, 207, 60, 185, 244, 201, 204, 0, 20, 186, 113, 6, 170, 48, 65, 164, - 238, 63, 105, 52, 39, 172, 96, 236, 36, 121, 93, 71, 82, 3, 191, 127, - 244, 110, 234, 41, 45, 192, 218, 0, 212, 114, 124, 187, 240, 216, 193, - 107, 14, 95, 106, 46, 116, 243, 179, 123, 226, 174, 18, 37, 154, 0, 192, - 198, 39, 39, 62, 32, 48, 23, 44, 34, 46, 134, 98, 174, 238, 87, 249, - 208, 230, 151, 120, 249, 80, 36, 124, 199, 166, 136, 149, 227, 223, 32, - 233, 183, 135, 189, 146, 108, 255, 219, 43, 129, 152, 50, 82, 194, 30, - 56, 31, 98, 34, 175, 231, 221, 131, 87, 30, 36, 208, 13, 39, 77, 247, - 72, 183, 133, 3, 164, 27, 109, 249, 131, 21, 65, 150, 167, 169, 103, - 202, 132, 22, 189, 135, 128, 149, 155, 64, 71, 137, 175, 133, 165, 218, - 240, 25, 149, 168, 134, 47, 112, 163, 93, 80, 9, 67, 127, 143, 235, 116, - 143, 154, 104, 220, 160, 12, 173, 51, 118, 184, 107, 250, 112, 120, 120, - 169, 143, 215, 21, 178, 232, 201, 178, 203, 218, 96, 102, 41, 157, 124, - 114, 23, 217, 23, 218, 133, 213, 221, 250, 24, 145, 207, 162, 96, 64, - 152, 203, 140, 230, 110, 192, 244, 222, 3, 219, 51, 122, 20, 125, 17, - 26, 24, 16, 214, 173, 151, 143, 89, 220, 196, 209, 121, 39, 97, 1, 3, - 162, 150, 88, 73, 207, 191, 254, 90, 133, 243, 177, 150, 193, 14, 167, - 5, 35, 229, 49, 10, 87, 95, 216, 103, 219, 141, 184, 20, 77, 61, 164, - 128, 91, 127, 16, 8, 175, 84, 0, 130, 193, 132, 72, 55, 21, 80, 177, - 125, 17, 118, 168, 196, 175, 34, 227, 149, 210, 157, 55, 192, 186, 206, - 145, 132, 171, 101, 92, 33, 74, 227, 151, 10, 86, 22, 24, 13, 176, 219, - 36, 217, 91, 12, 210, 165, 19, 213, 223, 147, 235, 247, 201, 111, 48, - 242, 182, 38, 219, 18, 65, 155, 120, 174, 141, 138, 220, 237, 107, 44, - 20, 248, 99, 73, 218, 136, 6, 152, 112, 101, 37, 103, 211, 115, 16, 171, - 149, 20, 39, 88, 21, 210, 176, 138, 187, 175, 190, 130, 126, 29, 115, - 228, 49, 65, 5, 206, 96, 18, 30, 0, 216, 150, 217, 112, 181, 33, 21, 71, - 197, 45, 140, 250, 123, 52, 67, 131, 46, 200, 178, 143, 146, 137, 5, - 163, 133, 1, 209, 14, 248, 91, 200, 10, 53, 171, 33, 105, 107, 148, 48, - 89, 179, 146, 146, 43, 13, 178, 148, 145, 247, 72, 164, 216, 247, 76, - 149, 145, 45, 190, 36, 205, 19, 183, 196, 201, 119, 176, 26, 121, 166, - 225, 177, 233, 145, 129, 250, 202, 32, 94, 40, 125, 191, 147, 95, 131, - 248, 189, 33, 34, 48, 239, 117, 207, 28, 130, 179, 149, 164, 174, 27, - 17, 97, 59, 235, 19, 77, 119, 76, 150, 149, 157, 0, 245, 140, 112, 46, - 2, 128, 11, 148, 142, 0, 33, 219, 249, 25, 23, 220, 184, 160, 147, 32, - 166, 106, 56, 160, 76, 65, 121, 128, 48, 17, 199, 92, 29, 223, 151, 127, - 145, 16, 54, 114, 1, 144, 2, 161, 56, 200, 58, 66, 29, 97, 159, 148, - 199, 214, 214, 171, 157, 68, 242, 242, 252, 193, 62, 3, 42, 139, 23, 82, - 31, 159, 115, 58, 60, 243, 45, 115, 63, 163, 73, 176, 170, 43, 169, 105, - 15, 49, 39, 35, 216, 239, 170, 72, 3, 77, 94, 102, 214, 73, 25, 171, - 218, 152, 233, 154, 38, 213, 30, 32, 208, 207, 97, 71, 125, 108, 254, - 109, 209, 108, 205, 15, 80, 10, 36, 20, 241, 137, 43, 184, 108, 148, - 189, 46, 191, 186, 29, 196, 115, 173, 108, 220, 104, 124, 91, 16, 249, - 103, 41, 206, 183, 4, 132, 224, 57, 138, 39, 217, 249, 67, 43, 17, 77, - 44, 167, 11, 145, 244, 84, 154, 60, 96, 86, 151, 181, 251, 42, 161, 120, - 238, 119, 185, 161, 59, 73, 164, 5, 50, 123, 24, 22, 213, 96, 216, 61, - 132, 214, 241, 19, 244, 171, 213, 21, 157, 60, 0, 55, 106, 141, 237, - 184, 189, 208, 128, 86, 33, 100, 255, 148, 24, 152, 164, 1, 195, 170, - 170, 114, 188, 247, 91, 34, 98, 201, 170, 253, 1, 101, 215, 245, 98, - 250, 47, 204, 37, 160, 214, 38, 59, 74, 33, 144, 128, 174, 132, 217, 89, - 228, 37, 243, 143, 16, 4, 22, 103, 52, 100, 76, 112, 205, 62, 43, 164, - 226, 192, 250, 72, 113, 131, 116, 3, 241, 212, 83, 219, 222, 114, 231, - 180, 176, 69, 145, 108, 131, 184, 56, 120, 113, 121, 66, 139, 227, 132, - 252, 172, 131, 144, 41, 162, 105, 6, 110, 210, 182, 179, 16, 231, 112, - 230, 220, 219, 86, 194, 43, 89, 173, 3, 43, 228, 132, 150, 68, 191, 103, - 30, 204, 30, 198, 94, 91, 149, 228, 173, 1, 96, 134, 35, 84, 9, 132, 30, - 29, 26, 215, 98, 83, 94, 181, 95, 82, 129, 120, 238, 61, 134, 131, 227, - 173, 148, 158, 66, 192, 193, 178, 29, 114, 62, 43, 94, 105, 180, 82, - 241, 146, 8, 8, 107, 197, 56, 62, 144, 212, 254, 195, 72, 171, 191, 229, - 79, 66, 6, 151, 234, 70, 160, 234, 129, 5, 134, 227, 52, 150, 49, 126, - 63, 248, 134, 188, 180, 144, 195, 3, 34, 246, 215, 30, 224, 238, 37, 61, - 60, 97, 118, 53, 80, 5, 39, 254, 55, 163, 189, 238, 69, 58, 181, 144, - 252, 54, 217, 192, 207, 228, 138, 181, 218, 227, 205, 32, 177, 34, 102, - 98, 131, 119, 218, 207, 203, 150, 98, 3, 93, 34, 218, 41, 75, 73, 240, - 231, 122, 20, 241, 173, 192, 228, 147, 169, 199, 173, 199, 25, 6, 81, - 34, 192, 137, 59, 252, 57, 3, 156, 35, 205, 208, 172, 81, 245, 93, 199, - 226, 2, 37, 55, 46, 184, 151, 40, 185, 32, 103, 150, 242, 148, 76, 30, - 106, 182, 127, 78, 244, 156, 237, 108, 137, 130, 53, 236, 33, 94, 219, - 86, 46, 177, 181, 31, 155, 1, 17, 184, 66, 69, 145, 97, 152, 238, 150, - 212, 54, 152, 114, 143, 116, 93, 241, 131, 243, 189, 161, 126, 239, 34, - 239, 7, 113, 104, 83, 158, 179, 27, 45, 61, 174, 96, 35, 171, 221, 188, - 235, 74, 184, 153, 117, 153, 77, 251, 62, 38, 242, 216, 52, 173, 57, 91, - 130, 52, 30, 210, 250, 86, 46, 220, 39, 197, 56, 231, 110, 105, 146, 82, - 202, 52, 7, 59, 20, 22, 165, 123, 101, 33, 31, 70, 37, 70, 60, 77, 228, - 1, 194, 41, 207, 177, 52, 233, 60, 109, 228, 185, 152, 55, 220, 214, 83, - 211, 57, 138, 54, 167, 159, 246, 214, 5, 23, 7, 82, 69, 141, 226, 229, - 89, 61, 100, 200, 110, 224, 25, 223, 186, 193, 167, 28, 38, 14, 197, - 182, 111, 130, 207, 221, 57, 225, 67, 154, 118, 144, 172, 83, 56, 200, - 85, 228, 4, 123, 112, 20, 39, 222, 159, 242, 69, 51, 201, 154, 211, 165, - 122, 24, 255, 114, 67, 215, 83, 162, 16, 16, 26, 251, 206, 86, 38, 110, - 20, 246, 76, 45, 75, 139, 7, 8, 229, 198, 99, 245, 253, 182, 187, 242, - 212, 173, 86, 28, 23, 194, 161, 107, 184, 142, 149, 104, 233, 88, 167, - 0, 189, 117, 69, 26, 77, 134, 66, 241, 60, 77, 48, 40, 137, 84, 43, 2, - 101, 215, 205, 94, 153, 89, 223, 212, 84, 146, 157, 8, 245, 69, 33, 125, - 83, 185, 67, 8, 15, 132, 86, 95, 38, 131, 182, 67, 232, 63, 221, 102, - 63, 161, 172, 43, 9, 64, 73, 193, 53, 38, 8, 30, 100, 26, 115, 104, 77, - 203, 194, 231, 165, 101, 191, 37, 178, 208, 224, 86, 59, 126, 222, 134, - 206, 105, 107, 132, 85, 147, 139, 226, 250, 50, 79, 18, 9, 130, 9, 102, - 2, 48, 13, 34, 55, 39, 30, 164, 97, 184, 114, 130, 188, 42, 75, 94, 128, - 110, 34, 113, 82, 185, 23, 133, 254, 39, 83, 247, 95, 201, 245, 95, 63, - 76, 35, 238, 120, 51, 3, 9, 101, 79, 226, 253, 186, 128, 202, 100, 223, - 220, 213, 196, 191, 172, 29, 167, 71, 36, 210, 57, 146, 20, 8, 46, 255, - 100, 193, 170, 180, 255, 249, 168, 8, 165, 63, 86, 68, 18, 156, 203, - 199, 56, 191, 243, 158, 212, 160, 9, 182, 129, 24, 209, 132, 74, 49, - 135, 10, 4, 66, 171, 224, 189, 133, 90, 231, 253, 103, 154, 186, 59, 47, - 155, 102, 194, 109, 138, 115, 183, 109, 133, 7, 33, 16, 57, 37, 168, - 205, 117, 175, 156, 157, 68, 81, 203, 157, 34, 154, 40, 206, 176, 80, - 113, 86, 34, 20, 36, 5, 70, 179, 117, 100, 122, 96, 12, 241, 1, 79, 29, - 78, 195, 106, 223, 180, 158, 4, 158, 227, 216, 37, 0 - ], - "padding": 7 - }, - "hashCount": 13, - "membershipCheckCount": 10000, - "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "bits": { - "bitmap": [ - 194, 56, 211, 140, 255, 48, 166, 138, 115, 56, 143, 242, 170, 254, 218, - 27, 39, 190, 121, 116, 232, 202, 189, 142, 124, 189, 120, 31, 232, 101, - 144, 246, 246, 89, 245, 205, 168, 217, 80, 80, 227, 176, 193, 133, 241, - 6, 94, 62, 149, 142, 201, 207, 35, 188, 111, 197, 247, 212, 95, 189, - 157, 15, 32, 229, 213, 7, 132, 127, 36, 224, 96, 31, 142, 13, 34, 242, - 84, 134, 178, 102, 199, 153, 90, 160, 200, 171, 60, 126, 206, 156, 74, - 151, 157, 179, 99, 232, 193, 190, 191, 123, 213, 113, 59, 76, 181, 244, - 136, 38, 218, 6, 43, 70, 147, 170, 166, 180, 56, 14, 66, 213, 39, 188, - 165, 187, 98, 196, 73, 104, 184, 5, 205, 87, 123, 196, 123, 99, 146, - 213, 213, 89, 191, 247, 36, 123, 144, 65, 31, 79, 130, 131, 194, 83, - 240, 178, 113, 186, 34, 200, 207, 157, 71, 123, 51, 12, 179, 114, 207, - 43, 174, 246, 159, 109, 68, 97, 255, 239, 252, 64, 18, 226, 174, 161, - 118, 88, 4, 118, 69, 108, 4, 202, 147, 53, 121, 52, 7, 201, 131, 25, - 227, 77, 142, 122, 72, 99, 224, 120, 149, 248, 60, 254, 146, 114, 200, - 28, 242, 51, 253, 148, 19, 79, 66, 86, 0, 209, 52, 59, 240, 196, 224, - 98, 211, 173, 114, 179, 251, 238, 152, 248, 6, 145, 121, 136, 201, 205, - 185, 123, 83, 16, 63, 236, 235, 39, 153, 111, 225, 153, 139, 205, 42, - 216, 109, 176, 70, 175, 75, 127, 165, 143, 108, 55, 93, 96, 39, 86, 156, - 146, 176, 119, 97, 62, 61, 184, 49, 121, 84, 230, 219, 51, 105, 243, 18, - 66, 125, 191, 124, 157, 42, 252, 149, 63, 111, 94, 68, 69, 201, 200, 51, - 221, 148, 251, 203, 151, 105, 59, 82, 245, 219, 126, 78, 81, 222, 87, - 206, 233, 199, 33, 157, 182, 220, 137, 163, 134, 189, 247, 46, 71, 18, - 229, 30, 252, 138, 189, 84, 143, 95, 102, 13, 224, 199, 205, 91, 127, - 244, 175, 148, 39, 43, 177, 219, 0, 196, 99, 24, 2, 199, 30, 4, 177, - 252, 165, 129, 4, 160, 140, 134, 236, 91, 254, 184, 64, 197, 52, 219, - 248, 200, 183, 120, 132, 37, 134, 80, 177, 56, 147, 50, 249, 190, 20, - 108, 238, 232, 245, 45, 46, 169, 102, 64, 42, 49, 65, 106, 215, 202, 73, - 8, 183, 228, 154, 37, 234, 5, 74, 66, 60, 91, 160, 233, 92, 211, 9, 81, - 15, 159, 36, 208, 119, 199, 87, 10, 136, 72, 196, 15, 103, 15, 143, 179, - 81, 227, 65, 135, 83, 123, 187, 219, 57, 15, 245, 64, 124, 182, 167, 38, - 115, 167, 79, 46, 225, 193, 251, 247, 50, 237, 21, 47, 171, 248, 49, - 207, 124, 215, 145, 247, 93, 156, 181, 182, 101, 202, 234, 178, 129, - 182, 117, 237, 92, 227, 36, 85, 111, 178, 42, 110, 235, 95, 238, 248, - 94, 39, 65, 170, 233, 21, 36, 53, 87, 60, 209, 182, 168, 158, 49, 176, - 133, 54, 47, 221, 148, 37, 127, 171, 148, 87, 225, 114, 130, 51, 231, - 249, 183, 71, 94, 5, 115, 63, 97, 183, 183, 169, 7, 133, 63, 133, 133, - 221, 143, 16, 231, 134, 187, 8, 122, 80, 158, 209, 24, 18, 110, 139, - 155, 139, 214, 63, 135, 187, 252, 114, 126, 203, 77, 224, 253, 112, 250, - 29, 47, 60, 93, 206, 139, 37, 64, 233, 200, 137, 185, 39, 238, 96, 188, - 216, 163, 148, 201, 90, 122, 231, 122, 27, 57, 248, 224, 117, 125, 104, - 92, 224, 63, 51, 242, 114, 177, 40, 178, 134, 217, 79, 167, 185, 123, - 159, 15, 251, 150, 159, 51, 144, 103, 232, 70, 207, 245, 61, 3, 43, 158, - 149, 232, 172, 150, 72, 143, 193, 231, 21, 215, 202, 51, 187, 204, 254, - 221, 23, 220, 251, 217, 165, 235, 118, 209, 76, 137, 232, 180, 238, 214, - 164, 60, 99, 92, 209, 224, 175, 124, 110, 249, 28, 9, 149, 113, 254, 8, - 209, 138, 136, 87, 98, 246, 212, 54, 167, 242, 87, 37, 81, 165, 99, 83, - 120, 119, 234, 73, 66, 99, 155, 227, 228, 0, 18, 241, 4, 24, 18, 136, - 94, 85, 127, 89, 239, 10, 197, 223, 82, 28, 64, 198, 16, 20, 124, 138, - 11, 162, 197, 172, 173, 20, 184, 17, 128, 131, 161, 42, 120, 85, 133, - 152, 215, 167, 216, 63, 236, 113, 162, 121, 103, 228, 56, 237, 44, 72, - 243, 176, 153, 31, 139, 229, 164, 246, 88, 43, 122, 12, 83, 113, 118, - 17, 50, 194, 202, 125, 45, 148, 130, 211, 162, 39, 218, 48, 4, 135, 213, - 59, 50, 186, 54, 84, 74, 120, 121, 37, 70, 119, 63, 160, 70, 220, 79, - 234, 31, 7, 142, 241, 61, 222, 77, 125, 172, 239, 194, 169, 223, 18, - 186, 63, 166, 12, 200, 99, 191, 167, 170, 156, 29, 96, 90, 151, 247, 64, - 135, 46, 24, 109, 52, 161, 34, 208, 21, 220, 91, 4, 168, 66, 101, 225, - 149, 92, 183, 107, 51, 104, 230, 150, 64, 167, 107, 236, 26, 189, 199, - 184, 93, 252, 116, 239, 24, 126, 121, 12, 18, 73, 79, 243, 238, 57, 120, - 53, 28, 201, 86, 191, 79, 92, 95, 158, 239, 197, 151, 206, 82, 56, 13, - 119, 223, 253, 126, 247, 215, 24, 228, 159, 24, 49, 50, 175, 212, 139, - 252, 227, 39, 182, 86, 174, 94, 101, 147, 159, 154, 182, 87, 144, 133, - 107, 48, 222, 49, 203, 135, 131, 25, 106, 154, 236, 204, 219, 226, 230, - 205, 112, 89, 230, 48, 148, 90, 245, 91, 46, 2, 208, 245, 28, 105, 140, - 239, 123, 23, 242, 159, 247, 230, 244, 28, 162, 67, 192, 114, 53, 195, - 155, 90, 40, 210, 17, 242, 123, 165, 66, 106, 92, 102, 236, 8, 28, 41, - 237, 121, 16, 97, 230, 98, 180, 142, 234, 195, 197, 107, 231, 33, 167, - 159, 7, 250, 13, 189, 231, 135, 210, 92, 70, 50, 191, 230, 76, 152, 99, - 255, 244, 247, 65, 7, 253, 173, 89, 94, 15, 19, 181, 226, 206, 249, 176, - 108, 133, 109, 103, 194, 171, 230, 32, 19, 197, 23, 240, 133, 11, 37, - 21, 184, 181, 22, 244, 72, 194, 170, 177, 19, 44, 85, 27, 52, 99, 48, - 156, 147, 91, 175, 21, 237, 221, 92, 103, 200, 46, 226, 136, 249, 150, - 97, 205, 60, 212, 126, 252, 244, 4, 222, 143, 78, 189, 146, 60, 59, 2, - 159, 5, 70, 237, 116, 11, 171, 254, 112, 249, 151, 254, 19, 202, 109, - 120, 47, 187, 196, 11, 56, 198, 152, 89, 130, 97, 70, 210, 17, 63, 250, - 17, 10, 15, 176, 119, 13, 129, 209, 71, 14, 38, 167, 102, 23, 26, 12, - 196, 9, 170, 119, 159, 127, 203, 28, 72, 107, 124, 104, 55, 228, 58, - 216, 86, 238, 194, 85, 254, 130, 115, 166, 86, 150, 192, 248, 219, 142, - 169, 237, 176, 88, 198, 210, 234, 3, 49, 246, 190, 120, 232, 236, 177, - 96, 241, 230, 234, 231, 0, 17, 223, 204, 184, 66, 227, 175, 115, 240, - 197, 255, 69, 87, 208, 178, 23, 235, 20, 26, 69, 69, 8, 39, 5, 42, 116, - 220, 253, 152, 166, 149, 229, 214, 197, 167, 59, 246, 234, 163, 224, - 150, 79, 102, 140, 11, 117, 117, 255, 252, 106, 152, 124, 78, 59, 97, - 197, 162, 190, 159, 239, 149, 215, 199, 164, 236, 45, 79, 210, 206, 194, - 61, 193, 35, 92, 143, 56, 173, 226, 149, 241, 71, 159, 163, 121, 136, - 179, 230, 7, 165, 255, 57, 52, 192, 191, 213, 143, 207, 239, 125, 138, - 190, 247, 121, 8, 36, 238, 195, 51, 49, 55, 23, 193, 241, 223, 123, 236, - 192, 18, 174, 232, 3, 172, 249, 199, 208, 128, 217, 68, 165, 0, 122, - 203, 235, 166, 57, 141, 64, 87, 49, 96, 167, 189, 27, 40, 234, 118, 241, - 84, 227, 137, 250, 139, 163, 225, 205, 107, 197, 57, 199, 88, 19, 146, - 104, 22, 76, 247, 212, 83, 158, 140, 11, 10, 75, 74, 165, 38, 136, 44, - 224, 28, 132, 230, 144, 95, 208, 82, 212, 51, 204, 79, 115, 250, 16, 73, - 15, 103, 241, 138, 26, 197, 19, 94, 119, 215, 245, 193, 250, 183, 87, - 251, 234, 142, 164, 54, 133, 179, 86, 236, 113, 234, 182, 95, 77, 83, - 138, 244, 62, 149, 95, 219, 151, 45, 228, 179, 28, 91, 2, 34, 216, 106, - 95, 237, 52, 133, 145, 245, 201, 72, 175, 34, 99, 205, 51, 93, 78, 139, - 224, 189, 0, 130, 167, 247, 207, 4, 179, 205, 238, 165, 75, 167, 85, - 234, 6, 114, 213, 226, 246, 216, 55, 143, 79, 43, 212, 59, 115, 80, 208, - 171, 251, 107, 154, 186, 14, 114, 66, 177, 200, 127, 185, 151, 49, 208, - 179, 170, 114, 13, 157, 82, 255, 120, 121, 159, 15, 163, 91, 158, 167, - 154, 53, 227, 103, 79, 140, 121, 72, 167, 161, 24, 235, 174, 170, 178, - 172, 15, 241, 183, 142, 250, 14, 10, 237, 43, 143, 191, 159, 194, 86, - 27, 108, 128, 196, 23, 209, 40, 44, 239, 243, 103, 64, 10, 206, 67, 155, - 204, 237, 165, 162, 217, 94, 208, 236, 176, 148, 119, 110, 49, 113, 144, - 201, 114, 72, 254, 1, 102, 0, 52, 108, 2, 120, 72, 169, 180, 83, 84, - 179, 203, 182, 219, 64, 253, 87, 148, 198, 245, 218, 16, 46, 143, 11, - 209, 234, 5, 41, 127, 47, 53, 221, 52, 119, 158, 254, 196, 37, 71, 232, - 212, 113, 158, 0, 124, 218, 89, 138, 166, 162, 48, 189, 36, 241, 158, - 20, 178, 129, 185, 142, 56, 165, 174, 214, 206, 48, 50, 38, 223, 11, 90, - 194, 56, 93, 27, 7, 92, 155, 230, 162, 182, 217, 211, 107, 242, 59, 3, - 109, 206, 48, 255, 134, 231, 83, 185, 52, 158, 181, 50, 233, 233, 143, - 0, 47, 109, 109, 8, 206, 71, 245, 141, 176, 52, 209, 54, 94, 9, 20, 197, - 140, 255, 149, 17, 194, 182, 254, 21, 143, 81, 253, 44, 50, 78, 233, - 114, 226, 118, 123, 209, 92, 253, 218, 73, 144, 106, 218, 24, 178, 251, - 115, 175, 191, 196, 78, 243, 82, 86, 216, 176, 203, 162, 112, 254, 237, - 243, 63, 1, 54, 18, 220, 12, 157, 41, 119, 174, 76, 54, 220, 185, 49, - 108, 7, 30, 137, 212, 183, 105, 171, 229, 158, 82, 82, 119, 68, 87, 145, - 53, 88, 197, 139, 62, 197, 196, 237, 81, 150, 235, 218, 177, 206, 48, - 187, 245, 183, 132, 137, 99, 171, 54, 42, 9, 93, 62, 220, 81, 243, 214, - 230, 76, 49, 235, 79, 132, 99, 237, 226, 112, 219, 18, 69, 69, 95, 135, - 30, 255, 58, 160, 55, 202, 40, 174, 44, 68, 170, 90, 22, 18, 75, 35, - 113, 81, 184, 163, 15, 152, 69, 205, 60, 205, 171, 13, 144, 10, 158, - 125, 170, 141, 178, 75, 165, 7, 198, 146, 176, 22, 214, 226, 224, 181, - 226, 127, 209, 180, 50, 204, 221, 234, 30, 195, 138, 81, 251, 160, 230, - 66, 246, 105, 180, 51, 148, 251, 62, 31, 127, 242, 171, 228, 228, 3, - 117, 169, 108, 86, 65, 95, 178, 235, 11, 183, 220, 175, 111, 29, 243, - 171, 27, 147, 211, 190, 220, 8, 191, 200, 1, 68, 234, 221, 247, 244, 90, - 235, 239, 10, 69, 242, 164, 176, 57, 0, 254, 113, 76, 56, 199, 97, 88, - 175, 139, 117, 26, 9, 248, 215, 189, 219, 94, 249, 254, 229, 34, 83, - 212, 82, 58, 1, 49, 238, 229, 253, 222, 173, 250, 183, 31, 215, 79, 67, - 131, 16, 238, 221, 245, 246, 156, 38, 9, 199, 75, 6, 207, 0, 17, 244, - 141, 151, 80, 79, 122, 145, 151, 232, 155, 127, 72, 243, 173, 71, 155, - 12, 56, 221, 203, 172, 156, 233, 3, 69, 233, 69, 53, 64, 20, 228, 60, - 105, 249, 16, 220, 145, 157, 76, 96, 232, 120, 204, 52, 210, 121, 175, - 53, 105, 132, 40, 210, 100, 127, 233, 180, 122, 40, 106, 252, 76, 151, - 41, 79, 157, 108, 92, 221, 245, 100, 119, 107, 92, 84, 205, 120, 237, 4, - 179, 163, 38, 43, 247, 101, 25, 68, 189, 134, 180, 188, 236, 187, 99, - 197, 40, 160, 249, 230, 167, 144, 159, 8, 153, 79, 175, 252, 31, 162, - 136, 148, 44, 134, 44, 201, 211, 246, 51, 125, 54, 66, 110, 236, 190, - 103, 224, 220, 180, 26, 169, 16, 9, 222, 211, 203, 59, 144, 125, 90, 12, - 253, 114, 49, 122, 173, 196, 156, 176, 135, 25, 140, 17, 190, 77, 106, - 92, 130, 233, 162, 28, 62, 152, 197, 121, 97, 70, 67, 28, 47, 215, 178, - 155, 84, 23, 16, 19, 117, 95, 12, 160, 81, 216, 30, 239, 192, 255, 49, - 39, 7, 154, 204, 57, 227, 245, 2, 83, 120, 181, 25, 192, 46, 157, 180, - 52, 95, 110, 171, 232, 182, 87, 252, 65, 135, 63, 251, 221, 142, 150, - 102, 191, 2, 112, 206, 42, 166, 51, 114, 38, 241, 198, 12, 245, 38, 10, - 55, 125, 219, 225, 115, 44, 154, 65, 17, 61, 190, 38, 85, 135, 255, 7, - 14, 114, 167, 252, 101, 48, 85, 57, 37, 183, 17, 130, 253, 175, 122, 60, - 188, 69, 35, 202, 27, 85, 84, 110, 171, 59, 46, 183, 184, 231, 180, 8, - 117, 237, 164, 181, 157, 244, 173, 151, 167, 99, 143, 187, 185, 190, - 194, 116, 155, 141, 157, 179, 98, 173, 219, 118, 153, 160, 237, 100, - 218, 214, 1, 95, 238, 106, 98, 183, 3, 94, 206, 202, 109, 51, 124, 195, - 10, 240, 184, 61, 106, 42, 44, 189, 142, 168, 109, 158, 27, 220, 247, - 59, 235, 81, 213, 210, 194, 128, 130, 213, 231, 8, 178, 14, 110, 133, - 134, 139, 205, 28, 35, 191, 186, 58, 185, 13, 36, 3, 37, 202, 185, 233, - 63, 1, 63, 211, 52, 151, 8, 254, 191, 180, 209, 191, 170, 113, 121, 21, - 15, 120, 23, 61, 89, 175, 118, 33, 164, 99, 249, 64, 247, 8, 60, 125, - 150, 70, 165, 81, 200, 242, 3, 69, 118, 202, 123, 116, 205, 232, 192, - 158, 221, 191, 143, 44, 31, 72, 178, 32, 247, 251, 199, 62, 109, 24, 90, - 220, 238, 175, 226, 245, 1, 50, 48, 113, 1, 232, 148, 195, 57, 164, 225, - 48, 207, 52, 135, 177, 36, 174, 254, 84, 194, 31, 3, 251, 184, 237, 196, - 235, 239, 158, 212, 230, 216, 182, 91, 154, 53, 210, 20, 215, 137, 8, - 139, 170, 94, 162, 85, 17, 141, 225, 111, 53, 248, 53, 159, 63, 115, - 219, 31, 185, 6, 8, 247, 255, 250, 149, 67, 12, 55, 98, 51, 106, 135, - 33, 11, 163, 64, 250, 188, 99, 243, 26, 11, 59, 51, 26, 231, 70, 74, - 144, 249, 251, 26, 150, 123, 186, 143, 239, 114, 104, 166, 28, 89, 249, - 20, 110, 29, 100, 222, 65, 233, 159, 183, 121, 17, 149, 65, 87, 6, 228, - 23, 123, 204, 77, 149, 68, 128, 121, 127, 57, 53, 165, 138, 38, 191, - 239, 123, 211, 190, 203, 154, 252, 85, 58, 158, 187, 255, 250, 181, 244, - 52, 162, 53, 14, 41, 214, 222, 245, 145, 25, 147, 166, 248, 86, 208, - 149, 150, 214, 251, 31, 232, 92, 209, 133, 143, 3, 34, 242, 166, 59, 72, - 146, 65, 191, 171, 223, 186, 203, 79, 237, 218, 219, 18, 20, 148, 79, - 188, 172, 238, 55, 72, 195, 146, 181, 16, 180, 183, 17, 220, 145, 118, - 162, 249, 88, 172, 209, 66, 144, 21, 116, 157, 51, 214, 200, 163, 81, - 105, 37, 67, 96, 33, 131, 15, 54, 26, 248, 51, 124, 200, 249, 79, 145, - 142, 61, 41, 224, 139, 146, 128, 40, 196, 122, 12, 249, 62, 126, 47, - 221, 163, 90, 146, 190, 9, 27, 171, 235, 165, 226, 206, 39, 204, 87, - 254, 83, 185, 164, 0, 70, 79, 161, 234, 175, 100, 3, 203, 198, 95, 116, - 114, 100, 134, 173, 14, 184, 29, 158, 1, 72, 175, 55, 157, 91, 70, 187, - 139, 76, 173, 163, 228, 16, 168, 170, 204, 161, 254, 17, 130, 79, 231, - 119, 63, 106, 222, 113, 101, 138, 39, 78, 228, 53, 90, 246, 182, 47, - 247, 109, 132, 112, 243, 117, 140, 137, 250, 139, 136, 245, 153, 120, - 253, 190, 194, 245, 205, 152, 56, 128, 245, 115, 206, 55, 165, 126, 162, - 203, 238, 79, 172, 134, 116, 156, 58, 41, 175, 203, 18, 21, 243, 41, 46, - 155, 91, 69, 199, 31, 82, 128, 141, 105, 47, 123, 70, 111, 199, 131, 11, - 142, 189, 14, 224, 187, 89, 48, 79, 114, 231, 26, 220, 53, 219, 22, 217, - 251, 209, 210, 233, 232, 60, 217, 67, 162, 47, 88, 110, 90, 242, 50, 40, - 33, 134, 237, 94, 43, 196, 118, 78, 96, 18, 217, 221, 152, 44, 218, 25, - 104, 157, 250, 127, 68, 11, 167, 76, 131, 108, 156, 209, 19, 83, 121, - 60, 202, 88, 53, 216, 234, 60, 221, 72, 51, 205, 161, 107, 21, 239, 201, - 174, 49, 89, 121, 238, 133, 7, 244, 58, 234, 140, 176, 93, 202, 221, - 205, 216, 193, 155, 29, 103, 190, 212, 173, 160, 119, 139, 31, 55, 91, - 26, 151, 191, 249, 179, 163, 169, 178, 219, 167, 221, 0, 107, 197, 11, - 15, 49, 186, 125, 229, 76, 195, 19, 206, 252, 178, 191, 135, 153, 89, - 132, 200, 90, 182, 174, 243, 141, 185, 119, 153, 87, 1, 254, 105, 25, - 194, 55, 86, 31, 208, 189, 153, 8, 189, 165, 243, 79, 56, 163, 174, 157, - 237, 190, 250, 105, 15, 105, 81, 245, 202, 165, 147, 238, 170, 83, 242, - 241, 180, 187, 146, 219, 118, 210, 125, 6, 245, 124, 22, 239, 217, 190, - 237, 20, 129, 146, 88, 204, 185, 3, 69, 137, 253, 35, 195, 103, 152, - 128, 160, 89, 29, 241, 12, 103, 116, 4, 84, 41, 235, 153, 25, 62, 250, - 159, 216, 91, 28, 90, 245, 177, 189, 167, 84, 253, 223, 214, 159, 160, - 17, 203, 204, 7, 140, 67, 13, 113, 239, 249, 111, 181, 130, 32, 154, 25, - 142, 67, 127, 95, 237, 171, 183, 232, 106, 74, 191, 202, 45, 219, 154, - 243, 83, 188, 37, 50, 138, 142, 220, 103, 82, 3, 180, 92, 214, 219, 32, - 128, 188, 157, 197, 7, 99, 12, 122, 103, 215, 104, 153, 112, 130, 163, - 10, 174, 139, 242, 150, 182, 226, 0, 210, 70, 127, 229, 241, 63, 228, - 211, 206, 36, 22, 230, 13, 190, 57, 113, 123, 197, 64, 180, 157, 50, 92, - 202, 72, 159, 11, 191, 84, 43, 7, 160, 55, 17, 202, 115, 142, 70, 222, - 110, 69, 227, 190, 198, 78, 149, 164, 132, 192, 254, 198, 203, 5, 254, - 59, 125, 250, 40, 215, 158, 207, 193, 63, 35, 18, 119, 205, 229, 147, - 124, 90, 239, 127, 249, 160, 230, 71, 249, 158, 54, 231, 28, 111, 6, - 153, 237, 82, 57, 27, 160, 76, 38, 25, 215, 23, 211, 23, 226, 93, 216, - 83, 183, 20, 98, 62, 107, 247, 255, 155, 83, 75, 237, 173, 89, 85, 121, - 150, 68, 194, 91, 217, 75, 4, 191, 32, 242, 255, 250, 140, 110, 53, 231, - 218, 137, 200, 198, 136, 161, 61, 155, 75, 157, 4, 117, 119, 68, 255, - 39, 110, 254, 150, 53, 51, 57, 239, 55, 151, 8, 136, 214, 120, 247, 126, - 146, 179, 167, 169, 244, 56, 119, 181, 234, 151, 126, 11, 77, 64, 206, - 188, 222, 70, 90, 191, 152, 161, 90, 239, 74, 58, 55, 106, 195, 39, 220, - 98, 181, 174, 154, 205, 94, 208, 116, 124, 145, 223, 212, 133, 142, 195, - 92, 250, 169, 83, 6, 211, 233, 100, 96, 181, 148, 165, 34, 245, 42, 213, - 229, 180, 92, 127, 24, 80, 185, 210, 89, 176, 174, 110, 203, 165, 68, - 57, 143, 189, 251, 134, 53, 81, 255, 151, 137, 243, 205, 93, 79, 65, - 237, 17, 110, 100, 8, 167, 3, 156, 33, 144, 68, 116, 38, 19, 107, 137, - 245, 93, 134, 131, 3, 159, 213, 112, 230, 161, 39, 150, 229, 204, 158, - 195, 199, 52, 14, 102, 80, 61, 65, 22, 151, 182, 133, 224, 231, 94, 118, - 239, 230, 248, 96, 126, 234, 248, 77, 108, 129, 148, 242, 22, 219, 240, - 254, 86, 238, 69, 105, 255, 81, 195, 49, 186, 215, 223, 97, 239, 29, - 132, 77, 101, 62, 61, 123, 101, 62, 174, 81, 136, 247, 34, 147, 86, 206, - 84, 244, 67, 87, 94, 232, 148, 56, 136, 91, 191, 130, 92, 24, 229, 197, - 26, 212, 23, 206, 10, 193, 26, 90, 255, 10, 189, 48, 59, 112, 136, 225, - 168, 219, 227, 236, 246, 199, 72, 56, 174, 171, 53, 77, 63, 126, 55, - 169, 107, 11, 224, 242, 115, 254, 235, 140, 100, 94, 176, 125, 111, 220, - 17, 196, 95, 64, 47, 43, 124, 21, 180, 108, 61, 10, 158, 234, 217, 33, - 218, 184, 38, 56, 231, 118, 118, 211, 59, 138, 53, 108, 184, 75, 148, - 203, 27, 120, 181, 197, 137, 94, 58, 243, 126, 157, 115, 226, 48, 165, - 158, 147, 35, 241, 146, 81, 153, 121, 213, 106, 170, 179, 117, 27, 42, - 20, 54, 100, 218, 173, 8, 39, 122, 75, 235, 119, 212, 21, 167, 143, 62, - 171, 139, 115, 127, 133, 213, 209, 49, 79, 150, 186, 8, 218, 72, 96, - 112, 143, 223, 235, 112, 95, 45, 43, 216, 62, 110, 112, 204, 114, 197, - 105, 113, 224, 109, 43, 200, 241, 120, 202, 8, 33, 89, 100, 137, 206, - 107, 148, 234, 20, 148, 223, 1, 57, 26, 12, 186, 31, 238, 153, 54, 123, - 85, 202, 164, 233, 228, 162, 232, 89, 40, 51, 110, 111, 111, 107, 86, - 176, 126, 145, 16, 101, 82, 166, 239, 125, 113, 133, 134, 193, 55, 85, - 24, 150, 141, 86, 131, 171, 183, 27, 249, 204, 251, 170, 34, 139, 255, - 253, 251, 111, 158, 25, 166, 161, 167, 66, 163, 3, 86, 124, 146, 7, 131, - 209, 149, 228, 185, 11, 210, 36, 75, 139, 187, 122, 84, 75, 245, 17, - 186, 236, 240, 229, 154, 18, 29, 164, 63, 177, 226, 206, 250, 148, 252, - 125, 174, 120, 178, 154, 78, 1, 28, 175, 242, 14, 68, 126, 32, 219, 35, - 160, 68, 227, 74, 156, 243, 147, 192, 163, 149, 237, 98, 67, 108, 84, - 74, 130, 116, 226, 122, 139, 207, 241, 153, 41, 26, 4, 237, 115, 204, - 230, 46, 80, 40, 140, 130, 128, 100, 211, 168, 56, 186, 11, 34, 117, 39, - 167, 155, 218, 53, 16, 148, 87, 205, 128, 63, 198, 167, 7, 122, 213, - 125, 195, 199, 27, 168, 225, 253, 163, 176, 57, 168, 188, 94, 141, 85, - 190, 73, 187, 139, 7, 186, 2, 25, 12, 251, 199, 41, 182, 153, 48, 252, - 47, 143, 115, 245, 192, 188, 240, 106, 108, 195, 72, 121, 97, 187, 120, - 219, 50, 170, 123, 206, 209, 179, 24, 45, 19, 13, 171, 147, 108, 4, 24, - 150, 139, 191, 229, 250, 53, 249, 140, 26, 249, 211, 5, 246, 55, 253, - 34, 37, 22, 62, 41, 187, 38, 10, 46, 187, 193, 55, 206, 58, 208, 169, - 215, 244, 7, 166, 212, 48, 233, 169, 213, 223, 142, 111, 189, 82, 155, - 192, 236, 212, 154, 7, 162, 97, 236, 136, 24, 117, 174, 227, 104, 219, - 249, 81, 95, 167, 104, 16, 176, 18, 245, 86, 196, 217, 98, 98, 140, 187, - 147, 108, 136, 73, 69, 9, 79, 219, 141, 208, 233, 9, 155, 113, 28, 2, - 205, 43, 166, 245, 26, 152, 235, 185, 238, 90, 97, 53, 24, 21, 55, 255, - 156, 18, 107, 214, 86, 84, 91, 191, 136, 118, 173, 196, 24, 150, 119, - 162, 20, 44, 109, 110, 183, 251, 98, 70, 86, 60, 163, 10, 125, 66, 244, - 108, 228, 200, 159, 105, 24, 88, 216, 39, 100, 34, 74, 168, 220, 159, - 54, 93, 234, 191, 37, 142, 34, 192, 240, 161, 185, 54, 136, 167, 234, - 44, 130, 5, 211, 18, 88, 52, 161, 62, 237, 164, 215, 157, 57, 71, 125, - 173, 153, 255, 11, 138, 80, 75, 25, 49, 115, 85, 254, 95, 162, 95, 10, - 108, 78, 222, 143, 213, 222, 30, 152, 44, 27, 245, 152, 10, 80, 123, - 164, 239, 26, 184, 198, 162, 152, 78, 52, 117, 39, 203, 129, 80, 179, - 198, 181, 204, 59, 211, 105, 19, 9, 111, 237, 214, 36, 125, 107, 35, - 236, 213, 62, 160, 33, 97, 16, 59, 136, 56, 118, 117, 91, 74, 13, 235, - 207, 104, 140, 252, 206, 43, 66, 246, 101, 1, 187, 195, 252, 187, 13, - 230, 4, 201, 156, 104, 222, 162, 96, 95, 159, 71, 62, 254, 11, 124, 104, - 212, 225, 71, 125, 144, 219, 154, 23, 47, 2, 235, 174, 255, 32, 53, 2, - 236, 11, 155, 211, 121, 194, 178, 78, 21, 15, 250, 254, 88, 153, 25, 20, - 173, 52, 70, 155, 55, 210, 62, 149, 147, 138, 86, 184, 69, 51, 89, 86, - 230, 70, 228, 250, 123, 137, 109, 107, 63, 130, 53, 219, 98, 198, 58, - 145, 68, 120, 7, 102, 171, 128, 211, 248, 246, 98, 218, 60, 107, 252, - 97, 207, 1, 193, 2, 229, 27, 169, 166, 91, 135, 237, 40, 77, 31, 178, - 245, 239, 174, 174, 73, 187, 245, 253, 116, 122, 207, 186, 225, 136, - 250, 40, 238, 59, 166, 186, 142, 134, 31, 219, 174, 134, 140, 216, 24, - 192, 125, 28, 218, 28, 255, 87, 246, 255, 125, 102, 45, 208, 127, 94, - 122, 238, 56, 43, 68, 73, 190, 204, 109, 173, 127, 222, 123, 140, 61, - 121, 247, 99, 217, 64, 204, 254, 66, 237, 37, 73, 42, 220, 217, 14, 255, - 89, 89, 166, 222, 102, 30, 217, 229, 113, 47, 214, 149, 168, 191, 191, - 56, 21, 108, 31, 83, 59, 215, 100, 6, 143, 154, 148, 196, 243, 7, 199, - 242, 24, 110, 238, 215, 100, 225, 61, 184, 163, 31, 62, 41, 185, 91, - 178, 69, 153, 17, 76, 224, 184, 74, 48, 189, 2, 69, 218, 75, 200, 119, - 148, 47, 33, 134, 78, 74, 18, 176, 140, 204, 219, 50, 74, 21, 88, 251, - 155, 197, 184, 20, 242, 245, 103, 231, 72, 71, 0, 233, 161, 158, 167, - 152, 117, 203, 25, 193, 11, 23, 188, 227, 133, 224, 102, 84, 47, 156, - 59, 69, 205, 192, 14, 224, 228, 254, 58, 199, 69, 238, 64, 219, 245, - 158, 45, 218, 155, 215, 110, 94, 30, 176, 21, 116, 32, 249, 169, 71, - 177, 131, 228, 30, 137, 52, 125, 151, 18, 47, 42, 4, 14, 88, 46, 114, - 160, 158, 218, 191, 217, 66, 178, 25, 25, 106, 244, 94, 87, 197, 178, - 214, 11, 189, 244, 126, 16, 203, 164, 200, 120, 135, 215, 152, 187, 235, - 39, 246, 176, 202, 157, 122, 137, 27, 148, 242, 146, 55, 139, 69, 210, - 18, 159, 155, 66, 66, 243, 129, 20, 197, 115, 24, 181, 12, 13, 200, 38, - 174, 226, 140, 208, 229, 183, 202, 241, 251, 76, 209, 185, 199, 152, - 117, 48, 254, 227, 205, 73, 99, 218, 39, 54, 237, 150, 246, 185, 244, - 205, 207, 163, 189, 117, 240, 156, 54, 181, 87, 166, 42, 174, 222, 12, - 199, 181, 126, 126, 74, 250, 213, 86, 128, 117, 193, 173, 213, 38, 39, - 117, 40, 87, 61, 128, 229, 244, 51, 78, 133, 54, 167, 205, 50, 100, 227, - 252, 152, 55, 173, 96, 201, 0, 255, 32, 252, 205, 65, 109, 59, 97, 4, - 119, 210, 253, 176, 88, 44, 149, 29, 31, 76, 100, 182, 187, 193, 140, - 14, 212, 42, 43, 2, 181, 213, 86, 9, 202, 87, 84, 17, 241, 73, 116, 13, - 139, 85, 160, 232, 186, 61, 74, 156, 111, 204, 79, 142, 12, 87, 41, 64, - 137, 10, 221, 98, 85, 123, 17, 65, 9, 23, 200, 25, 235, 10, 162, 111, - 121, 50, 42, 45, 44, 204, 245, 25, 237, 141, 176, 167, 57, 230, 41, 206, - 93, 240, 47, 199, 31, 223, 6, 125, 239, 37, 141, 100, 248, 242, 140, - 122, 146, 36, 22, 109, 76, 152, 204, 37, 187, 245, 209, 177, 218, 73, - 27, 134, 212, 57, 35, 241, 74, 109, 116, 166, 76, 141, 232, 213, 193, - 103, 112, 93, 118, 55, 193, 34, 139, 61, 107, 74, 40, 28, 138, 182, 80, - 194, 115, 129, 93, 192, 50, 241, 215, 116, 220, 251, 165, 57, 134, 162, - 47, 128, 103, 71, 40, 238, 242, 217, 115, 217, 28, 233, 165, 173, 130, - 189, 249, 28, 147, 110, 143, 158, 157, 200, 79, 236, 173, 29, 145, 64, - 30, 242, 219, 81, 80, 11, 125, 2, 136, 80, 239, 76, 193, 152, 253, 79, - 198, 243, 139, 226, 208, 254, 192, 15, 44, 44, 90, 119, 100, 154, 253, - 255, 212, 143, 231, 157, 123, 60, 180, 139, 216, 19, 96, 240, 45, 43, - 212, 206, 248, 157, 133, 27, 57, 194, 153, 52, 118, 246, 189, 229, 202, - 178, 63, 160, 29, 139, 10, 230, 183, 171, 26, 46, 21, 31, 189, 83, 121, - 55, 124, 254, 96, 225, 113, 112, 185, 161, 31, 81, 222, 244, 4, 186, - 168, 2, 252, 9, 31, 28, 164, 130, 93, 48, 119, 179, 165, 245, 150, 103, - 63, 3, 27, 170, 93, 57, 249, 121, 173, 195, 190, 135, 122, 210, 71, 84, - 234, 228, 108, 26, 160, 18, 0, 185, 156, 38, 124, 63, 237, 243, 171, - 138, 93, 67, 60, 59, 18, 51, 142, 119, 102, 49, 227, 110, 235, 131, 239, - 239, 47, 100, 51, 165, 137, 234, 84, 31, 202, 55, 46, 101, 173, 82, 99, - 5, 94, 90, 50, 68, 250, 190, 70, 182, 224, 50, 154, 86, 145, 245, 137, - 82, 241, 33, 156, 255, 239, 36, 158, 110, 37, 51, 209, 28, 82, 252, 59, - 138, 187, 207, 115, 163, 124, 118, 108, 199, 153, 208, 89, 11, 82, 207, - 221, 95, 118, 30, 254, 42, 30, 229, 103, 207, 197, 76, 201, 220, 22, 42, - 227, 129, 194, 212, 120, 155, 100, 109, 39, 35, 98, 160, 20, 225, 9, 49, - 156, 101, 214, 76, 87, 127, 121, 153, 158, 22, 99, 192, 119, 3, 142, - 166, 64, 253, 205, 219, 119, 81, 162, 250, 212, 33, 145, 68, 213, 61, - 137, 148, 93, 132, 164, 64, 102, 201, 188, 2, 141, 42, 178, 173, 184, - 63, 127, 134, 138, 15, 221, 249, 55, 56, 133, 210, 253, 216, 215, 12, - 250, 142, 154, 114, 68, 246, 185, 102, 79, 6, 74, 185, 51, 0, 166, 161, - 117, 175, 240, 111, 178, 54, 138, 243, 135, 213, 27, 92, 243, 126, 154, - 168, 175, 212, 207, 183, 196, 214, 31, 230, 118, 43, 215, 41, 197, 175, - 92, 127, 72, 221, 238, 102, 233, 47, 137, 173, 63, 21, 94, 10, 60, 247, - 211, 77, 253, 65, 55, 245, 30, 8, 169, 127, 101, 225, 46, 48, 80, 149, - 217, 55, 76, 11, 224, 183, 46, 117, 122, 31, 70, 136, 156, 106, 95, 16, - 46, 153, 241, 253, 118, 95, 39, 52, 174, 221, 246, 98, 148, 240, 178, - 203, 75, 92, 4, 110, 30, 190, 53, 104, 229, 241, 86, 62, 24, 153, 186, - 105, 222, 171, 144, 60, 27, 139, 228, 20, 71, 29, 153, 126, 74, 87, 225, - 127, 119, 104, 79, 18, 74, 239, 152, 216, 132, 89, 244, 16, 233, 114, - 122, 22, 89, 84, 219, 47, 55, 70, 96, 172, 198, 77, 243, 88, 67, 160, - 14, 47, 85, 151, 193, 17, 144, 21, 31, 201, 216, 155, 175, 107, 233, - 187, 56, 97, 218, 193, 103, 166, 158, 79, 179, 6, 31, 222, 130, 127, - 182, 160, 232, 210, 166, 82, 226, 242, 159, 206, 212, 127, 208, 245, - 129, 220, 159, 6, 123, 198, 202, 210, 105, 48, 54, 253, 164, 151, 51, - 131, 25, 172, 179, 152, 159, 237, 213, 8, 63, 168, 189, 249, 16, 95, 54, - 3, 248, 17, 211, 221, 236, 153, 252, 192, 72, 97, 0, 41, 150, 54, 156, - 161, 141, 166, 165, 177, 252, 253, 122, 216, 22, 185, 123, 243, 23, 122, - 97, 5, 100, 132, 247, 103, 233, 105, 201, 205, 27, 107, 131, 16, 208, - 132, 77, 22, 4, 148, 198, 4, 189, 250, 209, 63, 99, 85, 172, 114, 220, - 75, 183, 103, 119, 252, 162, 135, 180, 169, 30, 39, 133, 102, 134, 63, - 253, 226, 120, 207, 253, 197, 227, 58, 112, 214, 15, 24, 255, 34, 249, - 159, 137, 29, 26, 195, 108, 135, 43, 138, 202, 188, 213, 121, 252, 93, - 157, 158, 41, 32, 57, 80, 83, 6, 48, 169, 216, 231, 178, 30, 206, 52, - 93, 146, 201, 247, 77, 251, 58, 56, 223, 252, 116, 100, 11, 252, 99, - 255, 5, 148, 143, 73, 74, 26, 158, 54, 75, 211, 188, 50, 41, 233, 77, - 86, 176, 118, 19, 102, 173, 127, 84, 219, 14, 179, 239, 197, 62, 116, - 100, 102, 102, 182, 192, 250, 230, 113, 138, 115, 1, 172, 246, 231, 203, - 46, 163, 164, 150, 184, 254, 20, 7, 144, 115, 210, 150, 10, 247, 5, 60, - 247, 78, 11, 186, 245, 137, 60, 255, 227, 41, 181, 215, 32, 37, 181, - 211, 85, 89, 172, 242, 152, 231, 9, 239, 225, 110, 128, 52, 254, 139, - 239, 19, 92, 248, 225, 144, 46, 164, 71, 21, 87, 113, 143, 149, 174, 36, - 157, 115, 84, 205, 153, 206, 167, 76, 188, 130, 9, 5, 108, 176, 2, 66, - 25, 216, 217, 3, 142, 238, 219, 169, 251, 102, 228, 205, 127, 154, 115, - 187, 83, 166, 251, 14, 225, 162, 234, 192, 227, 243, 118, 174, 175, 67, - 191, 179, 75, 154, 195, 41, 54, 90, 157, 247, 222, 60, 185, 239, 80, 82, - 151, 60, 73, 64, 54, 7, 250, 44, 30, 27, 247, 254, 48, 49, 64, 61, 0, 0, - 156, 182, 244, 19, 140, 184, 71, 184, 36, 7, 189, 88, 71, 93, 101, 31, - 99, 68, 198, 65, 50, 213, 233, 51, 246, 247, 6, 161, 94, 169, 162, 45, - 137, 119, 93, 94, 252, 60, 139, 125, 124, 96, 179, 39, 230, 91, 200, 0, - 137, 176, 214, 92, 232, 221, 92, 187, 74, 196, 56, 73, 245, 40, 43, 249, - 105, 187, 122, 81, 225, 105, 79, 243, 163, 100, 184, 101, 113, 159, 29, - 230, 228, 245, 165, 114, 137, 157, 71, 85, 185, 109, 9, 14, 114, 253, - 151, 50, 91, 108, 57, 154, 204, 79, 223, 79, 157, 177, 108, 248, 164, - 44, 29, 103, 59, 231, 54, 44, 130, 122, 203, 45, 44, 155, 111, 251, 134, - 208, 135, 95, 47, 37, 216, 7, 38, 245, 30, 142, 139, 152, 237, 77, 70, - 77, 173, 6, 108, 166, 217, 164, 163, 113, 88, 75, 206, 219, 142, 230, - 196, 62, 47, 168, 100, 86, 116, 19, 73, 132, 183, 225, 127, 36, 30, 60, - 47, 183, 14, 204, 68, 69, 31, 165, 32, 131, 65, 148, 203, 52, 168, 113, - 134, 71, 91, 132, 251, 169, 219, 170, 211, 87, 188, 118, 20, 212, 91, - 139, 65, 71, 220, 204, 202, 247, 138, 244, 215, 202, 117, 133, 101, 3, - 19 - ], - "padding": 3 - }, - "hashCount": 7, - "membershipCheckCount": 10000, - "membershipTestResult": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000" - } -] From 4a3fb11fd30f12ef9addd928ab524d21687c5a3a Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Tue, 22 Nov 2022 13:27:56 -0500 Subject: [PATCH 16/31] REVERT ME: require() test for json/txt --- .../test/unit/remote/bloom_filter.test.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 97df04c9480..3f697c1904c 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -21,8 +21,23 @@ import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; -describe('BloomFilter', () => { - it('can initiate an empty BloomFilter', () => { +var fs = require('fs'); +require.extensions['.txt'] = function (module, filename) { + module.exports = fs.readFileSync(filename, 'utf8'); +}; + +const data: { bits: { bitmap: string, padding: number }, hashCount: number } = require('./bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'); +const res: string = require('./bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt'); + +describe('zzyzx BloomFilter', () => { + it('zzyzx can initiate an empty BloomFilter', () => { + console.log('zzyzx CHECKPOINT 1'); + console.log(`data.bits.bitmap=${data.bits.bitmap}`); + console.log(`data.bits.padding=${data.bits.padding}`); + console.log(`data.hashCount=${data.hashCount}`); + console.log(`res=${res}`); + console.log('zzyzx CHECKPOINT 2'); + const bloomFilter = new BloomFilter( /* bitmap */ new Uint8Array(0), /* padding */ 0, From 3a22a982a35598ee2e505cc4e5abfc499be950bf Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Tue, 22 Nov 2022 13:36:40 -0500 Subject: [PATCH 17/31] Revert "REVERT ME: require() test for json/txt" This reverts commit 4a3fb11fd30f12ef9addd928ab524d21687c5a3a. --- .../test/unit/remote/bloom_filter.test.ts | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 3f697c1904c..97df04c9480 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -21,23 +21,8 @@ import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; -var fs = require('fs'); -require.extensions['.txt'] = function (module, filename) { - module.exports = fs.readFileSync(filename, 'utf8'); -}; - -const data: { bits: { bitmap: string, padding: number }, hashCount: number } = require('./bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'); -const res: string = require('./bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt'); - -describe('zzyzx BloomFilter', () => { - it('zzyzx can initiate an empty BloomFilter', () => { - console.log('zzyzx CHECKPOINT 1'); - console.log(`data.bits.bitmap=${data.bits.bitmap}`); - console.log(`data.bits.padding=${data.bits.padding}`); - console.log(`data.hashCount=${data.hashCount}`); - console.log(`res=${res}`); - console.log('zzyzx CHECKPOINT 2'); - +describe('BloomFilter', () => { + it('can initiate an empty BloomFilter', () => { const bloomFilter = new BloomFilter( /* bitmap */ new Uint8Array(0), /* padding */ 0, From 9ccde39ea4401b600b407a49977f28acd873f1a0 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Tue, 22 Nov 2022 15:52:31 -0800 Subject: [PATCH 18/31] import golden tests without fs, use Integer instead of BigInt --- packages/firestore/src/remote/bloom_filter.ts | 22 +- .../test/unit/core/webchannel_wrapper.test.ts | 247 +++++++++++++++- .../test/unit/remote/bloom_filter.test.ts | 276 +++++++++++++++--- ...est_MD5_1_0001_membership_test_result.json | 1 + ...Test_MD5_1_0001_membership_test_result.txt | 1 - ...rTest_MD5_1_01_membership_test_result.json | 1 + ...erTest_MD5_1_01_membership_test_result.txt | 1 - ...erTest_MD5_1_1_membership_test_result.json | 1 + ...terTest_MD5_1_1_membership_test_result.txt | 1 - ...D5_50000_0001_membership_test_result.json} | 2 +- ..._MD5_50000_01_membership_test_result.json} | 2 +- ...t_MD5_50000_1_membership_test_result.json} | 2 +- ...MD5_5000_0001_membership_test_result.json} | 2 +- ...t_MD5_5000_01_membership_test_result.json} | 2 +- ...st_MD5_5000_1_membership_test_result.json} | 2 +- ..._MD5_500_0001_membership_test_result.json} | 2 +- ...st_MD5_500_01_membership_test_result.json} | 2 +- ...est_MD5_500_1_membership_test_result.json} | 2 +- .../bloom_filter_golden_test_data/index.ts | 24 ++ 19 files changed, 536 insertions(+), 57 deletions(-) create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json delete mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.json delete mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.json delete mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt => Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json} (99%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt => Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json} (88%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt => Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json} (99%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt => Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json} (97%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt => Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json} (80%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt => Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json} (98%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt => Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json} (86%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt => Validation_BloomFilterTest_MD5_500_01_membership_test_result.json} (74%) rename packages/firestore/test/unit/remote/bloom_filter_golden_test_data/{Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt => Validation_BloomFilterTest_MD5_500_1_membership_test_result.json} (93%) create mode 100644 packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 0e63a1711d5..d6387f0e5e8 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Md5 } from '@firebase/webchannel-wrapper'; +import { Md5, Integer } from '@firebase/webchannel-wrapper'; import { debugAssert } from '../util/assert'; @@ -26,10 +26,10 @@ export class BloomFilter { padding: number, private readonly hashCount: number ) { - debugAssert(padding >= 0, 'Padding is negative or undefined.'); + debugAssert(padding >= 0, 'Padding is negative.'); this.bitSize = this.bitmap.length * 8 - padding; debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); - debugAssert(this.hashCount >= 0, 'Hash count is negative or undefined.'); + debugAssert(this.hashCount >= 0, 'Hash count is negative.'); } getBitSize(): number { @@ -54,16 +54,22 @@ export class BloomFilter { // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s // complement using little endian. const dataView = new DataView(encodedBytes.buffer); - const hash1 = dataView.getBigUint64(0, /* littleEndian= */ true); - const hash2 = dataView.getBigUint64(8, /* littleEndian= */ true); + const firstUint32 = dataView.getUint32(0, /* littleEndian= */ true); + const secondUint32 = dataView.getUint32(4, /* littleEndian= */ true); + const thirdUint32 = dataView.getUint32(8, /* littleEndian= */ true); + const fourthUint32 = dataView.getUint32(12, /* littleEndian= */ true); + const hash1 = new Integer([firstUint32, secondUint32], 0); + const hash2 = new Integer([thirdUint32, fourthUint32], 0); for (let i = 0; i < this.hashCount; i++) { // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow - let combinedHash = hash1 + BigInt(i) * hash2; - combinedHash = BigInt.asUintN(64, combinedHash); + let combinedHash = hash1.add(hash2.multiply(Integer.fromNumber(i))); + combinedHash = combinedHash.modulo(Integer.fromNumber(Math.pow(2, 64))); // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). - const module = Number(combinedHash % BigInt(this.bitSize)); + const module = Number( + combinedHash.modulo(Integer.fromNumber(this.bitSize)) + ); const byte = this.bitmap[Math.floor(module / 8)]; if (!(byte & (0x01 << module % 8))) { diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index 6729fbd5b98..d253c5c82d5 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -19,7 +19,7 @@ // These tests are mostly to ensure that the exported classes correctly map to // underlying functionality from google-closure-library. -import { Md5 } from '@firebase/webchannel-wrapper'; +import { Md5, Integer } from '@firebase/webchannel-wrapper'; import { expect } from 'chai'; describe('Md5', () => { @@ -83,3 +83,248 @@ describe('Md5', () => { expect(md5.digest()).to.deep.equal(DIGEST_OF_DEF); }); }); + +describe('Integer', () => { + it('constructor should create distinct instances', () => { + const instance1 = new Integer([1], 0); + const instance2 = new Integer([1], 0); + expect(instance1).is.instanceof(Integer); + expect(instance2).is.instanceof(Integer); + expect(instance1).is.not.equal(instance2); + }); + + it('constructor should construct 1 and -1, 2 and -2', () => { + const positiveOne = new Integer([1], 0); + expect(positiveOne.toNumber()).equals(1); + const negativeOne = new Integer([-1], -1); + expect(negativeOne.toNumber()).equals(-1); + const positiveTwo = new Integer([2], 0); + expect(positiveTwo.toNumber()).equals(2); + const negativeTwo = new Integer([-2], -1); + expect(negativeTwo.toNumber()).equals(-2); + }); + + it('constructor should construct big positive values', () => { + expect(new Integer([0xff], 0).toNumber()).equals(255); + expect(new Integer([0xffff], 0).toNumber()).equals(65535); + expect(new Integer([0xffffff], 0).toNumber()).equals(16777215); + expect(new Integer([0xffffffff], 0).toNumber()).equals(4294967295); + expect(new Integer([0, 1], 0).toNumber()).equals(4294967296); + expect(new Integer([1, 1], 0).toNumber()).equals(4294967297); + expect(new Integer([0xfffffffe, 1], 0).toNumber()).equals(8589934590); + expect(new Integer([0xffffffff, 1], 0).toNumber()).equals(8589934591); + expect(new Integer([0, 2], 0).toNumber()).equals(8589934592); + expect(new Integer([1, 2], 0).toNumber()).equals(8589934593); + expect( + new Integer( + [0x992ce530, 0xbc1f3bbb, 0x2080e2ee, 0xe53c0595], + 0 + ).toString() + ).equals('304704862073361391914321619654827369776'); + }); + + it('constructor should construct big negative values', () => { + expect(new Integer([0xffffffff], -1).toNumber()).equals(-1); + expect(new Integer([0xfffffffe], -1).toNumber()).equals(-2); + expect(new Integer([0xfffffffd], -1).toNumber()).equals(-3); + expect(new Integer([0xfffffff0], -1).toNumber()).equals(-16); + expect(new Integer([0xffffff00], -1).toNumber()).equals(-256); + expect(new Integer([0xfffff000], -1).toNumber()).equals(-4096); + expect(new Integer([0xffff0000], -1).toNumber()).equals(-65536); + expect(new Integer([0xfff00000], -1).toNumber()).equals(-1048576); + expect(new Integer([0xff000000], -1).toNumber()).equals(-16777216); + expect(new Integer([0xf0000000], -1).toNumber()).equals(-268435456); + expect(new Integer([0x00000001], -1).toNumber()).equals(-4294967295); + expect(new Integer([0x00000000], -1).toNumber()).equals(-4294967296); + expect(new Integer([0x00000000, 0xffffffff], -1).toNumber()).equals( + -4294967296 + ); + expect(new Integer([0xffffffff, 0xfffffffe], -1).toNumber()).equals( + -4294967297 + ); + expect(new Integer([0xfffffffe, 0xfffffffe], -1).toNumber()).equals( + -4294967298 + ); + }); + + it('add() should produce the sum of the two numbers', () => { + expect(Integer.fromNumber(0).add(Integer.fromNumber(0)).toNumber()).equals( + 0 + ); + expect(Integer.fromNumber(1).add(Integer.fromNumber(1)).toNumber()).equals( + 2 + ); + expect( + Integer.fromNumber(0xffffffff).add(Integer.fromNumber(1)).toNumber() + ).equals(4294967296); + expect( + Integer.fromString('304704862073361391914321619654827369776') + .add(Integer.fromString('77393247566944052149773810817307943505')) + .toString() + ).equals('382098109640305444064095430472135313281'); + expect(Integer.fromNumber(0).add(Integer.fromNumber(-1)).toNumber()).equals( + -1 + ); + }); + + it('multiply() should produce the product of the two numbers', () => { + expect( + Integer.fromNumber(0).multiply(Integer.fromNumber(0)).toNumber() + ).equals(0); + expect( + Integer.fromNumber(1).multiply(Integer.fromNumber(0)).toNumber() + ).equals(0); + expect( + Integer.fromNumber(1).multiply(Integer.fromNumber(1)).toNumber() + ).equals(1); + expect( + Integer.fromNumber(9).multiply(Integer.fromNumber(3)).toNumber() + ).equals(27); + expect( + Integer.fromNumber(0xffffffff) + .multiply(Integer.fromNumber(0xca11ba11)) + .toString() + ).equals('14560623649052575215'); + expect( + Integer.fromString('304704862073361391914321619654827369776') + .multiply(Integer.fromString('77393247566944052149773810817307943505')) + .toString() + ).equals( + '23582098825295199538298333106941184620809785262540690532878112097410752504880' + ); + expect( + Integer.fromNumber(5).multiply(Integer.fromNumber(-1)).toNumber() + ).equals(-5); + }); + + it('modulo() should produce the division remainder of the two numbers', () => { + expect(() => Integer.fromNumber(0).modulo(Integer.fromNumber(0))).to.throw( + 'division by zero' + ); + expect(() => Integer.fromNumber(42).modulo(Integer.fromNumber(0))).to.throw( + 'division by zero' + ); + expect( + Integer.fromNumber(20).modulo(Integer.fromNumber(1)).toNumber() + ).equals(0); + expect( + Integer.fromNumber(2).modulo(Integer.fromNumber(2)).toNumber() + ).equals(0); + expect( + Integer.fromNumber(3).modulo(Integer.fromNumber(2)).toNumber() + ).equals(1); + expect( + Integer.fromNumber(4).modulo(Integer.fromNumber(2)).toNumber() + ).equals(0); + expect( + Integer.fromNumber(0xffffffff) + .modulo(Integer.fromNumber(0xca11ba11)) + .toNumber() + ).equals(904807918); + expect( + Integer.fromString('304704862073361391914321619654827369776') + .modulo(Integer.fromString('77393247566944052149773810817307943505')) + .toString() + ).equals('72525119372529235465000187202903539261'); + expect( + Integer.fromString('304704862073361391914321619654827369776') + .modulo(Integer.fromNumber(313)) + .toNumber() + ).equals(167); + }); + + it('compare() should correctly compare two numbers for order', () => { + const numbers = Object.freeze([ + Integer.fromNumber(-4294967298), + Integer.fromNumber(-2), + Integer.fromNumber(-1), + Integer.fromNumber(0), + Integer.fromNumber(1), + Integer.fromNumber(2), + Integer.fromNumber(0xffffffff), + Integer.fromString('77393247566944052149773810817307943505'), + Integer.fromString('304704862073361391914321619654827369776') + ]); + for (let i1 = 0; i1 < numbers.length; i1++) { + for (let i2 = 0; i2 < numbers.length; i2++) { + const num1 = numbers[i1]; + const num2 = numbers[i2]; + const expected = i1 === i2 ? 0 : i1 < i2 ? -1 : 1; + expect(num1.compare(num2)).equals(expected); + } + } + }); + + it('toNumber() should return the correct number', () => { + const one = Integer.fromNumber(1); + const two = Integer.fromNumber(2); + expect(Integer.fromNumber(0).toNumber()).equals(0); + expect(Integer.fromNumber(1).toNumber()).equals(1); + expect(Integer.fromNumber(-1).toNumber()).equals(-1); + expect(Integer.fromNumber(Number.MAX_SAFE_INTEGER).toNumber()).equals( + Number.MAX_SAFE_INTEGER + ); + expect(Integer.fromNumber(Number.MIN_SAFE_INTEGER).toNumber()).equals( + Number.MIN_SAFE_INTEGER + ); + expect( + Integer.fromNumber(Number.MAX_SAFE_INTEGER).add(one).toNumber() + ).equals(Number.MAX_SAFE_INTEGER + 1); + expect( + Integer.fromNumber(Number.MAX_SAFE_INTEGER).add(two).toNumber() + ).equals(Number.MAX_SAFE_INTEGER + 1); + }); + + it('toString() should return the correct number', () => { + const one = Integer.fromNumber(1); + const two = Integer.fromNumber(2); + expect(Integer.fromNumber(0).toString()).equals('0'); + expect(Integer.fromNumber(1).toString()).equals('1'); + expect(Integer.fromNumber(-1).toString()).equals('-1'); + expect(Integer.fromNumber(Number.MAX_SAFE_INTEGER).toString()).equals( + '9007199254740991' + ); + expect(Integer.fromNumber(Number.MIN_SAFE_INTEGER).toString()).equals( + '-9007199254740991' + ); + expect( + Integer.fromNumber(Number.MAX_SAFE_INTEGER).add(one).toString() + ).equals('9007199254740992'); + expect( + Integer.fromNumber(Number.MAX_SAFE_INTEGER).add(two).toString() + ).equals('9007199254740993'); + expect( + Integer.fromString('304704862073361391914321619654827369776').toString() + ).equals('304704862073361391914321619654827369776'); + + expect(Integer.fromNumber(0).toString(2)).equals('0'); + expect(Integer.fromNumber(43981).toString(2)).equals('1010101111001101'); + expect(Integer.fromNumber(43981).toString(8)).equals('125715'); + expect(Integer.fromNumber(43981).toString(10)).equals('43981'); + expect(Integer.fromNumber(43981).toString(16)).equals('abcd'); + }); + + it('fromNumber() create a new Integer with the given value', () => { + // The tests for toString() and toNumber() cover this method. + }); + + it('fromString() create a new Integer with the given value', () => { + expect(Integer.fromString('0').toNumber()).equals(0); + expect(Integer.fromString('1').toNumber()).equals(1); + expect(Integer.fromString('-1').toNumber()).equals(-1); + expect(Integer.fromString('42').toNumber()).equals(42); + expect(Integer.fromString('9007199254740991').toNumber()).equals( + Number.MAX_SAFE_INTEGER + ); + expect(Integer.fromString('-9007199254740991').toNumber()).equals( + Number.MIN_SAFE_INTEGER + ); + expect( + Integer.fromString('304704862073361391914321619654827369776').toString() + ).equals('304704862073361391914321619654827369776'); + + expect(Integer.fromString('abcd', 16).toNumber()).equals(43981); + expect(Integer.fromString('125715', 8).toNumber()).equals(43981); + expect(Integer.fromString('1010101111001101', 2).toNumber()).equals(43981); + }); +}); diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 97df04c9480..57817ff9838 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -14,13 +14,37 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { readFileSync, readdirSync } from 'fs'; -import { parse, resolve } from 'path'; - import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; +import { + testDataCount1Rate0001, + testDataCount1Rate01, + testDataCount1Rate1, + testDataCount50000Rate0001, + testDataCount50000Rate01, + testDataCount50000Rate1, + testDataCount5000Rate0001, + testDataCount5000Rate01, + testDataCount5000Rate1, + testDataCount500Rate0001, + testDataCount500Rate01, + testDataCount500Rate1, + testResultCount1Rate0001, + testResultCount1Rate01, + testResultCount1Rate1, + testResultCount50000Rate0001, + testResultCount50000Rate01, + testResultCount50000Rate1, + testResultCount5000Rate0001, + testResultCount5000Rate01, + testResultCount5000Rate1, + testResultCount500Rate0001, + testResultCount500Rate01, + testResultCount500Rate1 +} from './bloom_filter_golden_test_data'; + describe('BloomFilter', () => { it('can initiate an empty BloomFilter', () => { const bloomFilter = new BloomFilter( @@ -113,48 +137,228 @@ describe('BloomFilter', () => { describe('BloomFilter membership test', () => { const documentPrefix = 'projects/project-1/databases/database-1/documents/coll/doc'; - const testDataFolder = 'test/unit/remote/bloom_filter_golden_test_data'; interface TestDataType { bits: { - bitmap: string; - padding: number; + bitmap?: string; + padding?: number; }; - hashCount: number; + hashCount?: number; + } + + interface TestResultType { + membershipTestResults: string; } - function convertBase64ToUint8Array(base64: string = ''): Uint8Array { + function convertBase64ToUint8Array(base64: string): Uint8Array { return Uint8Array.from(atob(base64), item => item.charCodeAt(0)); } - it('mightContain result should match backend result', () => { - readdirSync(testDataFolder).forEach(filename => { - const ext = parse(filename).ext; - - if (ext === '.json') { - const testDataPath = resolve(testDataFolder, filename); - const testResultPath = testDataPath.replace( - 'bloom_filter_proto.json', - 'membership_test_result.txt' - ); - const testData: TestDataType = JSON.parse( - readFileSync(testDataPath, 'utf8') - ); - const testResult: string = readFileSync(testResultPath, 'utf8'); - const { bits = { bitmap: '', padding: 0 }, hashCount = 0 } = testData; - const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < testResult.length; i++) { - const backendMembershipResult = - testResult[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } - } - }); + it('mightContain result for 1 document with 1 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount1Rate1 as TestDataType; + const { membershipTestResults } = testResultCount1Rate1 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 1 document with 0.01 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount1Rate01 as TestDataType; + const { membershipTestResults } = + testResultCount1Rate01 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 1 document with 0.0001 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount1Rate0001 as TestDataType; + const { membershipTestResults } = + testResultCount1Rate0001 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 500 documents with 1 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount500Rate1 as TestDataType; + const { membershipTestResults } = + testResultCount500Rate1 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 500 documents with 0.01 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount500Rate01 as TestDataType; + const { membershipTestResults } = + testResultCount500Rate01 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } }); + it('mightContain result for 500 document with 0.0001 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount500Rate0001 as TestDataType; + const { membershipTestResults } = + testResultCount500Rate0001 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 5000 documents with 1 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount5000Rate1 as TestDataType; + const { membershipTestResults } = + testResultCount5000Rate1 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 5000 documenta with 0.01 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount5000Rate01 as TestDataType; + const { membershipTestResults } = + testResultCount5000Rate01 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 5000 documenta with 0.0001 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount5000Rate0001 as TestDataType; + const { membershipTestResults } = + testResultCount5000Rate0001 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 50000 documents with 1 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount50000Rate1 as TestDataType; + const { membershipTestResults } = + testResultCount50000Rate1 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + }); + it('mightContain result for 50000 documents with 0.01 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount50000Rate01 as TestDataType; + const { membershipTestResults } = + testResultCount50000Rate01 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + //Extend default timeout(2000) + }).timeout(3000); + + it('mightContain result for 50000 documents with 0.0001 false positive rate should match backend result', () => { + const { bits, hashCount } = testDataCount50000Rate0001 as TestDataType; + const { membershipTestResults } = + testResultCount50000Rate0001 as TestResultType; + + const bloomFilter = new BloomFilter( + convertBase64ToUint8Array(bits.bitmap || ''), + bits.padding || 0, + hashCount || 0 + ); + for (let i = 0; i < membershipTestResults.length; i++) { + const backendMembershipResult = + membershipTestResults[i] === '1' ? true : false; + const mightContain = bloomFilter.mightContain(documentPrefix + i); + expect(mightContain).to.equal(backendMembershipResult); + } + //Extend default timeout(2000) + }).timeout(4000); }); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json new file mode 100644 index 00000000000..5a41f842376 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json @@ -0,0 +1 @@ +{"membershipTestResults" : "10"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt deleted file mode 100644 index 9a037142aa3..00000000000 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_0001_membership_test_result.txt +++ /dev/null @@ -1 +0,0 @@ -10 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.json new file mode 100644 index 00000000000..5a41f842376 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.json @@ -0,0 +1 @@ +{"membershipTestResults" : "10"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt deleted file mode 100644 index 9a037142aa3..00000000000 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.txt +++ /dev/null @@ -1 +0,0 @@ -10 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.json new file mode 100644 index 00000000000..fcbc34d14ac --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.json @@ -0,0 +1 @@ +{"membershipTestResults" : "00"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt deleted file mode 100644 index 857f065e415..00000000000 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_membership_test_result.txt +++ /dev/null @@ -1 +0,0 @@ -00 \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json similarity index 99% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json index 601d08a648f..25628a9889d 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json similarity index 88% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json index 58d8948584c..c8bef092c6b 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000101000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000001000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000001000000000000100000000000000000000000000000000000000001100000000010000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000010000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000100100000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000100000010000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000001000000000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000001000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000010000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000010010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000001000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000010000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000010000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000100000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000101000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000001000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000001000000000000100000000000000000000000000000000000000001100000000010000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000010000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000100100000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000100000010000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000001000000000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000001000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000010000000000000000000000000000000000000000000000001000001000000000000000000000000000000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000100000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000010010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000001000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000010000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000010000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000100000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json similarity index 99% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json index 315e30bd354..8872f804c6c 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json @@ -1 +1 @@ -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json similarity index 97% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json index 7498509eb4e..e93415cc7e6 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json similarity index 80% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json index 0ff35546a7c..416b190ec53 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000110000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json similarity index 98% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json index 1f707ba97e8..d568ff095e5 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json @@ -1 +1 @@ -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json similarity index 86% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json index afa1be8d91a..3bcbf418c24 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.json similarity index 74% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.json index 13078ce8d13..2a851465e72 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_01_membership_test_result.json @@ -1 +1 @@ -1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +{"membershipTestResults" : "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.json similarity index 93% rename from packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt rename to packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.json index 3811d253521..d59b3592362 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.txt +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_membership_test_result.json @@ -1 +1 @@ -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +{"membershipTestResults" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts new file mode 100644 index 00000000000..1a49f465180 --- /dev/null +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts @@ -0,0 +1,24 @@ +export { default as testDataCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json'; +export { default as testResultCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_membership_test_result.json'; +export { default as testDataCount1Rate01 } from './Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'; +export { default as testResultCount1Rate01 } from './Validation_BloomFilterTest_MD5_1_01_membership_test_result.json'; +export { default as testDataCount1Rate0001 } from './Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json'; +export { default as testResultCount1Rate0001 } from './Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json'; +export { default as testDataCount500Rate1 } from './Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json'; +export { default as testResultCount500Rate1 } from './Validation_BloomFilterTest_MD5_500_1_membership_test_result.json'; +export { default as testDataCount500Rate01 } from './Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json'; +export { default as testResultCount500Rate01 } from './Validation_BloomFilterTest_MD5_500_01_membership_test_result.json'; +export { default as testDataCount500Rate0001 } from './Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json'; +export { default as testResultCount500Rate0001 } from './Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json'; +export { default as testDataCount5000Rate1 } from './Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json'; +export { default as testResultCount5000Rate1 } from './Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json'; +export { default as testDataCount5000Rate01 } from './Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json'; +export { default as testResultCount5000Rate01 } from './Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json'; +export { default as testDataCount5000Rate0001 } from './Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json'; +export { default as testResultCount5000Rate0001 } from './Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json'; +export { default as testDataCount50000Rate1 } from './Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json'; +export { default as testResultCount50000Rate1 } from './Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json'; +export { default as testDataCount50000Rate01 } from './Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json'; +export { default as testResultCount50000Rate01 } from './Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json'; +export { default as testDataCount50000Rate0001 } from './Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json'; +export { default as testResultCount50000Rate0001 } from './Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json'; From 0d919c16abb818857b2481ecdf21707a2b5ce5c5 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Tue, 22 Nov 2022 15:52:51 -0800 Subject: [PATCH 19/31] add the Integer library --- packages/webchannel-wrapper/src/index.d.ts | 15 +++++++++++++++ packages/webchannel-wrapper/src/index.js | 11 +++++++++++ 2 files changed, 26 insertions(+) diff --git a/packages/webchannel-wrapper/src/index.d.ts b/packages/webchannel-wrapper/src/index.d.ts index 7adc81fe7ee..0da8deeb7c5 100644 --- a/packages/webchannel-wrapper/src/index.d.ts +++ b/packages/webchannel-wrapper/src/index.d.ts @@ -143,3 +143,18 @@ export class Md5 { digest(): Array; update(bytes: Array | Uint8Array | string, opt_length?: number): void; } + +// See https://google.github.io/closure-library/api/goog.math.Integer.html +// Unit test are written in +// packages/firestore/test/unit/core/webchannel_wrapper.test.ts +export class Integer { + constructor(bits: Array, sign: number); + add(other: Integer): Integer; + multiply(other: Integer): Integer; + modulo(other: Integer): Integer; + compare(other: Integer): number; + toNumber(): number; + toString(opt_radix?: number): string; + static fromNumber(value: number): Integer; + static fromString(str: string, opt_radix?: number): Integer; +} diff --git a/packages/webchannel-wrapper/src/index.js b/packages/webchannel-wrapper/src/index.js index 9b6b0a026ed..641560a80ba 100644 --- a/packages/webchannel-wrapper/src/index.js +++ b/packages/webchannel-wrapper/src/index.js @@ -83,6 +83,16 @@ goog.crypt.Md5.prototype['digest'] = goog.crypt.Md5.prototype.digest; goog.crypt.Md5.prototype['reset'] = goog.crypt.Md5.prototype.reset; goog.crypt.Md5.prototype['update'] = goog.crypt.Md5.prototype.update; +goog.require('goog.math.Integer'); +goog.math.Integer.prototype['add'] = goog.math.Integer.prototype.add; +goog.math.Integer.prototype['multiply'] = goog.math.Integer.prototype.multiply; +goog.math.Integer.prototype['modulo'] = goog.math.Integer.prototype.modulo; +goog.math.Integer.prototype['compare'] = goog.math.Integer.prototype.compare; +goog.math.Integer.prototype['toNumber'] = goog.math.Integer.prototype.toNumber; +goog.math.Integer.prototype['toString'] = goog.math.Integer.prototype.toString; +goog.math.Integer['fromNumber'] = goog.math.Integer.fromNumber; +goog.math.Integer['fromString'] = goog.math.Integer.fromString; + module['exports']['createWebChannelTransport'] = goog.net.createWebChannelTransport; module['exports']['getStatEventTarget'] = @@ -95,3 +105,4 @@ module['exports']['FetchXmlHttpFactory'] = goog.net.FetchXmlHttpFactory; module['exports']['WebChannel'] = goog.net.WebChannel; module['exports']['XhrIo'] = goog.net.XhrIo; module['exports']['Md5'] = goog.crypt.Md5; +module['exports']['Integer'] = goog.math.Integer; From 2ba1981b2ac6aa7162f3bea7e827551ea74dc92b Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Wed, 23 Nov 2022 09:44:46 -0800 Subject: [PATCH 20/31] Use platform based 64base decoding function --- .../test/unit/remote/bloom_filter.test.ts | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 57817ff9838..d9be391fca5 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -17,6 +17,7 @@ import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; +import { ByteString } from '../../../src/util/byte_string'; import { testDataCount1Rate0001, @@ -150,8 +151,8 @@ describe('BloomFilter', () => { membershipTestResults: string; } - function convertBase64ToUint8Array(base64: string): Uint8Array { - return Uint8Array.from(atob(base64), item => item.charCodeAt(0)); + function decodeBase64ToUint8Array(encoded: string): Uint8Array { + return ByteString.fromBase64String(encoded).toUint8Array(); } it('mightContain result for 1 document with 1 false positive rate should match backend result', () => { @@ -159,7 +160,7 @@ describe('BloomFilter', () => { const { membershipTestResults } = testResultCount1Rate1 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -176,7 +177,7 @@ describe('BloomFilter', () => { testResultCount1Rate01 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -193,7 +194,7 @@ describe('BloomFilter', () => { testResultCount1Rate0001 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -210,7 +211,7 @@ describe('BloomFilter', () => { testResultCount500Rate1 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -227,7 +228,7 @@ describe('BloomFilter', () => { testResultCount500Rate01 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -244,7 +245,7 @@ describe('BloomFilter', () => { testResultCount500Rate0001 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -261,7 +262,7 @@ describe('BloomFilter', () => { testResultCount5000Rate1 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -278,7 +279,7 @@ describe('BloomFilter', () => { testResultCount5000Rate01 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -295,7 +296,7 @@ describe('BloomFilter', () => { testResultCount5000Rate0001 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -312,7 +313,7 @@ describe('BloomFilter', () => { testResultCount50000Rate1 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -329,7 +330,7 @@ describe('BloomFilter', () => { testResultCount50000Rate01 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -340,7 +341,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } //Extend default timeout(2000) - }).timeout(3000); + }).timeout(5000); it('mightContain result for 50000 documents with 0.0001 false positive rate should match backend result', () => { const { bits, hashCount } = testDataCount50000Rate0001 as TestDataType; @@ -348,7 +349,7 @@ describe('BloomFilter', () => { testResultCount50000Rate0001 as TestResultType; const bloomFilter = new BloomFilter( - convertBase64ToUint8Array(bits.bitmap || ''), + decodeBase64ToUint8Array(bits.bitmap || ''), bits.padding || 0, hashCount || 0 ); @@ -359,6 +360,6 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } //Extend default timeout(2000) - }).timeout(4000); + }).timeout(5000); }); }); From 687a5b68f4e409a040abcfcaf4f008388b09c648 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Wed, 23 Nov 2022 11:34:08 -0800 Subject: [PATCH 21/31] reformat to pass github check --- packages/firestore/src/remote/bloom_filter.ts | 17 ++-- .../test/unit/remote/bloom_filter.test.ts | 82 ++++++++++++------- .../bloom_filter_golden_test_data/index.ts | 17 ++++ 3 files changed, 78 insertions(+), 38 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index d6387f0e5e8..b9fa3aca813 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -26,10 +26,17 @@ export class BloomFilter { padding: number, private readonly hashCount: number ) { - debugAssert(padding >= 0, 'Padding is negative.'); this.bitSize = this.bitmap.length * 8 - padding; - debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); - debugAssert(this.hashCount >= 0, 'Hash count is negative.'); + if (this.bitSize === 0) { + debugAssert( + this.hashCount === 0, + 'An empty bitmap should correspond to 0 hashCount.' + ); + } else { + debugAssert(padding >= 0, 'Padding is negative.'); + debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); + debugAssert(this.hashCount >= 0, 'Hash count is negative.'); + } } getBitSize(): number { @@ -41,10 +48,6 @@ export class BloomFilter { if (this.bitSize === 0) { return false; } - // If document name is an empty string, return false - if (!document) { - return false; - } // Hash the string using md5 const md5 = new Md5(); diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index d9be391fca5..30836f404df 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -48,26 +48,45 @@ import { describe('BloomFilter', () => { it('can initiate an empty BloomFilter', () => { - const bloomFilter = new BloomFilter( - /* bitmap */ new Uint8Array(0), - /* padding */ 0, - /* hashCount */ 0 - ); + const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); expect(bloomFilter.getBitSize()).to.equal(0); }); it('can initiate a non empty BloomFilter', () => { const bloomFilter = new BloomFilter( - /* bitmap */ new Uint8Array([151, 153, 236, 116, 7]), - /* padding */ 3, - /* hashCount */ 13 + new Uint8Array([151, 153, 236, 116, 7]), + 3, + 13 ); expect(bloomFilter.getBitSize()).to.equal(37); }); + it('should throw error if empty BloomFilter has hash count', () => { + try { + new BloomFilter(new Uint8Array(0), 0, 1); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: An empty bitmap should correspond to 0 hashCount.' + ) + ).to.be.true; + } + try { + new BloomFilter(new Uint8Array(1), 8, 1); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: An empty bitmap should correspond to 0 hashCount.' + ) + ).to.be.true; + } + }); + it('should throw error if padding is negative', () => { try { - new BloomFilter(new Uint8Array(0), -1, 0); + new BloomFilter(new Uint8Array(1), -1, 1); expect.fail(); } catch (error) { expect( @@ -80,7 +99,7 @@ describe('BloomFilter', () => { it('should throw error if bitmap size is negative', () => { try { - new BloomFilter(new Uint8Array(0), 1, 0); + new BloomFilter(new Uint8Array(0), 1, 1); expect.fail(); } catch (error) { expect( @@ -93,7 +112,7 @@ describe('BloomFilter', () => { it('should throw error if hash count is negative', () => { try { - new BloomFilter(new Uint8Array(0), 0, -1); + new BloomFilter(new Uint8Array(1), 1, -1); expect.fail(); } catch (error) { expect( @@ -123,17 +142,18 @@ describe('BloomFilter', () => { /** * Golden tests are generated by backend based on inserting n number of - * documents path into Bloom filter. + * documents path into a bloom filter. * - * Full documents path is generated by concating documentPrefix and n, ie, - * projects/project-1/databases/database-1/documents/coll/doc11 + * Full document path is generated by concating documentPrefix and number n, + * ie, projects/project-1/databases/database-1/documents/coll/doc12 * * The test result is generated by checking the membership of documents from * documentPrefix+0 to documentPrefix+2n. The membership results from 0 to n - * is expected to be 1, and from n to 2n to be 0 with some false positive results. + * is expected to be true (1), and the membership results from n to 2n is + * expected to be false (0) with some false positive results (1). * - * The test result of BloomFilter.mightContain() should match the backend result - * exactly. + * The test result of BloomFilter.mightContain() should match the backend + * result exactly. */ describe('BloomFilter membership test', () => { const documentPrefix = @@ -155,7 +175,7 @@ describe('BloomFilter', () => { return ByteString.fromBase64String(encoded).toUint8Array(); } - it('mightContain result for 1 document with 1 false positive rate should match backend result', () => { + it('mightContain result for 1 document with 1 false positive rate', () => { const { bits, hashCount } = testDataCount1Rate1 as TestDataType; const { membershipTestResults } = testResultCount1Rate1 as TestResultType; @@ -171,7 +191,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 1 document with 0.01 false positive rate should match backend result', () => { + it('mightContain result for 1 document with 0.01 false positive rate', () => { const { bits, hashCount } = testDataCount1Rate01 as TestDataType; const { membershipTestResults } = testResultCount1Rate01 as TestResultType; @@ -188,7 +208,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 1 document with 0.0001 false positive rate should match backend result', () => { + it('mightContain result for 1 document with 0.0001 false positive rate', () => { const { bits, hashCount } = testDataCount1Rate0001 as TestDataType; const { membershipTestResults } = testResultCount1Rate0001 as TestResultType; @@ -205,7 +225,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 500 documents with 1 false positive rate should match backend result', () => { + it('mightContain result for 500 documents with 1 false positive rate', () => { const { bits, hashCount } = testDataCount500Rate1 as TestDataType; const { membershipTestResults } = testResultCount500Rate1 as TestResultType; @@ -222,7 +242,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 500 documents with 0.01 false positive rate should match backend result', () => { + it('mightContain result for 500 documents with 0.01 false positive rate', () => { const { bits, hashCount } = testDataCount500Rate01 as TestDataType; const { membershipTestResults } = testResultCount500Rate01 as TestResultType; @@ -239,7 +259,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 500 document with 0.0001 false positive rate should match backend result', () => { + it('mightContain result for 500 document with 0.0001 false positive rate', () => { const { bits, hashCount } = testDataCount500Rate0001 as TestDataType; const { membershipTestResults } = testResultCount500Rate0001 as TestResultType; @@ -256,7 +276,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 5000 documents with 1 false positive rate should match backend result', () => { + it('mightContain result for 5000 documents with 1 false positive rate', () => { const { bits, hashCount } = testDataCount5000Rate1 as TestDataType; const { membershipTestResults } = testResultCount5000Rate1 as TestResultType; @@ -273,7 +293,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 5000 documenta with 0.01 false positive rate should match backend result', () => { + it('mightContain result for 5000 documenta with 0.01 false positive rate', () => { const { bits, hashCount } = testDataCount5000Rate01 as TestDataType; const { membershipTestResults } = testResultCount5000Rate01 as TestResultType; @@ -290,7 +310,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 5000 documenta with 0.0001 false positive rate should match backend result', () => { + it('mightContain result for 5000 documenta with 0.0001 false positive rate', () => { const { bits, hashCount } = testDataCount5000Rate0001 as TestDataType; const { membershipTestResults } = testResultCount5000Rate0001 as TestResultType; @@ -307,7 +327,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 50000 documents with 1 false positive rate should match backend result', () => { + it('mightContain result for 50000 documents with 1 false positive rate', () => { const { bits, hashCount } = testDataCount50000Rate1 as TestDataType; const { membershipTestResults } = testResultCount50000Rate1 as TestResultType; @@ -324,7 +344,7 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } }); - it('mightContain result for 50000 documents with 0.01 false positive rate should match backend result', () => { + it('mightContain result for 50000 documents with 0.01 false positive rate', () => { const { bits, hashCount } = testDataCount50000Rate01 as TestDataType; const { membershipTestResults } = testResultCount50000Rate01 as TestResultType; @@ -341,9 +361,9 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } //Extend default timeout(2000) - }).timeout(5000); + }).timeout(10_000); - it('mightContain result for 50000 documents with 0.0001 false positive rate should match backend result', () => { + it('mightContain result for 50000 documents with 0.0001 false positive rate', () => { const { bits, hashCount } = testDataCount50000Rate0001 as TestDataType; const { membershipTestResults } = testResultCount50000Rate0001 as TestResultType; @@ -360,6 +380,6 @@ describe('BloomFilter', () => { expect(mightContain).to.equal(backendMembershipResult); } //Extend default timeout(2000) - }).timeout(5000); + }).timeout(10_000); }); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts index 1a49f465180..2af4551507c 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts @@ -1,3 +1,20 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export { default as testDataCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json'; export { default as testResultCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_membership_test_result.json'; export { default as testDataCount1Rate01 } from './Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'; From 8529ae7d4fad4d7f8a8b703728f51aa59fccde33 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Wed, 23 Nov 2022 16:48:46 -0800 Subject: [PATCH 22/31] update constructor validation --- packages/firestore/src/remote/bloom_filter.ts | 8 ++--- .../test/unit/remote/bloom_filter.test.ts | 35 +++++++++++++++---- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index b9fa3aca813..f8ee0c6a685 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -29,13 +29,13 @@ export class BloomFilter { this.bitSize = this.bitmap.length * 8 - padding; if (this.bitSize === 0) { debugAssert( - this.hashCount === 0, - 'An empty bitmap should correspond to 0 hashCount.' + this.hashCount === 0 && padding === 0, + 'A valid empty bloom filter should have all 3 fields empty.' ); } else { debugAssert(padding >= 0, 'Padding is negative.'); - debugAssert(this.bitSize >= 0, 'Bitmap size is negative.'); - debugAssert(this.hashCount >= 0, 'Hash count is negative.'); + debugAssert(this.bitSize > 0, 'Bitmap size is negative.'); + debugAssert(this.hashCount > 0, 'Hash count is 0 or negative'); } } diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 30836f404df..39b3fa88e62 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -47,12 +47,12 @@ import { } from './bloom_filter_golden_test_data'; describe('BloomFilter', () => { - it('can initiate an empty BloomFilter', () => { + it('can initiate an empty bloom filter', () => { const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); expect(bloomFilter.getBitSize()).to.equal(0); }); - it('can initiate a non empty BloomFilter', () => { + it('can initiate a non empty bloom filter', () => { const bloomFilter = new BloomFilter( new Uint8Array([151, 153, 236, 116, 7]), 3, @@ -61,14 +61,24 @@ describe('BloomFilter', () => { expect(bloomFilter.getBitSize()).to.equal(37); }); - it('should throw error if empty BloomFilter has hash count', () => { + it('should throw error if empty bloom filter inputs are invalid', () => { try { new BloomFilter(new Uint8Array(0), 0, 1); expect.fail(); } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: An empty bitmap should correspond to 0 hashCount.' + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' + ) + ).to.be.true; + } + try { + new BloomFilter(new Uint8Array(1), 8, 0); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' ) ).to.be.true; } @@ -78,7 +88,7 @@ describe('BloomFilter', () => { } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: An empty bitmap should correspond to 0 hashCount.' + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' ) ).to.be.true; } @@ -117,7 +127,20 @@ describe('BloomFilter', () => { } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Hash count is negative.' + 'INTERNAL ASSERTION FAILED: Hash count is 0 or negative' + ) + ).to.be.true; + } + }); + + it('should throw error if hash count is 0 for non empty bloom filter', () => { + try { + new BloomFilter(new Uint8Array(1), 1, 0); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: Hash count is 0 or negative' ) ).to.be.true; } From 810d63b819e15873b511aa92ced36e58bf4ade21 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Thu, 24 Nov 2022 16:20:12 -0800 Subject: [PATCH 23/31] Revert "Merge branch 'master' into mila/BloomFilter-add-BloomFilter-class" This reverts commit c5616d7f21b6af9f6e280f4762a799a621e6c498, reversing changes made to 0d919c16abb818857b2481ecdf21707a2b5ce5c5. --- .changeset/breezy-wombats-care.md | 7 - .changeset/empty-doors-brush.md | 6 - .changeset/lucky-games-arrive.md | 8 - common/api-review/firestore-lite.api.md | 52 +- common/api-review/firestore.api.md | 52 +- packages/database-compat/test/query.test.ts | 62 +- .../database/src/core/view/QueryParams.ts | 65 +- .../src/core/view/filter/LimitedFilter.ts | 65 +- .../src/core/view/filter/RangedFilter.ts | 17 +- .../database/test/helpers/syncPointSpec.json | 243 --- .../database/test/helpers/syncpoint-util.ts | 6 - packages/firestore-compat/package.json | 2 +- .../test/array_transforms.test.ts | 3 +- .../test/transactions.test.ts | 11 +- packages/firestore/lite/index.ts | 18 +- packages/firestore/package.json | 6 +- packages/firestore/scripts/remove-asserts.js | 2 +- packages/firestore/scripts/remove-asserts.ts | 2 +- packages/firestore/src/api.ts | 10 - packages/firestore/src/api/filter.ts | 12 +- packages/firestore/src/core/bound.ts | 131 -- packages/firestore/src/core/filter.ts | 543 ------- packages/firestore/src/core/order_by.ts | 49 - packages/firestore/src/core/query.ts | 68 +- packages/firestore/src/core/target.ts | 510 +++++- packages/firestore/src/lite-api/query.ts | 615 ++------ .../src/local/indexeddb_index_manager.ts | 138 +- .../src/model/target_index_matcher.ts | 14 +- .../platform/browser_lite/fetch_connection.ts | 3 +- packages/firestore/src/protos/compile.sh | 27 - .../src/protos/firestore_proto_api.ts | 2 +- .../protos/google/firestore/v1/query.proto | 5 +- packages/firestore/src/protos/protos.json | 3 +- packages/firestore/src/remote/serializer.ts | 138 +- packages/firestore/src/util/logic_utils.ts | 363 ----- packages/firestore/src/util/types.ts | 2 +- .../test/integration/api/query.test.ts | 275 ---- .../test/integration/api/type.test.ts | 2 +- .../test/integration/api/validation.test.ts | 144 -- .../api_internal/transaction.test.ts | 7 +- .../firestore/test/unit/core/filter.test.ts | 96 -- .../firestore/test/unit/core/query.test.ts | 77 +- .../test/unit/local/index_manager.test.ts | 29 +- .../unit/local/indexeddb_persistence.test.ts | 8 +- .../test/unit/local/query_engine.test.ts | 1375 ++++------------- .../firestore/test/unit/model/target.test.ts | 2 +- .../test/unit/remote/serializer.helper.ts | 379 +---- .../firestore/test/unit/specs/spec_builder.ts | 9 +- .../test/unit/specs/spec_test_runner.ts | 2 +- .../test/unit/util/logic_utils.test.ts | 447 ------ packages/firestore/test/util/helpers.ts | 25 +- packages/firestore/test/util/test_platform.ts | 6 +- .../emulators/database-emulator.ts | 6 +- yarn.lock | 49 +- 54 files changed, 1192 insertions(+), 5006 deletions(-) delete mode 100644 .changeset/breezy-wombats-care.md delete mode 100644 .changeset/empty-doors-brush.md delete mode 100644 .changeset/lucky-games-arrive.md delete mode 100644 packages/firestore/src/core/bound.ts delete mode 100644 packages/firestore/src/core/filter.ts delete mode 100644 packages/firestore/src/core/order_by.ts delete mode 100755 packages/firestore/src/protos/compile.sh delete mode 100644 packages/firestore/src/util/logic_utils.ts delete mode 100644 packages/firestore/test/unit/core/filter.test.ts delete mode 100644 packages/firestore/test/unit/util/logic_utils.test.ts diff --git a/.changeset/breezy-wombats-care.md b/.changeset/breezy-wombats-care.md deleted file mode 100644 index c8476b92007..00000000000 --- a/.changeset/breezy-wombats-care.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@firebase/firestore': minor -'@firebase/firestore-compat': minor -'firebase': minor ---- - -Upgrade TypeScript to 4.7.4 (was 4.2.2) diff --git a/.changeset/empty-doors-brush.md b/.changeset/empty-doors-brush.md deleted file mode 100644 index 3f974353b8f..00000000000 --- a/.changeset/empty-doors-brush.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@firebase/database': patch -'@firebase/database-compat': patch ---- - -Use new wire protocol parameters for startAfter, endBefore. diff --git a/.changeset/lucky-games-arrive.md b/.changeset/lucky-games-arrive.md deleted file mode 100644 index bf5681ad634..00000000000 --- a/.changeset/lucky-games-arrive.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@firebase/firestore": minor -"firebase": minor ---- - -Functions in the Firestore package that return QueryConstraints (for example: `where(...)`, `limit(...)`, and `orderBy(...)`) -now return a more specific type, which extends QueryConstraint. Refactoring and code that supports future features is also -included in this release. diff --git a/common/api-review/firestore-lite.api.md b/common/api-review/firestore-lite.api.md index 331b9dd2f36..b336e0d0c8b 100644 --- a/common/api-review/firestore-lite.api.md +++ b/common/api-review/firestore-lite.api.md @@ -140,16 +140,16 @@ export class DocumentSnapshot { export { EmulatorMockTokenOptions } // @public -export function endAt(snapshot: DocumentSnapshot): QueryEndAtConstraint; +export function endAt(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endAt(...fieldValues: unknown[]): QueryConstraint; // @public -export function endBefore(snapshot: DocumentSnapshot): QueryEndAtConstraint; +export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endBefore(...fieldValues: unknown[]): QueryConstraint; // @public export class FieldPath { @@ -222,10 +222,10 @@ export function increment(n: number): FieldValue; export function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore; // @public -export function limit(limit: number): QueryLimitConstraint; +export function limit(limit: number): QueryConstraint; // @public -export function limitToLast(limit: number): QueryLimitConstraint; +export function limitToLast(limit: number): QueryConstraint; export { LogLevel } @@ -235,7 +235,7 @@ export type NestedUpdateFields> = UnionToInter }[keyof T & string]>; // @public -export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint; +export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryConstraint; // @public export type OrderByDirection = 'desc' | 'asc'; @@ -275,32 +275,9 @@ export class QueryDocumentSnapshot extends DocumentSnapshot data(): T; } -// @public -export class QueryEndAtConstraint extends QueryConstraint { - readonly type: 'endBefore' | 'endAt'; -} - // @public export function queryEqual(left: Query, right: Query): boolean; -// @public -export class QueryFieldFilterConstraint extends QueryConstraint { - readonly type = "where"; -} - -// @public -export class QueryLimitConstraint extends QueryConstraint { - readonly type: 'limit' | 'limitToLast'; -} - -// @public -export type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint; - -// @public -export class QueryOrderByConstraint extends QueryConstraint { - readonly type = "orderBy"; -} - // @public export class QuerySnapshot { get docs(): Array>; @@ -310,11 +287,6 @@ export class QuerySnapshot { get size(): number; } -// @public -export class QueryStartAtConstraint extends QueryConstraint { - readonly type: 'startAt' | 'startAfter'; -} - // @public export function refEqual(left: DocumentReference | CollectionReference, right: DocumentReference | CollectionReference): boolean; @@ -351,16 +323,16 @@ export interface Settings { export function snapshotEqual(left: DocumentSnapshot | QuerySnapshot, right: DocumentSnapshot | QuerySnapshot): boolean; // @public -export function startAfter(snapshot: DocumentSnapshot): QueryStartAtConstraint; +export function startAfter(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAfter(...fieldValues: unknown[]): QueryConstraint; // @public -export function startAt(snapshot: DocumentSnapshot): QueryStartAtConstraint; +export function startAt(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAt(...fieldValues: unknown[]): QueryConstraint; // @public export function terminate(firestore: Firestore): Promise; @@ -416,7 +388,7 @@ export function updateDoc(reference: DocumentReference, data: UpdateData, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise; // @public -export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint; +export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryConstraint; // @public export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in'; diff --git a/common/api-review/firestore.api.md b/common/api-review/firestore.api.md index 5dd5742b318..d61b7730781 100644 --- a/common/api-review/firestore.api.md +++ b/common/api-review/firestore.api.md @@ -170,16 +170,16 @@ export function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promis export function enableNetwork(firestore: Firestore): Promise; // @public -export function endAt(snapshot: DocumentSnapshot): QueryEndAtConstraint; +export function endAt(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endAt(...fieldValues: unknown[]): QueryConstraint; // @public -export function endBefore(snapshot: DocumentSnapshot): QueryEndAtConstraint; +export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endBefore(...fieldValues: unknown[]): QueryConstraint; // @public export class FieldPath { @@ -298,10 +298,10 @@ export interface IndexField { export function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore; // @public -export function limit(limit: number): QueryLimitConstraint; +export function limit(limit: number): QueryConstraint; // @public -export function limitToLast(limit: number): QueryLimitConstraint; +export function limitToLast(limit: number): QueryConstraint; // @public export function loadBundle(firestore: Firestore, bundleData: ReadableStream | ArrayBuffer | string): LoadBundleTask; @@ -383,7 +383,7 @@ export function onSnapshotsInSync(firestore: Firestore, observer: { export function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe; // @public -export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint; +export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryConstraint; // @public export type OrderByDirection = 'desc' | 'asc'; @@ -428,32 +428,9 @@ export class QueryDocumentSnapshot extends DocumentSnapshot data(options?: SnapshotOptions): T; } -// @public -export class QueryEndAtConstraint extends QueryConstraint { - readonly type: 'endBefore' | 'endAt'; -} - // @public export function queryEqual(left: Query, right: Query): boolean; -// @public -export class QueryFieldFilterConstraint extends QueryConstraint { - readonly type = "where"; -} - -// @public -export class QueryLimitConstraint extends QueryConstraint { - readonly type: 'limit' | 'limitToLast'; -} - -// @public -export type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint; - -// @public -export class QueryOrderByConstraint extends QueryConstraint { - readonly type = "orderBy"; -} - // @public export class QuerySnapshot { docChanges(options?: SnapshotListenOptions): Array>; @@ -465,11 +442,6 @@ export class QuerySnapshot { get size(): number; } -// @public -export class QueryStartAtConstraint extends QueryConstraint { - readonly type: 'startAt' | 'startAfter'; -} - // @public export function refEqual(left: DocumentReference | CollectionReference, right: DocumentReference | CollectionReference): boolean; @@ -522,16 +494,16 @@ export interface SnapshotOptions { } // @public -export function startAfter(snapshot: DocumentSnapshot): QueryStartAtConstraint; +export function startAfter(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAfter(...fieldValues: unknown[]): QueryConstraint; // @public -export function startAt(snapshot: DocumentSnapshot): QueryStartAtConstraint; +export function startAt(snapshot: DocumentSnapshot): QueryConstraint; // @public -export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAt(...fieldValues: unknown[]): QueryConstraint; // @public export type TaskState = 'Error' | 'Running' | 'Success'; @@ -598,7 +570,7 @@ export function updateDoc(reference: DocumentReference, field: string | export function waitForPendingWrites(firestore: Firestore): Promise; // @public -export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint; +export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryConstraint; // @public export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in'; diff --git a/packages/database-compat/test/query.test.ts b/packages/database-compat/test/query.test.ts index a6bfd8703bb..76b57da3ff8 100644 --- a/packages/database-compat/test/query.test.ts +++ b/packages/database-compat/test/query.test.ts @@ -375,76 +375,34 @@ describe('Query Tests', () => { expect(queryId(path)).to.equal('default'); expect(queryId(path.startAt('pri', 'name'))).to.equal( - '{"sin":true,"sn":"name","sp":"pri"}' + '{"sn":"name","sp":"pri"}' ); expect(queryId(path.startAfter('pri', 'name'))).to.equal( - '{"sin":false,"sn":"name","sp":"pri"}' + '{"sn":"name-","sp":"pri"}' ); - expect(queryId(path.endAt('pri', 'name'))).to.equal( - '{"ein":true,"en":"name","ep":"pri"}' - ); - expect(queryId(path.endBefore('pri', 'name'))).to.equal( - '{"ein":false,"en":"name","ep":"pri"}' - ); - expect(queryId(path.startAt('spri').endAt('epri'))).to.equal( - '{"ein":true,"ep":"epri","sin":true,"sp":"spri"}' - ); - expect(queryId(path.startAt('spri').endBefore('epri'))).to.equal( - '{"ein":false,"en":"[MIN_NAME]","ep":"epri","sin":true,"sp":"spri"}' + '{"ep":"epri","sp":"spri"}' ); expect(queryId(path.startAfter('spri').endAt('epri'))).to.equal( - '{"ein":true,"ep":"epri","sin":false,"sn":"[MAX_NAME]","sp":"spri"}' - ); - expect(queryId(path.startAfter('spri').endBefore('epri'))).to.equal( - '{"ein":false,"en":"[MIN_NAME]","ep":"epri","sin":false,"sn":"[MAX_NAME]","sp":"spri"}' + '{"ep":"epri","sn":"[MAX_NAME]","sp":"spri"}' ); - expect( queryId(path.startAt('spri', 'sname').endAt('epri', 'ename')) - ).to.equal( - '{"ein":true,"en":"ename","ep":"epri","sin":true,"sn":"sname","sp":"spri"}' - ); - expect( - queryId(path.startAt('spri', 'sname').endBefore('epri', 'ename')) - ).to.equal( - '{"ein":false,"en":"ename","ep":"epri","sin":true,"sn":"sname","sp":"spri"}' - ); + ).to.equal('{"en":"ename","ep":"epri","sn":"sname","sp":"spri"}'); expect( queryId(path.startAfter('spri', 'sname').endAt('epri', 'ename')) - ).to.equal( - '{"ein":true,"en":"ename","ep":"epri","sin":false,"sn":"sname","sp":"spri"}' - ); - expect( - queryId(path.startAfter('spri', 'sname').endBefore('epri', 'ename')) - ).to.equal( - '{"ein":false,"en":"ename","ep":"epri","sin":false,"sn":"sname","sp":"spri"}' - ); - + ).to.equal('{"en":"ename","ep":"epri","sn":"sname-","sp":"spri"}'); expect(queryId(path.startAt('pri').limitToFirst(100))).to.equal( - '{"l":100,"sin":true,"sp":"pri","vf":"l"}' + '{"l":100,"sp":"pri","vf":"l"}' ); expect(queryId(path.startAfter('pri').limitToFirst(100))).to.equal( - '{"l":100,"sin":false,"sn":"[MAX_NAME]","sp":"pri","vf":"l"}' - ); - expect(queryId(path.endAt('pri').limitToLast(100))).to.equal( - '{"ein":true,"ep":"pri","l":100,"vf":"r"}' + '{"l":100,"sn":"[MAX_NAME]","sp":"pri","vf":"l"}' ); - expect(queryId(path.endBefore('pri').limitToLast(100))).to.equal( - '{"ein":false,"en":"[MIN_NAME]","ep":"pri","l":100,"vf":"r"}' - ); - expect(queryId(path.startAt('bar').orderByChild('foo'))).to.equal( - '{"i":"foo","sin":true,"sp":"bar"}' + '{"i":"foo","sp":"bar"}' ); expect(queryId(path.startAfter('bar').orderByChild('foo'))).to.equal( - '{"i":"foo","sin":false,"sn":"[MAX_NAME]","sp":"bar"}' - ); - expect(queryId(path.endAt('bar').orderByChild('foo'))).to.equal( - '{"ein":true,"ep":"bar","i":"foo"}' - ); - expect(queryId(path.endBefore('bar').orderByChild('foo'))).to.equal( - '{"ein":false,"en":"[MIN_NAME]","ep":"bar","i":"foo"}' + '{"i":"foo","sn":"[MAX_NAME]","sp":"bar"}' ); }); diff --git a/packages/database/src/core/view/QueryParams.ts b/packages/database/src/core/view/QueryParams.ts index e400ab26501..4deebec0531 100644 --- a/packages/database/src/core/view/QueryParams.ts +++ b/packages/database/src/core/view/QueryParams.ts @@ -22,6 +22,7 @@ import { KEY_INDEX } from '../snap/indexes/KeyIndex'; import { PathIndex } from '../snap/indexes/PathIndex'; import { PRIORITY_INDEX, PriorityIndex } from '../snap/indexes/PriorityIndex'; import { VALUE_INDEX } from '../snap/indexes/ValueIndex'; +import { predecessor, successor } from '../util/NextPushId'; import { MAX_NAME, MIN_NAME } from '../util/util'; import { IndexedFilter } from './filter/IndexedFilter'; @@ -35,10 +36,8 @@ import { RangedFilter } from './filter/RangedFilter'; const enum WIRE_PROTOCOL_CONSTANTS { INDEX_START_VALUE = 'sp', INDEX_START_NAME = 'sn', - INDEX_START_IS_INCLUSIVE = 'sin', INDEX_END_VALUE = 'ep', INDEX_END_NAME = 'en', - INDEX_END_IS_INCLUSIVE = 'ein', LIMIT = 'l', VIEW_FROM = 'vf', VIEW_FROM_LEFT = 'l', @@ -54,10 +53,8 @@ const enum REST_QUERY_CONSTANTS { PRIORITY_INDEX = '$priority', VALUE_INDEX = '$value', KEY_INDEX = '$key', - START_AFTER = 'startAfter', START_AT = 'startAt', END_AT = 'endAt', - END_BEFORE = 'endBefore', LIMIT_TO_FIRST = 'limitToFirst', LIMIT_TO_LAST = 'limitToLast' } @@ -73,10 +70,10 @@ export class QueryParams { limitSet_ = false; startSet_ = false; startNameSet_ = false; - startAfterSet_ = false; // can only be true if startSet_ is true + startAfterSet_ = false; endSet_ = false; endNameSet_ = false; - endBeforeSet_ = false; // can only be true if endSet_ is true + endBeforeSet_ = false; limit_ = 0; viewFrom_ = ''; indexStartValue_: unknown | null = null; @@ -89,6 +86,14 @@ export class QueryParams { return this.startSet_; } + hasStartAfter(): boolean { + return this.startAfterSet_; + } + + hasEndBefore(): boolean { + return this.endBeforeSet_; + } + /** * @returns True if it would return from left. */ @@ -186,12 +191,10 @@ export class QueryParams { copy.limitSet_ = this.limitSet_; copy.limit_ = this.limit_; copy.startSet_ = this.startSet_; - copy.startAfterSet_ = this.startAfterSet_; copy.indexStartValue_ = this.indexStartValue_; copy.startNameSet_ = this.startNameSet_; copy.indexStartName_ = this.indexStartName_; copy.endSet_ = this.endSet_; - copy.endBeforeSet_ = this.endBeforeSet_; copy.indexEndValue_ = this.indexEndValue_; copy.endNameSet_ = this.endNameSet_; copy.indexEndName_ = this.indexEndName_; @@ -271,10 +274,19 @@ export function queryParamsStartAfter( key?: string | null ): QueryParams { let params: QueryParams; - if (queryParams.index_ === KEY_INDEX || !!key) { + if (queryParams.index_ === KEY_INDEX) { + if (typeof indexValue === 'string') { + indexValue = successor(indexValue as string); + } params = queryParamsStartAt(queryParams, indexValue, key); } else { - params = queryParamsStartAt(queryParams, indexValue, MAX_NAME); + let childKey: string; + if (key == null) { + childKey = MAX_NAME; + } else { + childKey = successor(key); + } + params = queryParamsStartAt(queryParams, indexValue, childKey); } params.startAfterSet_ = true; return params; @@ -306,11 +318,20 @@ export function queryParamsEndBefore( indexValue: unknown, key?: string | null ): QueryParams { + let childKey: string; let params: QueryParams; - if (queryParams.index_ === KEY_INDEX || !!key) { + if (queryParams.index_ === KEY_INDEX) { + if (typeof indexValue === 'string') { + indexValue = predecessor(indexValue as string); + } params = queryParamsEndAt(queryParams, indexValue, key); } else { - params = queryParamsEndAt(queryParams, indexValue, MIN_NAME); + if (key == null) { + childKey = MIN_NAME; + } else { + childKey = predecessor(key); + } + params = queryParamsEndAt(queryParams, indexValue, childKey); } params.endBeforeSet_ = true; return params; @@ -353,22 +374,18 @@ export function queryParamsToRestQueryStringParameters( qs[REST_QUERY_CONSTANTS.ORDER_BY] = stringify(orderBy); if (queryParams.startSet_) { - const startParam = queryParams.startAfterSet_ - ? REST_QUERY_CONSTANTS.START_AFTER - : REST_QUERY_CONSTANTS.START_AT; - qs[startParam] = stringify(queryParams.indexStartValue_); + qs[REST_QUERY_CONSTANTS.START_AT] = stringify(queryParams.indexStartValue_); if (queryParams.startNameSet_) { - qs[startParam] += ',' + stringify(queryParams.indexStartName_); + qs[REST_QUERY_CONSTANTS.START_AT] += + ',' + stringify(queryParams.indexStartName_); } } if (queryParams.endSet_) { - const endParam = queryParams.endBeforeSet_ - ? REST_QUERY_CONSTANTS.END_BEFORE - : REST_QUERY_CONSTANTS.END_AT; - qs[endParam] = stringify(queryParams.indexEndValue_); + qs[REST_QUERY_CONSTANTS.END_AT] = stringify(queryParams.indexEndValue_); if (queryParams.endNameSet_) { - qs[endParam] += ',' + stringify(queryParams.indexEndName_); + qs[REST_QUERY_CONSTANTS.END_AT] += + ',' + stringify(queryParams.indexEndName_); } } @@ -394,16 +411,12 @@ export function queryParamsGetQueryObject( obj[WIRE_PROTOCOL_CONSTANTS.INDEX_START_NAME] = queryParams.indexStartName_; } - obj[WIRE_PROTOCOL_CONSTANTS.INDEX_START_IS_INCLUSIVE] = - !queryParams.startAfterSet_; } if (queryParams.endSet_) { obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_VALUE] = queryParams.indexEndValue_; if (queryParams.endNameSet_) { obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_NAME] = queryParams.indexEndName_; } - obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_IS_INCLUSIVE] = - !queryParams.endBeforeSet_; } if (queryParams.limitSet_) { obj[WIRE_PROTOCOL_CONSTANTS.LIMIT] = queryParams.limit_; diff --git a/packages/database/src/core/view/filter/LimitedFilter.ts b/packages/database/src/core/view/filter/LimitedFilter.ts index b4848a69b63..9fb74b4027d 100644 --- a/packages/database/src/core/view/filter/LimitedFilter.ts +++ b/packages/database/src/core/view/filter/LimitedFilter.ts @@ -46,17 +46,11 @@ export class LimitedFilter implements NodeFilter { private readonly reverse_: boolean; - private readonly startIsInclusive_: boolean; - - private readonly endIsInclusive_: boolean; - constructor(params: QueryParams) { this.rangedFilter_ = new RangedFilter(params); this.index_ = params.getIndex(); this.limit_ = params.getLimit(); this.reverse_ = !params.isViewFromLeft(); - this.startIsInclusive_ = !params.startAfterSet_; - this.endIsInclusive_ = !params.endBeforeSet_; } updateChild( snap: Node, @@ -125,15 +119,20 @@ export class LimitedFilter implements NodeFilter { let count = 0; while (iterator.hasNext() && count < this.limit_) { const next = iterator.getNext(); - if (!this.withinDirectionalStart(next)) { - // if we have not reached the start, skip to the next element - continue; - } else if (!this.withinDirectionalEnd(next)) { - // if we have reached the end, stop adding elements - break; + let inRange; + if (this.reverse_) { + inRange = + this.index_.compare(this.rangedFilter_.getStartPost(), next) <= 0; } else { + inRange = + this.index_.compare(next, this.rangedFilter_.getEndPost()) <= 0; + } + if (inRange) { filtered = filtered.updateImmediateChild(next.name, next.node); count++; + } else { + // if we have reached the end post, we cannot keep adding elemments + break; } } } else { @@ -143,21 +142,33 @@ export class LimitedFilter implements NodeFilter { filtered = filtered.updatePriority( ChildrenNode.EMPTY_NODE ) as ChildrenNode; - + let startPost; + let endPost; + let cmp; let iterator; if (this.reverse_) { iterator = filtered.getReverseIterator(this.index_); + startPost = this.rangedFilter_.getEndPost(); + endPost = this.rangedFilter_.getStartPost(); + const indexCompare = this.index_.getCompare(); + cmp = (a: NamedNode, b: NamedNode) => indexCompare(b, a); } else { iterator = filtered.getIterator(this.index_); + startPost = this.rangedFilter_.getStartPost(); + endPost = this.rangedFilter_.getEndPost(); + cmp = this.index_.getCompare(); } let count = 0; + let foundStartPost = false; while (iterator.hasNext()) { const next = iterator.getNext(); + if (!foundStartPost && cmp(startPost, next) <= 0) { + // start adding + foundStartPost = true; + } const inRange = - count < this.limit_ && - this.withinDirectionalStart(next) && - this.withinDirectionalEnd(next); + foundStartPost && count < this.limit_ && cmp(next, endPost) <= 0; if (inRange) { count++; } else { @@ -289,26 +300,4 @@ export class LimitedFilter implements NodeFilter { return snap; } } - - private withinDirectionalStart = (node: NamedNode) => - this.reverse_ ? this.withinEndPost(node) : this.withinStartPost(node); - - private withinDirectionalEnd = (node: NamedNode) => - this.reverse_ ? this.withinStartPost(node) : this.withinEndPost(node); - - private withinStartPost = (node: NamedNode) => { - const compareRes = this.index_.compare( - this.rangedFilter_.getStartPost(), - node - ); - return this.startIsInclusive_ ? compareRes <= 0 : compareRes < 0; - }; - - private withinEndPost = (node: NamedNode) => { - const compareRes = this.index_.compare( - node, - this.rangedFilter_.getEndPost() - ); - return this.endIsInclusive_ ? compareRes <= 0 : compareRes < 0; - }; } diff --git a/packages/database/src/core/view/filter/RangedFilter.ts b/packages/database/src/core/view/filter/RangedFilter.ts index cd917dfcc26..7311f1cc826 100644 --- a/packages/database/src/core/view/filter/RangedFilter.ts +++ b/packages/database/src/core/view/filter/RangedFilter.ts @@ -39,17 +39,11 @@ export class RangedFilter implements NodeFilter { private endPost_: NamedNode; - private startIsInclusive_: boolean; - - private endIsInclusive_: boolean; - constructor(params: QueryParams) { this.indexedFilter_ = new IndexedFilter(params.getIndex()); this.index_ = params.getIndex(); this.startPost_ = RangedFilter.getStartPost_(params); this.endPost_ = RangedFilter.getEndPost_(params); - this.startIsInclusive_ = !params.startAfterSet_; - this.endIsInclusive_ = !params.endBeforeSet_; } getStartPost(): NamedNode { @@ -61,13 +55,10 @@ export class RangedFilter implements NodeFilter { } matches(node: NamedNode): boolean { - const isWithinStart = this.startIsInclusive_ - ? this.index_.compare(this.getStartPost(), node) <= 0 - : this.index_.compare(this.getStartPost(), node) < 0; - const isWithinEnd = this.endIsInclusive_ - ? this.index_.compare(node, this.getEndPost()) <= 0 - : this.index_.compare(node, this.getEndPost()) < 0; - return isWithinStart && isWithinEnd; + return ( + this.index_.compare(this.getStartPost(), node) <= 0 && + this.index_.compare(node, this.getEndPost()) <= 0 + ); } updateChild( snap: Node, diff --git a/packages/database/test/helpers/syncPointSpec.json b/packages/database/test/helpers/syncPointSpec.json index 931193f02b7..f39d29d3a89 100644 --- a/packages/database/test/helpers/syncPointSpec.json +++ b/packages/database/test/helpers/syncPointSpec.json @@ -4179,249 +4179,6 @@ } ] }, - { - "name": "Queries with startAfter and endBefore work", - "steps": - [ - { - "type": "listen", - "path": "", - "params": { - "tag": 1, - "orderBy": "index", - "startAfter": { "index": 1 }, - "endBefore": { "index": 10 } - }, - "events": [] - }, - { - ".comment": "update from server sends all data", - "type": "serverUpdate", - "path": "", - "data": { - "a": { "index": 0, "value": "a" }, - "b": { "index": 2, "value": "b" }, - "c": { "index": 9, "value": "c" }, - "d": { "index": 11, "value": "d" } - }, - "events": [ - { - "path": "", - "type": "child_added", - "name": "b", - "prevName": null, - "data": { "index": 2, "value": "b" } - }, - { - "path": "", - "type": "child_added", - "name": "c", - "prevName": "b", - "data": { "index": 9, "value": "c" } - }, - { - "path": "", - "type": "value", - "data": { - "b": { "index": 2, "value": "b" }, - "c": { "index": 9, "value": "c" } - } - } - ] - }, - { - ".comment": "update from server to move child c out of query", - "type": "serverUpdate", - "path": "c/index", - "data": 10, - "events": [ - { - "path": "", - "type": "child_removed", - "name": "c", - "data": { "index": 9, "value": "c" } - }, - { - "path": "", - "type": "value", - "data": { - "b": { "index": 2, "value": "b" } - } - } - ] - }, - { - ".comment": "update from server to move child b out of window", - "type": "serverUpdate", - "path": "b/index", - "data": 1, - "events": [ - { - "path": "", - "type": "child_removed", - "name": "b", - "data": { "index": 2, "value": "b" } - }, - { - "path": "", - "type": "value", - "data": {} - } - ] - } - ] - }, - { - "name": "Queries with startAfter, endBefore, and orderByChild work", - "steps": - [ - { - "type": "listen", - "path": "", - "params": { - "tag": 1, - "orderBy": "foo/index", - "startAfter": { "index": 1, "name": "foo" }, - "endBefore": { "index": 10, "name": "foo" } - }, - "events": [] - }, - { - ".comment": "update from server sends all data", - "type": "serverUpdate", - "path": "", - "data": { - "a": { "foo": { "index": 0, "value": "a" } }, - "b": { "foo": { "index": 2, "value": "b" } }, - "c": { "foo": { "index": 9, "value": "c" } }, - "d": { "foo": { "index": 11, "value": "d" } } - }, - "events": [ - { - "path": "", - "type": "child_added", - "name": "b", - "prevName": null, - "data": { "foo": { "index": 2, "value": "b" } } - }, - { - "path": "", - "type": "child_added", - "name": "c", - "prevName": "b", - "data": { "foo": { "index": 9, "value": "c" } } - }, - { - "path": "", - "type": "value", - "data": { - "b": { "foo": { "index": 2, "value": "b" } }, - "c": { "foo": { "index": 9, "value": "c" } } - } - } - ] - } - ] - }, - { - "name": "Queries indexed by key with startAfter, endBefore, and limitToFirst work", - "steps": - [ - { - "type": "listen", - "path": "", - "params": { - "tag": 1, - "orderByKey": true, - "startAfter": { "index": "a" }, - "endBefore": { "index": "d" }, - "limitToFirst": 1 - }, - "events": [] - }, - { - ".comment": "update from server sends all data", - "type": "serverUpdate", - "path": "", - "data": { - "a": { ".value": "a" }, - "b": { ".value": "b" }, - "c": { ".value": "c" }, - "d": { ".value": "d" } - }, - "events": [ - { - "path": "", - "type": "child_added", - "name": "b", - "prevName": null, - "data": { ".value": "b" } - }, - { - "path": "", - "type": "value", - "data": { - "b": { ".value": "b" } - } - } - ] - } - ] - }, - { - "name": "Queries indexed by key with startAfter, endBefore, and limitToLast work", - "steps": - [ - { - "type": "listen", - "path": "", - "params": { - "tag": 1, - "orderByKey": true, - "startAfter": { "index": "a" }, - "endBefore": { "index": "e" }, - "limitToLast": 2 - }, - "events": [] - }, - { - ".comment": "update from server sends all data", - "type": "serverUpdate", - "path": "", - "data": { - "a": { ".value": "a" }, - "b": { ".value": "b" }, - "c": { ".value": "c" }, - "d": { ".value": "d" }, - "e": { ".value": "e" } - }, - "events": [ - { - "path": "", - "type": "child_added", - "name": "c", - "prevName": null, - "data": { ".value": "c" } - }, - { - "path": "", - "type": "child_added", - "name": "d", - "prevName": "c", - "data": { ".value": "d" } - }, - { - "path": "", - "type": "value", - "data": { - "c": { ".value": "c" }, - "d": { ".value": "d" } - } - } - ] - } - ] - }, { "name": "Update to single child that moves out of window", "steps": diff --git a/packages/database/test/helpers/syncpoint-util.ts b/packages/database/test/helpers/syncpoint-util.ts index 248f1b5eea9..4c28c55a9b2 100644 --- a/packages/database/test/helpers/syncpoint-util.ts +++ b/packages/database/test/helpers/syncpoint-util.ts @@ -31,11 +31,9 @@ import { ref, limitToFirst, limitToLast, - startAfter, startAt, equalTo, endAt, - endBefore, orderByChild, orderByKey, orderByPriority @@ -364,14 +362,10 @@ export class SyncPointTestParser { q = query(q, limitToFirst(paramValue)); } else if (paramName === 'limitToLast') { q = query(q, limitToLast(paramValue)); - } else if (paramName === 'startAfter') { - q = query(q, startAfter(paramValue.index, paramValue.name)); } else if (paramName === 'startAt') { q = query(q, startAt(paramValue.index, paramValue.name)); } else if (paramName === 'endAt') { q = query(q, endAt(paramValue.index, paramValue.name)); - } else if (paramName === 'endBefore') { - q = query(q, endBefore(paramValue.index, paramValue.name)); } else if (paramName === 'equalTo') { q = query(q, equalTo(paramValue.index, paramValue.name)); } else if (paramName === 'orderBy') { diff --git a/packages/firestore-compat/package.json b/packages/firestore-compat/package.json index befa6e56199..33c203b15a3 100644 --- a/packages/firestore-compat/package.json +++ b/packages/firestore-compat/package.json @@ -58,7 +58,7 @@ "rollup-plugin-typescript2": "0.31.2", "@rollup/plugin-node-resolve": "13.3.0", "ts-node": "10.9.1", - "typescript": "4.7.4" + "typescript": "4.2.2" }, "license": "Apache-2.0", "typings": "dist/src/index.d.ts", diff --git a/packages/firestore-compat/test/array_transforms.test.ts b/packages/firestore-compat/test/array_transforms.test.ts index e00aca091e9..02e3bc45601 100644 --- a/packages/firestore-compat/test/array_transforms.test.ts +++ b/packages/firestore-compat/test/array_transforms.test.ts @@ -189,8 +189,7 @@ apiDescribe('Array Transforms:', (persistence: boolean) => { let errCaught = false; try { await docRef.get({ source: 'cache' }); - } catch (e) { - const err = e as firestore.FirestoreError; + } catch (err) { expect(err.code).to.equal('unavailable'); errCaught = true; } diff --git a/packages/firestore-compat/test/transactions.test.ts b/packages/firestore-compat/test/transactions.test.ts index 0109ea62f93..5151d672b0a 100644 --- a/packages/firestore-compat/test/transactions.test.ts +++ b/packages/firestore-compat/test/transactions.test.ts @@ -116,8 +116,7 @@ apiDescribe('Database transactions', (persistence: boolean) => { const snapshot = await this.docRef.get(); expect(snapshot.exists).to.equal(true); expect(snapshot.data()).to.deep.equal(expected); - } catch (e) { - const err = e as firestore.FirestoreError; + } catch (err) { expect.fail( 'Expected the sequence (' + this.listStages(this.stages) + @@ -134,8 +133,7 @@ apiDescribe('Database transactions', (persistence: boolean) => { await this.runTransaction(); const snapshot = await this.docRef.get(); expect(snapshot.exists).to.equal(false); - } catch (e) { - const err = e as firestore.FirestoreError; + } catch (err) { expect.fail( 'Expected the sequence (' + this.listStages(this.stages) + @@ -152,9 +150,8 @@ apiDescribe('Database transactions', (persistence: boolean) => { await this.prepareDoc(); await this.runTransaction(); succeeded = true; - } catch (e) { - const err = e as firestore.FirestoreError; - expect(err.code).to.equal(expected); + } catch (err) { + expect((err as firestore.FirestoreError).code).to.equal(expected); } if (succeeded) { expect.fail( diff --git a/packages/firestore/lite/index.ts b/packages/firestore/lite/index.ts index 3cf337310df..5e3faa48e31 100644 --- a/packages/firestore/lite/index.ts +++ b/packages/firestore/lite/index.ts @@ -68,29 +68,19 @@ export { } from '../src/lite-api/reference'; export { - and, endAt, endBefore, startAt, startAfter, limit, limitToLast, - where, - or, orderBy, + OrderByDirection, + where, + WhereFilterOp, query, QueryConstraint, - QueryConstraintType, - QueryCompositeFilterConstraint, - QueryFilterConstraint, - QueryFieldFilterConstraint, - QueryOrderByConstraint, - QueryLimitConstraint, - QueryNonFilterConstraint, - QueryStartAtConstraint, - QueryEndAtConstraint, - OrderByDirection, - WhereFilterOp + QueryConstraintType } from '../src/lite-api/query'; export { diff --git a/packages/firestore/package.json b/packages/firestore/package.json index 3983f4e013b..ec2ba937eec 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -30,8 +30,6 @@ "test:all:ci": "run-p test:browser test:lite:browser test:travis", "test:all": "run-p test:browser test:lite:browser test:travis test:minified", "test:browser": "karma start --single-run", - "test:browser:emulator:debug": "karma start --browsers=Chrome --local", - "test:browser:emulator": "karma start --single-run --local", "test:browser:unit": "karma start --single-run --unit", "test:browser:debug": "karma start --browsers=Chrome --auto-watch", "test:node": "node ./scripts/run-tests.js --main=test/register.ts --emulator 'test/{,!(browser|lite)/**/}*.test.ts'", @@ -86,7 +84,7 @@ "@firebase/logger": "0.3.4", "@firebase/util": "1.7.3", "@firebase/webchannel-wrapper": "0.8.1", - "@grpc/grpc-js": "~1.7.0", + "@grpc/grpc-js": "^1.3.2", "@grpc/proto-loader": "^0.6.13", "node-fetch": "2.6.7", "tslib": "^2.1.0" @@ -113,7 +111,7 @@ "rollup-plugin-terser": "7.0.2", "rollup-plugin-typescript2": "0.31.2", "ts-node": "10.9.1", - "typescript": "4.7.4" + "typescript": "4.2.2" }, "repository": { "directory": "packages/firestore", diff --git a/packages/firestore/scripts/remove-asserts.js b/packages/firestore/scripts/remove-asserts.js index f6a3577ff0b..4df836c1832 100644 --- a/packages/firestore/scripts/remove-asserts.js +++ b/packages/firestore/scripts/remove-asserts.js @@ -14,4 +14,4 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */exports.__esModule=true;exports.removeAsserts=void 0;var ts=require("typescript");var ASSERT_LOCATION="packages/firestore/src/util/assert.ts";function removeAsserts(program){var removeAsserts=new RemoveAsserts(program.getTypeChecker());return function(context){return function(file){return removeAsserts.visitNodeAndChildren(file,context)}}}exports.removeAsserts=removeAsserts;var RemoveAsserts=function(){function RemoveAsserts(typeChecker){this.typeChecker=typeChecker}RemoveAsserts.prototype.visitNodeAndChildren=function(node,context){var _this=this;return ts.visitEachChild(this.visitNode(node),(function(childNode){return _this.visitNodeAndChildren(childNode,context)}),context)};RemoveAsserts.prototype.visitNode=function(node){var updatedNode=null;if(ts.isCallExpression(node)){var signature=this.typeChecker.getResolvedSignature(node);if(signature&&signature.declaration&&signature.declaration.kind===ts.SyntaxKind.FunctionDeclaration){var declaration=signature.declaration;if(declaration&&declaration.getSourceFile().fileName.indexOf(ASSERT_LOCATION)>=0){var method=declaration.name.text;if(method==="debugAssert"){updatedNode=ts.createOmittedExpression()}else if(method==="hardAssert"){updatedNode=ts.createCall(declaration.name,undefined,[node.arguments[0]])}else if(method==="fail"){updatedNode=ts.createCall(declaration.name,undefined,[])}}}}if(updatedNode){ts.setSourceMapRange(updatedNode,ts.getSourceMapRange(node));return updatedNode}else{return node}};return RemoveAsserts}(); + */exports.__esModule=true;exports.removeAsserts=void 0;var ts=require("typescript");var ASSERT_LOCATION="packages/firestore/src/util/assert.ts";function removeAsserts(program){var removeAsserts=new RemoveAsserts(program.getTypeChecker());return function(context){return function(file){return removeAsserts.visitNodeAndChildren(file,context)}}}exports.removeAsserts=removeAsserts;var RemoveAsserts=function(){function RemoveAsserts(typeChecker){this.typeChecker=typeChecker}RemoveAsserts.prototype.visitNodeAndChildren=function(node,context){var _this=this;return ts.visitEachChild(this.visitNode(node),(function(childNode){return _this.visitNodeAndChildren(childNode,context)}),context)};RemoveAsserts.prototype.visitNode=function(node){var updatedNode=null;if(ts.isCallExpression(node)){var signature=this.typeChecker.getResolvedSignature(node);if(signature&&signature.declaration&&signature.declaration.kind===ts.SyntaxKind.FunctionDeclaration){var declaration=signature.declaration;if(declaration&&declaration.getSourceFile().fileName.indexOf(ASSERT_LOCATION)>=0){var method=declaration.name.text;if(method==="debugAssert"){updatedNode=ts.createEmptyStatement()}else if(method==="hardAssert"){updatedNode=ts.createCall(declaration.name,undefined,[node.arguments[0]])}else if(method==="fail"){updatedNode=ts.createCall(declaration.name,undefined,[])}}}}if(updatedNode){ts.setSourceMapRange(updatedNode,ts.getSourceMapRange(node));return updatedNode}else{return node}};return RemoveAsserts}(); \ No newline at end of file diff --git a/packages/firestore/scripts/remove-asserts.ts b/packages/firestore/scripts/remove-asserts.ts index f195f7bd2ab..7fcb9d1b877 100644 --- a/packages/firestore/scripts/remove-asserts.ts +++ b/packages/firestore/scripts/remove-asserts.ts @@ -64,7 +64,7 @@ class RemoveAsserts { ) { const method = declaration.name!.text; if (method === 'debugAssert') { - updatedNode = ts.createOmittedExpression(); + updatedNode = ts.createEmptyStatement(); } else if (method === 'hardAssert') { // Remove the log message but keep the assertion updatedNode = ts.createCall( diff --git a/packages/firestore/src/api.ts b/packages/firestore/src/api.ts index 2742195eecd..f05db09f568 100644 --- a/packages/firestore/src/api.ts +++ b/packages/firestore/src/api.ts @@ -85,7 +85,6 @@ export { } from './api/reference'; export { - and, endAt, endBefore, startAt, @@ -93,19 +92,10 @@ export { limit, limitToLast, where, - or, orderBy, query, QueryConstraint, QueryConstraintType, - QueryCompositeFilterConstraint, - QueryFilterConstraint, - QueryFieldFilterConstraint, - QueryOrderByConstraint, - QueryLimitConstraint, - QueryNonFilterConstraint, - QueryStartAtConstraint, - QueryEndAtConstraint, OrderByDirection, WhereFilterOp } from './api/filter'; diff --git a/packages/firestore/src/api/filter.ts b/packages/firestore/src/api/filter.ts index 035aca66aba..b8a7cc90720 100644 --- a/packages/firestore/src/api/filter.ts +++ b/packages/firestore/src/api/filter.ts @@ -16,27 +16,17 @@ */ export { - and, endAt, endBefore, startAfter, startAt, limitToLast, limit, - or, orderBy, OrderByDirection, where, WhereFilterOp, query, - QueryCompositeFilterConstraint, QueryConstraint, - QueryConstraintType, - QueryFilterConstraint, - QueryFieldFilterConstraint, - QueryOrderByConstraint, - QueryLimitConstraint, - QueryStartAtConstraint, - QueryEndAtConstraint, - QueryNonFilterConstraint + QueryConstraintType } from '../lite-api/query'; diff --git a/packages/firestore/src/core/bound.ts b/packages/firestore/src/core/bound.ts deleted file mode 100644 index 20b688fa7e1..00000000000 --- a/packages/firestore/src/core/bound.ts +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Document } from '../model/document'; -import { DocumentKey } from '../model/document_key'; -import { isReferenceValue, valueCompare, valueEquals } from '../model/values'; -import { Value as ProtoValue } from '../protos/firestore_proto_api'; -import { debugAssert } from '../util/assert'; - -import { Direction, OrderBy } from './order_by'; - -/** - * Represents a bound of a query. - * - * The bound is specified with the given components representing a position and - * whether it's just before or just after the position (relative to whatever the - * query order is). - * - * The position represents a logical index position for a query. It's a prefix - * of values for the (potentially implicit) order by clauses of a query. - * - * Bound provides a function to determine whether a document comes before or - * after a bound. This is influenced by whether the position is just before or - * just after the provided values. - */ -export class Bound { - constructor(readonly position: ProtoValue[], readonly inclusive: boolean) {} -} - -function boundCompareToDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): number { - debugAssert( - bound.position.length <= orderBy.length, - "Bound has more components than query's orderBy" - ); - let comparison = 0; - for (let i = 0; i < bound.position.length; i++) { - const orderByComponent = orderBy[i]; - const component = bound.position[i]; - if (orderByComponent.field.isKeyField()) { - debugAssert( - isReferenceValue(component), - 'Bound has a non-key value where the key path is being used.' - ); - comparison = DocumentKey.comparator( - DocumentKey.fromName(component.referenceValue), - doc.key - ); - } else { - const docValue = doc.data.field(orderByComponent.field); - debugAssert( - docValue !== null, - 'Field should exist since document matched the orderBy already.' - ); - comparison = valueCompare(component, docValue); - } - if (orderByComponent.dir === Direction.DESCENDING) { - comparison = comparison * -1; - } - if (comparison !== 0) { - break; - } - } - return comparison; -} - -/** - * Returns true if a document sorts after a bound using the provided sort - * order. - */ -export function boundSortsAfterDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): boolean { - const comparison = boundCompareToDocument(bound, orderBy, doc); - return bound.inclusive ? comparison >= 0 : comparison > 0; -} - -/** - * Returns true if a document sorts before a bound using the provided sort - * order. - */ -export function boundSortsBeforeDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): boolean { - const comparison = boundCompareToDocument(bound, orderBy, doc); - return bound.inclusive ? comparison <= 0 : comparison < 0; -} - -export function boundEquals(left: Bound | null, right: Bound | null): boolean { - if (left === null) { - return right === null; - } else if (right === null) { - return false; - } - - if ( - left.inclusive !== right.inclusive || - left.position.length !== right.position.length - ) { - return false; - } - for (let i = 0; i < left.position.length; i++) { - const leftPosition = left.position[i]; - const rightPosition = right.position[i]; - if (!valueEquals(leftPosition, rightPosition)) { - return false; - } - } - return true; -} diff --git a/packages/firestore/src/core/filter.ts b/packages/firestore/src/core/filter.ts deleted file mode 100644 index 4322c926658..00000000000 --- a/packages/firestore/src/core/filter.ts +++ /dev/null @@ -1,543 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Document } from '../model/document'; -import { DocumentKey } from '../model/document_key'; -import { FieldPath } from '../model/path'; -import { - arrayValueContains, - canonicalId, - isArray, - isReferenceValue, - typeOrder, - valueCompare, - valueEquals -} from '../model/values'; -import { Value as ProtoValue } from '../protos/firestore_proto_api'; -import { debugAssert, fail } from '../util/assert'; - -// The operator of a FieldFilter -export const enum Operator { - LESS_THAN = '<', - LESS_THAN_OR_EQUAL = '<=', - EQUAL = '==', - NOT_EQUAL = '!=', - GREATER_THAN = '>', - GREATER_THAN_OR_EQUAL = '>=', - ARRAY_CONTAINS = 'array-contains', - IN = 'in', - NOT_IN = 'not-in', - ARRAY_CONTAINS_ANY = 'array-contains-any' -} - -// The operator of a CompositeFilter -export const enum CompositeOperator { - OR = 'or', - AND = 'and' -} - -export abstract class Filter { - abstract matches(doc: Document): boolean; - - abstract getFlattenedFilters(): readonly FieldFilter[]; - - abstract getFilters(): Filter[]; - - abstract getFirstInequalityField(): FieldPath | null; -} - -export class FieldFilter extends Filter { - protected constructor( - public readonly field: FieldPath, - public readonly op: Operator, - public readonly value: ProtoValue - ) { - super(); - } - - /** - * Creates a filter based on the provided arguments. - */ - static create( - field: FieldPath, - op: Operator, - value: ProtoValue - ): FieldFilter { - if (field.isKeyField()) { - if (op === Operator.IN || op === Operator.NOT_IN) { - return this.createKeyFieldInFilter(field, op, value); - } else { - debugAssert( - isReferenceValue(value), - 'Comparing on key, but filter value not a RefValue' - ); - debugAssert( - op !== Operator.ARRAY_CONTAINS && op !== Operator.ARRAY_CONTAINS_ANY, - `'${op.toString()}' queries don't make sense on document keys.` - ); - return new KeyFieldFilter(field, op, value); - } - } else if (op === Operator.ARRAY_CONTAINS) { - return new ArrayContainsFilter(field, value); - } else if (op === Operator.IN) { - debugAssert( - isArray(value), - 'IN filter has invalid value: ' + value.toString() - ); - return new InFilter(field, value); - } else if (op === Operator.NOT_IN) { - debugAssert( - isArray(value), - 'NOT_IN filter has invalid value: ' + value.toString() - ); - return new NotInFilter(field, value); - } else if (op === Operator.ARRAY_CONTAINS_ANY) { - debugAssert( - isArray(value), - 'ARRAY_CONTAINS_ANY filter has invalid value: ' + value.toString() - ); - return new ArrayContainsAnyFilter(field, value); - } else { - return new FieldFilter(field, op, value); - } - } - - private static createKeyFieldInFilter( - field: FieldPath, - op: Operator.IN | Operator.NOT_IN, - value: ProtoValue - ): FieldFilter { - debugAssert( - isArray(value), - `Comparing on key with ${op.toString()}` + - ', but filter value not an ArrayValue' - ); - debugAssert( - (value.arrayValue.values || []).every(elem => isReferenceValue(elem)), - `Comparing on key with ${op.toString()}` + - ', but an array value was not a RefValue' - ); - - return op === Operator.IN - ? new KeyFieldInFilter(field, value) - : new KeyFieldNotInFilter(field, value); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - // Types do not have to match in NOT_EQUAL filters. - if (this.op === Operator.NOT_EQUAL) { - return ( - other !== null && - this.matchesComparison(valueCompare(other!, this.value)) - ); - } - - // Only compare types with matching backend order (such as double and int). - return ( - other !== null && - typeOrder(this.value) === typeOrder(other) && - this.matchesComparison(valueCompare(other, this.value)) - ); - } - - protected matchesComparison(comparison: number): boolean { - switch (this.op) { - case Operator.LESS_THAN: - return comparison < 0; - case Operator.LESS_THAN_OR_EQUAL: - return comparison <= 0; - case Operator.EQUAL: - return comparison === 0; - case Operator.NOT_EQUAL: - return comparison !== 0; - case Operator.GREATER_THAN: - return comparison > 0; - case Operator.GREATER_THAN_OR_EQUAL: - return comparison >= 0; - default: - return fail('Unknown FieldFilter operator: ' + this.op); - } - } - - isInequality(): boolean { - return ( - [ - Operator.LESS_THAN, - Operator.LESS_THAN_OR_EQUAL, - Operator.GREATER_THAN, - Operator.GREATER_THAN_OR_EQUAL, - Operator.NOT_EQUAL, - Operator.NOT_IN - ].indexOf(this.op) >= 0 - ); - } - - getFlattenedFilters(): readonly FieldFilter[] { - return [this]; - } - - getFilters(): Filter[] { - return [this]; - } - - getFirstInequalityField(): FieldPath | null { - if (this.isInequality()) { - return this.field; - } - return null; - } -} - -export class CompositeFilter extends Filter { - private memoizedFlattenedFilters: FieldFilter[] | null = null; - - protected constructor( - public readonly filters: readonly Filter[], - public readonly op: CompositeOperator - ) { - super(); - } - - /** - * Creates a filter based on the provided arguments. - */ - static create(filters: Filter[], op: CompositeOperator): CompositeFilter { - return new CompositeFilter(filters, op); - } - - matches(doc: Document): boolean { - if (compositeFilterIsConjunction(this)) { - // For conjunctions, all filters must match, so return false if any filter doesn't match. - return this.filters.find(filter => !filter.matches(doc)) === undefined; - } else { - // For disjunctions, at least one filter should match. - return this.filters.find(filter => filter.matches(doc)) !== undefined; - } - } - - getFlattenedFilters(): readonly FieldFilter[] { - if (this.memoizedFlattenedFilters !== null) { - return this.memoizedFlattenedFilters; - } - - this.memoizedFlattenedFilters = this.filters.reduce((result, subfilter) => { - return result.concat(subfilter.getFlattenedFilters()); - }, [] as FieldFilter[]); - - return this.memoizedFlattenedFilters; - } - - // Returns a mutable copy of `this.filters` - getFilters(): Filter[] { - return Object.assign([], this.filters); - } - - getFirstInequalityField(): FieldPath | null { - const found = this.findFirstMatchingFilter(filter => filter.isInequality()); - - if (found !== null) { - return found.field; - } - return null; - } - - // Performs a depth-first search to find and return the first FieldFilter in the composite filter - // that satisfies the predicate. Returns `null` if none of the FieldFilters satisfy the - // predicate. - private findFirstMatchingFilter( - predicate: (filter: FieldFilter) => boolean - ): FieldFilter | null { - for (const fieldFilter of this.getFlattenedFilters()) { - if (predicate(fieldFilter)) { - return fieldFilter; - } - } - - return null; - } -} - -export function compositeFilterIsConjunction( - compositeFilter: CompositeFilter -): boolean { - return compositeFilter.op === CompositeOperator.AND; -} - -export function compositeFilterIsDisjunction( - compositeFilter: CompositeFilter -): boolean { - return compositeFilter.op === CompositeOperator.OR; -} - -/** - * Returns true if this filter is a conjunction of field filters only. Returns false otherwise. - */ -export function compositeFilterIsFlatConjunction( - compositeFilter: CompositeFilter -): boolean { - return ( - compositeFilterIsFlat(compositeFilter) && - compositeFilterIsConjunction(compositeFilter) - ); -} - -/** - * Returns true if this filter does not contain any composite filters. Returns false otherwise. - */ -export function compositeFilterIsFlat( - compositeFilter: CompositeFilter -): boolean { - for (const filter of compositeFilter.filters) { - if (filter instanceof CompositeFilter) { - return false; - } - } - return true; -} - -export function canonifyFilter(filter: Filter): string { - debugAssert( - filter instanceof FieldFilter || filter instanceof CompositeFilter, - 'canonifyFilter() only supports FieldFilters and CompositeFilters' - ); - - if (filter instanceof FieldFilter) { - // TODO(b/29183165): Technically, this won't be unique if two values have - // the same description, such as the int 3 and the string "3". So we should - // add the types in here somehow, too. - return ( - filter.field.canonicalString() + - filter.op.toString() + - canonicalId(filter.value) - ); - } else { - // filter instanceof CompositeFilter - const canonicalIdsString = filter.filters - .map(filter => canonifyFilter(filter)) - .join(','); - return `${filter.op}(${canonicalIdsString})`; - } -} - -export function filterEquals(f1: Filter, f2: Filter): boolean { - if (f1 instanceof FieldFilter) { - return fieldFilterEquals(f1, f2); - } else if (f1 instanceof CompositeFilter) { - return compositeFilterEquals(f1, f2); - } else { - fail('Only FieldFilters and CompositeFilters can be compared'); - } -} - -export function fieldFilterEquals(f1: FieldFilter, f2: Filter): boolean { - return ( - f2 instanceof FieldFilter && - f1.op === f2.op && - f1.field.isEqual(f2.field) && - valueEquals(f1.value, f2.value) - ); -} - -export function compositeFilterEquals( - f1: CompositeFilter, - f2: Filter -): boolean { - if ( - f2 instanceof CompositeFilter && - f1.op === f2.op && - f1.filters.length === f2.filters.length - ) { - const subFiltersMatch: boolean = f1.filters.reduce( - (result: boolean, f1Filter: Filter, index: number): boolean => - result && filterEquals(f1Filter, f2.filters[index]), - true - ); - - return subFiltersMatch; - } - - return false; -} - -/** - * Returns a new composite filter that contains all filter from - * `compositeFilter` plus all the given filters in `otherFilters`. - */ -export function compositeFilterWithAddedFilters( - compositeFilter: CompositeFilter, - otherFilters: Filter[] -): CompositeFilter { - const mergedFilters = compositeFilter.filters.concat(otherFilters); - return CompositeFilter.create(mergedFilters, compositeFilter.op); -} - -/** Returns a debug description for `filter`. */ -export function stringifyFilter(filter: Filter): string { - debugAssert( - filter instanceof FieldFilter || filter instanceof CompositeFilter, - 'stringifyFilter() only supports FieldFilters and CompositeFilters' - ); - if (filter instanceof FieldFilter) { - return stringifyFieldFilter(filter); - } else if (filter instanceof CompositeFilter) { - return stringifyCompositeFilter(filter); - } else { - return 'Filter'; - } -} - -export function stringifyCompositeFilter(filter: CompositeFilter): string { - return ( - filter.op.toString() + - ` {` + - filter.getFilters().map(stringifyFilter).join(' ,') + - '}' - ); -} - -export function stringifyFieldFilter(filter: FieldFilter): string { - return `${filter.field.canonicalString()} ${filter.op} ${canonicalId( - filter.value - )}`; -} - -/** Filter that matches on key fields (i.e. '__name__'). */ -export class KeyFieldFilter extends FieldFilter { - private readonly key: DocumentKey; - - constructor(field: FieldPath, op: Operator, value: ProtoValue) { - super(field, op, value); - debugAssert( - isReferenceValue(value), - 'KeyFieldFilter expects a ReferenceValue' - ); - this.key = DocumentKey.fromName(value.referenceValue); - } - - matches(doc: Document): boolean { - const comparison = DocumentKey.comparator(doc.key, this.key); - return this.matchesComparison(comparison); - } -} - -/** Filter that matches on key fields within an array. */ -export class KeyFieldInFilter extends FieldFilter { - private readonly keys: DocumentKey[]; - - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.IN, value); - this.keys = extractDocumentKeysFromArrayValue(Operator.IN, value); - } - - matches(doc: Document): boolean { - return this.keys.some(key => key.isEqual(doc.key)); - } -} - -/** Filter that matches on key fields not present within an array. */ -export class KeyFieldNotInFilter extends FieldFilter { - private readonly keys: DocumentKey[]; - - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.NOT_IN, value); - this.keys = extractDocumentKeysFromArrayValue(Operator.NOT_IN, value); - } - - matches(doc: Document): boolean { - return !this.keys.some(key => key.isEqual(doc.key)); - } -} - -function extractDocumentKeysFromArrayValue( - op: Operator.IN | Operator.NOT_IN, - value: ProtoValue -): DocumentKey[] { - debugAssert( - isArray(value), - 'KeyFieldInFilter/KeyFieldNotInFilter expects an ArrayValue' - ); - return (value.arrayValue?.values || []).map(v => { - debugAssert( - isReferenceValue(v), - `Comparing on key with ${op.toString()}, but an array value was not ` + - `a ReferenceValue` - ); - return DocumentKey.fromName(v.referenceValue); - }); -} - -/** A Filter that implements the array-contains operator. */ -export class ArrayContainsFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.ARRAY_CONTAINS, value); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - return isArray(other) && arrayValueContains(other.arrayValue, this.value); - } -} - -/** A Filter that implements the IN operator. */ -export class InFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.IN, value); - debugAssert(isArray(value), 'InFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - return other !== null && arrayValueContains(this.value.arrayValue!, other); - } -} - -/** A Filter that implements the not-in operator. */ -export class NotInFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.NOT_IN, value); - debugAssert(isArray(value), 'NotInFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - if ( - arrayValueContains(this.value.arrayValue!, { nullValue: 'NULL_VALUE' }) - ) { - return false; - } - const other = doc.data.field(this.field); - return other !== null && !arrayValueContains(this.value.arrayValue!, other); - } -} - -/** A Filter that implements the array-contains-any operator. */ -export class ArrayContainsAnyFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.ARRAY_CONTAINS_ANY, value); - debugAssert(isArray(value), 'ArrayContainsAnyFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - if (!isArray(other) || !other.arrayValue.values) { - return false; - } - return other.arrayValue.values.some(val => - arrayValueContains(this.value.arrayValue!, val) - ); - } -} diff --git a/packages/firestore/src/core/order_by.ts b/packages/firestore/src/core/order_by.ts deleted file mode 100644 index 5685b1eb2c3..00000000000 --- a/packages/firestore/src/core/order_by.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { FieldPath } from '../model/path'; - -/** - * The direction of sorting in an order by. - */ -export const enum Direction { - ASCENDING = 'asc', - DESCENDING = 'desc' -} - -/** - * An ordering on a field, in some Direction. Direction defaults to ASCENDING. - */ -export class OrderBy { - constructor( - readonly field: FieldPath, - readonly dir: Direction = Direction.ASCENDING - ) {} -} - -export function canonifyOrderBy(orderBy: OrderBy): string { - // TODO(b/29183165): Make this collision robust. - return orderBy.field.canonicalString() + orderBy.dir; -} - -export function stringifyOrderBy(orderBy: OrderBy): string { - return `${orderBy.field.canonicalString()} (${orderBy.dir})`; -} - -export function orderByEquals(left: OrderBy, right: OrderBy): boolean { - return left.dir === right.dir && left.field.isEqual(right.field); -} diff --git a/packages/firestore/src/core/query.ts b/packages/firestore/src/core/query.ts index 310f7f6ac4b..2b4fca74c3a 100644 --- a/packages/firestore/src/core/query.ts +++ b/packages/firestore/src/core/query.ts @@ -22,17 +22,18 @@ import { debugAssert, debugCast, fail } from '../util/assert'; import { Bound, - boundSortsAfterDocument, - boundSortsBeforeDocument -} from './bound'; -import { CompositeFilter, Filter } from './filter'; -import { Direction, OrderBy } from './order_by'; -import { canonifyTarget, + Direction, + FieldFilter, + Filter, newTarget, + Operator, + OrderBy, + boundSortsBeforeDocument, stringifyTarget, Target, - targetEquals + targetEquals, + boundSortsAfterDocument } from './target'; export const enum LimitType { @@ -165,13 +166,6 @@ export function queryMatchesAllDocuments(query: Query): boolean { ); } -export function queryContainsCompositeFilters(query: Query): boolean { - return ( - query.filters.find(filter => filter instanceof CompositeFilter) !== - undefined - ); -} - export function getFirstOrderByField(query: Query): FieldPath | null { return query.explicitOrderBy.length > 0 ? query.explicitOrderBy[0].field @@ -180,12 +174,34 @@ export function getFirstOrderByField(query: Query): FieldPath | null { export function getInequalityFilterField(query: Query): FieldPath | null { for (const filter of query.filters) { - const result = filter.getFirstInequalityField(); - if (result !== null) { - return result; + debugAssert( + filter instanceof FieldFilter, + 'Only FieldFilters are supported' + ); + if (filter.isInequality()) { + return filter.field; } } + return null; +} +/** + * Checks if any of the provided Operators are included in the query and + * returns the first one that is, or null if none are. + */ +export function findFilterOperator( + query: Query, + operators: Operator[] +): Operator | null { + for (const filter of query.filters) { + debugAssert( + filter instanceof FieldFilter, + 'Only FieldFilters are supported' + ); + if (operators.indexOf(filter.op) >= 0) { + return filter.op; + } + } return null; } @@ -321,13 +337,11 @@ export function queryToTarget(query: Query): Target { } export function queryWithAddedFilter(query: Query, filter: Filter): Query { - const newInequalityField = filter.getFirstInequalityField(); - const queryInequalityField = getInequalityFilterField(query); - debugAssert( - queryInequalityField == null || - newInequalityField == null || - newInequalityField.isEqual(queryInequalityField), + getInequalityFilterField(query) == null || + !(filter instanceof FieldFilter) || + !filter.isInequality() || + filter.field.isEqual(getInequalityFilterField(query)!), 'Query must only have one inequality field.' ); @@ -468,13 +482,7 @@ function queryMatchesPathAndCollectionGroup( * in the results. */ function queryMatchesOrderBy(query: Query, doc: Document): boolean { - // We must use `queryOrderBy()` to get the list of all orderBys (both implicit and explicit). - // Note that for OR queries, orderBy applies to all disjunction terms and implicit orderBys must - // be taken into account. For example, the query "a > 1 || b==1" has an implicit "orderBy a" due - // to the inequality, and is evaluated as "a > 1 orderBy a || b==1 orderBy a". - // A document with content of {b:1} matches the filters, but does not match the orderBy because - // it's missing the field 'a'. - for (const orderBy of queryOrderBy(query)) { + for (const orderBy of query.explicitOrderBy) { // order by key always matches if (!orderBy.field.isKeyField() && doc.data.field(orderBy.field) === null) { return false; diff --git a/packages/firestore/src/core/target.ts b/packages/firestore/src/core/target.ts index 4b12857fc2a..72a760a4529 100644 --- a/packages/firestore/src/core/target.ts +++ b/packages/firestore/src/core/target.ts @@ -15,6 +15,7 @@ * limitations under the License. */ +import { Document } from '../model/document'; import { DocumentKey } from '../model/document_key'; import { FieldIndex, @@ -24,35 +25,25 @@ import { } from '../model/field_index'; import { FieldPath, ResourcePath } from '../model/path'; import { + arrayValueContains, canonicalId, + isArray, + isReferenceValue, MAX_VALUE, MIN_VALUE, lowerBoundCompare, + typeOrder, upperBoundCompare, + valueCompare, + valueEquals, valuesGetLowerBound, valuesGetUpperBound } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; -import { debugCast } from '../util/assert'; +import { debugAssert, debugCast, fail } from '../util/assert'; import { SortedSet } from '../util/sorted_set'; import { isNullOrUndefined } from '../util/types'; -import { Bound, boundEquals } from './bound'; -import { - Filter, - FieldFilter, - canonifyFilter, - stringifyFilter, - filterEquals, - Operator -} from './filter'; -import { - canonifyOrderBy, - OrderBy, - orderByEquals, - stringifyOrderBy -} from './order_by'; - /** * A Target represents the WatchTarget representation of a Query, which is used * by the LocalStore and the RemoteStore to keep track of and to execute @@ -509,25 +500,26 @@ export function targetGetSegmentCount(target: Target): number { let hasArraySegment = false; for (const filter of target.filters) { - for (const subFilter of filter.getFlattenedFilters()) { - // __name__ is not an explicit segment of any index, so we don't need to - // count it. - if (subFilter.field.isKeyField()) { - continue; - } + // TODO(orquery): Use the flattened filters here + const fieldFilter = filter as FieldFilter; - // ARRAY_CONTAINS or ARRAY_CONTAINS_ANY filters must be counted separately. - // For instance, it is possible to have an index for "a ARRAY a ASC". Even - // though these are on the same field, they should be counted as two - // separate segments in an index. - if ( - subFilter.op === Operator.ARRAY_CONTAINS || - subFilter.op === Operator.ARRAY_CONTAINS_ANY - ) { - hasArraySegment = true; - } else { - fields = fields.add(subFilter.field); - } + // __name__ is not an explicit segment of any index, so we don't need to + // count it. + if (fieldFilter.field.isKeyField()) { + continue; + } + + // ARRAY_CONTAINS or ARRAY_CONTAINS_ANY filters must be counted separately. + // For instance, it is possible to have an index for "a ARRAY a ASC". Even + // though these are on the same field, they should be counted as two + // separate segments in an index. + if ( + fieldFilter.op === Operator.ARRAY_CONTAINS || + fieldFilter.op === Operator.ARRAY_CONTAINS_ANY + ) { + hasArraySegment = true; + } else { + fields = fields.add(fieldFilter.field); } } @@ -542,6 +534,450 @@ export function targetGetSegmentCount(target: Target): number { return fields.size + (hasArraySegment ? 1 : 0); } -export function targetHasLimit(target: Target): boolean { - return target.limit !== null; +export abstract class Filter { + abstract matches(doc: Document): boolean; +} + +export const enum Operator { + LESS_THAN = '<', + LESS_THAN_OR_EQUAL = '<=', + EQUAL = '==', + NOT_EQUAL = '!=', + GREATER_THAN = '>', + GREATER_THAN_OR_EQUAL = '>=', + ARRAY_CONTAINS = 'array-contains', + IN = 'in', + NOT_IN = 'not-in', + ARRAY_CONTAINS_ANY = 'array-contains-any' +} + +/** + * The direction of sorting in an order by. + */ +export const enum Direction { + ASCENDING = 'asc', + DESCENDING = 'desc' +} + +export class FieldFilter extends Filter { + protected constructor( + public field: FieldPath, + public op: Operator, + public value: ProtoValue + ) { + super(); + } + + /** + * Creates a filter based on the provided arguments. + */ + static create( + field: FieldPath, + op: Operator, + value: ProtoValue + ): FieldFilter { + if (field.isKeyField()) { + if (op === Operator.IN || op === Operator.NOT_IN) { + return this.createKeyFieldInFilter(field, op, value); + } else { + debugAssert( + isReferenceValue(value), + 'Comparing on key, but filter value not a RefValue' + ); + debugAssert( + op !== Operator.ARRAY_CONTAINS && op !== Operator.ARRAY_CONTAINS_ANY, + `'${op.toString()}' queries don't make sense on document keys.` + ); + return new KeyFieldFilter(field, op, value); + } + } else if (op === Operator.ARRAY_CONTAINS) { + return new ArrayContainsFilter(field, value); + } else if (op === Operator.IN) { + debugAssert( + isArray(value), + 'IN filter has invalid value: ' + value.toString() + ); + return new InFilter(field, value); + } else if (op === Operator.NOT_IN) { + debugAssert( + isArray(value), + 'NOT_IN filter has invalid value: ' + value.toString() + ); + return new NotInFilter(field, value); + } else if (op === Operator.ARRAY_CONTAINS_ANY) { + debugAssert( + isArray(value), + 'ARRAY_CONTAINS_ANY filter has invalid value: ' + value.toString() + ); + return new ArrayContainsAnyFilter(field, value); + } else { + return new FieldFilter(field, op, value); + } + } + + private static createKeyFieldInFilter( + field: FieldPath, + op: Operator.IN | Operator.NOT_IN, + value: ProtoValue + ): FieldFilter { + debugAssert( + isArray(value), + `Comparing on key with ${op.toString()}` + + ', but filter value not an ArrayValue' + ); + debugAssert( + (value.arrayValue.values || []).every(elem => isReferenceValue(elem)), + `Comparing on key with ${op.toString()}` + + ', but an array value was not a RefValue' + ); + + return op === Operator.IN + ? new KeyFieldInFilter(field, value) + : new KeyFieldNotInFilter(field, value); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + // Types do not have to match in NOT_EQUAL filters. + if (this.op === Operator.NOT_EQUAL) { + return ( + other !== null && + this.matchesComparison(valueCompare(other!, this.value)) + ); + } + + // Only compare types with matching backend order (such as double and int). + return ( + other !== null && + typeOrder(this.value) === typeOrder(other) && + this.matchesComparison(valueCompare(other, this.value)) + ); + } + + protected matchesComparison(comparison: number): boolean { + switch (this.op) { + case Operator.LESS_THAN: + return comparison < 0; + case Operator.LESS_THAN_OR_EQUAL: + return comparison <= 0; + case Operator.EQUAL: + return comparison === 0; + case Operator.NOT_EQUAL: + return comparison !== 0; + case Operator.GREATER_THAN: + return comparison > 0; + case Operator.GREATER_THAN_OR_EQUAL: + return comparison >= 0; + default: + return fail('Unknown FieldFilter operator: ' + this.op); + } + } + + isInequality(): boolean { + return ( + [ + Operator.LESS_THAN, + Operator.LESS_THAN_OR_EQUAL, + Operator.GREATER_THAN, + Operator.GREATER_THAN_OR_EQUAL, + Operator.NOT_EQUAL, + Operator.NOT_IN + ].indexOf(this.op) >= 0 + ); + } +} + +export function canonifyFilter(filter: Filter): string { + debugAssert( + filter instanceof FieldFilter, + 'canonifyFilter() only supports FieldFilters' + ); + // TODO(b/29183165): Technically, this won't be unique if two values have + // the same description, such as the int 3 and the string "3". So we should + // add the types in here somehow, too. + return ( + filter.field.canonicalString() + + filter.op.toString() + + canonicalId(filter.value) + ); +} + +export function filterEquals(f1: Filter, f2: Filter): boolean { + debugAssert( + f1 instanceof FieldFilter && f2 instanceof FieldFilter, + 'Only FieldFilters can be compared' + ); + + return ( + f1.op === f2.op && + f1.field.isEqual(f2.field) && + valueEquals(f1.value, f2.value) + ); +} + +/** Returns a debug description for `filter`. */ +export function stringifyFilter(filter: Filter): string { + debugAssert( + filter instanceof FieldFilter, + 'stringifyFilter() only supports FieldFilters' + ); + return `${filter.field.canonicalString()} ${filter.op} ${canonicalId( + filter.value + )}`; +} + +/** Filter that matches on key fields (i.e. '__name__'). */ +export class KeyFieldFilter extends FieldFilter { + private readonly key: DocumentKey; + + constructor(field: FieldPath, op: Operator, value: ProtoValue) { + super(field, op, value); + debugAssert( + isReferenceValue(value), + 'KeyFieldFilter expects a ReferenceValue' + ); + this.key = DocumentKey.fromName(value.referenceValue); + } + + matches(doc: Document): boolean { + const comparison = DocumentKey.comparator(doc.key, this.key); + return this.matchesComparison(comparison); + } +} + +/** Filter that matches on key fields within an array. */ +export class KeyFieldInFilter extends FieldFilter { + private readonly keys: DocumentKey[]; + + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.IN, value); + this.keys = extractDocumentKeysFromArrayValue(Operator.IN, value); + } + + matches(doc: Document): boolean { + return this.keys.some(key => key.isEqual(doc.key)); + } +} + +/** Filter that matches on key fields not present within an array. */ +export class KeyFieldNotInFilter extends FieldFilter { + private readonly keys: DocumentKey[]; + + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.NOT_IN, value); + this.keys = extractDocumentKeysFromArrayValue(Operator.NOT_IN, value); + } + + matches(doc: Document): boolean { + return !this.keys.some(key => key.isEqual(doc.key)); + } +} + +function extractDocumentKeysFromArrayValue( + op: Operator.IN | Operator.NOT_IN, + value: ProtoValue +): DocumentKey[] { + debugAssert( + isArray(value), + 'KeyFieldInFilter/KeyFieldNotInFilter expects an ArrayValue' + ); + return (value.arrayValue?.values || []).map(v => { + debugAssert( + isReferenceValue(v), + `Comparing on key with ${op.toString()}, but an array value was not ` + + `a ReferenceValue` + ); + return DocumentKey.fromName(v.referenceValue); + }); +} + +/** A Filter that implements the array-contains operator. */ +export class ArrayContainsFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.ARRAY_CONTAINS, value); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + return isArray(other) && arrayValueContains(other.arrayValue, this.value); + } +} + +/** A Filter that implements the IN operator. */ +export class InFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.IN, value); + debugAssert(isArray(value), 'InFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + return other !== null && arrayValueContains(this.value.arrayValue!, other); + } +} + +/** A Filter that implements the not-in operator. */ +export class NotInFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.NOT_IN, value); + debugAssert(isArray(value), 'NotInFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + if ( + arrayValueContains(this.value.arrayValue!, { nullValue: 'NULL_VALUE' }) + ) { + return false; + } + const other = doc.data.field(this.field); + return other !== null && !arrayValueContains(this.value.arrayValue!, other); + } +} + +/** A Filter that implements the array-contains-any operator. */ +export class ArrayContainsAnyFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.ARRAY_CONTAINS_ANY, value); + debugAssert(isArray(value), 'ArrayContainsAnyFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + if (!isArray(other) || !other.arrayValue.values) { + return false; + } + return other.arrayValue.values.some(val => + arrayValueContains(this.value.arrayValue!, val) + ); + } +} + +/** + * Represents a bound of a query. + * + * The bound is specified with the given components representing a position and + * whether it's just before or just after the position (relative to whatever the + * query order is). + * + * The position represents a logical index position for a query. It's a prefix + * of values for the (potentially implicit) order by clauses of a query. + * + * Bound provides a function to determine whether a document comes before or + * after a bound. This is influenced by whether the position is just before or + * just after the provided values. + */ +export class Bound { + constructor(readonly position: ProtoValue[], readonly inclusive: boolean) {} +} + +/** + * An ordering on a field, in some Direction. Direction defaults to ASCENDING. + */ +export class OrderBy { + constructor( + readonly field: FieldPath, + readonly dir: Direction = Direction.ASCENDING + ) {} +} + +export function canonifyOrderBy(orderBy: OrderBy): string { + // TODO(b/29183165): Make this collision robust. + return orderBy.field.canonicalString() + orderBy.dir; +} + +export function stringifyOrderBy(orderBy: OrderBy): string { + return `${orderBy.field.canonicalString()} (${orderBy.dir})`; +} + +export function orderByEquals(left: OrderBy, right: OrderBy): boolean { + return left.dir === right.dir && left.field.isEqual(right.field); +} + +function boundCompareToDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): number { + debugAssert( + bound.position.length <= orderBy.length, + "Bound has more components than query's orderBy" + ); + let comparison = 0; + for (let i = 0; i < bound.position.length; i++) { + const orderByComponent = orderBy[i]; + const component = bound.position[i]; + if (orderByComponent.field.isKeyField()) { + debugAssert( + isReferenceValue(component), + 'Bound has a non-key value where the key path is being used.' + ); + comparison = DocumentKey.comparator( + DocumentKey.fromName(component.referenceValue), + doc.key + ); + } else { + const docValue = doc.data.field(orderByComponent.field); + debugAssert( + docValue !== null, + 'Field should exist since document matched the orderBy already.' + ); + comparison = valueCompare(component, docValue); + } + if (orderByComponent.dir === Direction.DESCENDING) { + comparison = comparison * -1; + } + if (comparison !== 0) { + break; + } + } + return comparison; +} + +/** + * Returns true if a document sorts after a bound using the provided sort + * order. + */ +export function boundSortsAfterDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): boolean { + const comparison = boundCompareToDocument(bound, orderBy, doc); + return bound.inclusive ? comparison >= 0 : comparison > 0; +} + +/** + * Returns true if a document sorts before a bound using the provided sort + * order. + */ +export function boundSortsBeforeDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): boolean { + const comparison = boundCompareToDocument(bound, orderBy, doc); + return bound.inclusive ? comparison <= 0 : comparison < 0; +} + +export function boundEquals(left: Bound | null, right: Bound | null): boolean { + if (left === null) { + return right === null; + } else if (right === null) { + return false; + } + + if ( + left.inclusive !== right.inclusive || + left.position.length !== right.position.length + ) { + return false; + } + for (let i = 0; i < left.position.length; i++) { + const leftPosition = left.position[i]; + const rightPosition = right.position[i]; + if (!valueEquals(leftPosition, rightPosition)) { + return false; + } + } + return true; } diff --git a/packages/firestore/src/lite-api/query.ts b/packages/firestore/src/lite-api/query.ts index 2f1d7ecbf8f..0a762918b33 100644 --- a/packages/firestore/src/lite-api/query.ts +++ b/packages/firestore/src/lite-api/query.ts @@ -17,17 +17,9 @@ import { getModularInstance } from '@firebase/util'; -import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; import { - CompositeFilter, - CompositeOperator, - FieldFilter, - Filter, - Operator -} from '../core/filter'; -import { Direction, OrderBy } from '../core/order_by'; -import { + findFilterOperator, getFirstOrderByField, getInequalityFilterField, isCollectionGroupQuery, @@ -40,12 +32,21 @@ import { queryWithLimit, queryWithStartAt } from '../core/query'; +import { + Bound, + Direction, + FieldFilter, + Filter, + Operator, + OrderBy +} from '../core/target'; import { Document } from '../model/document'; import { DocumentKey } from '../model/document_key'; import { FieldPath as InternalFieldPath, ResourcePath } from '../model/path'; import { isServerTimestamp } from '../model/server_timestamps'; import { refValue } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; +import { debugAssert } from '../util/assert'; import { Code, FirestoreError } from '../util/error'; import { validatePositiveNumber, @@ -86,64 +87,30 @@ export type QueryConstraintType = | 'endAt' | 'endBefore'; -/** - * An `AppliableConstraint` is an abstraction of a constraint that can be applied - * to a Firestore query. - */ -export abstract class AppliableConstraint { - /** - * Takes the provided {@link Query} and returns a copy of the {@link Query} with this - * {@link AppliableConstraint} applied. - */ - abstract _apply(query: Query): Query; -} - /** * A `QueryConstraint` is used to narrow the set of documents returned by a * Firestore query. `QueryConstraint`s are created by invoking {@link where}, - * {@link orderBy}, {@link startAt}, {@link startAfter}, {@link - * endBefore}, {@link endAt}, {@link limit}, {@link limitToLast} and + * {@link orderBy}, {@link (startAt:1)}, {@link (startAfter:1)}, {@link + * endBefore:1}, {@link (endAt:1)}, {@link limit} or {@link limitToLast} and * can then be passed to {@link query} to create a new query instance that * also contains this `QueryConstraint`. */ -export abstract class QueryConstraint extends AppliableConstraint { - /** The type of this query constraint */ +export abstract class QueryConstraint { + /** The type of this query constraints */ abstract readonly type: QueryConstraintType; /** * Takes the provided {@link Query} and returns a copy of the {@link Query} with this - * {@link AppliableConstraint} applied. + * {@link QueryConstraint} applied. */ abstract _apply(query: Query): Query; } /** - * Creates a new immutable instance of {@link Query} that is extended to also - * include additional query constraints. + * Creates a new immutable instance of {@link Query} that is extended to also include + * additional query constraints. * - * @param query - The {@link Query} instance to use as a base for the new - * constraints. - * @param compositeFilter - The {@link QueryCompositeFilterConstraint} to - * apply. Create {@link QueryCompositeFilterConstraint} using {@link and} or - * {@link or}. - * @param queryConstraints - Additional {@link QueryNonFilterConstraint}s to - * apply (e.g. {@link orderBy}, {@link limit}). - * @throws if any of the provided query constraints cannot be combined with the - * existing or new constraints. - * @internal TODO remove this internal tag with OR Query support in the server - */ -export function query( - query: Query, - compositeFilter: QueryCompositeFilterConstraint, - ...queryConstraints: QueryNonFilterConstraint[] -): Query; - -/** - * Creates a new immutable instance of {@link Query} that is extended to also - * include additional query constraints. - * - * @param query - The {@link Query} instance to use as a base for the new - * constraints. + * @param query - The {@link Query} instance to use as a base for the new constraints. * @param queryConstraints - The list of {@link QueryConstraint}s to apply. * @throws if any of the provided query constraints cannot be combined with the * existing or new constraints. @@ -151,46 +118,17 @@ export function query( export function query( query: Query, ...queryConstraints: QueryConstraint[] -): Query; - -export function query( - query: Query, - queryConstraint: QueryCompositeFilterConstraint | QueryConstraint | undefined, - ...additionalQueryConstraints: Array< - QueryConstraint | QueryNonFilterConstraint - > ): Query { - let queryConstraints: AppliableConstraint[] = []; - - if (queryConstraint instanceof AppliableConstraint) { - queryConstraints.push(queryConstraint); - } - - queryConstraints = queryConstraints.concat(additionalQueryConstraints); - - validateQueryConstraintArray(queryConstraints); - for (const constraint of queryConstraints) { query = constraint._apply(query); } return query; } -/** - * A `QueryFieldFilterConstraint` is used to narrow the set of documents returned by - * a Firestore query by filtering on one or more document fields. - * `QueryFieldFilterConstraint`s are created by invoking {@link where} and can then - * be passed to {@link query} to create a new query instance that also contains - * this `QueryFieldFilterConstraint`. - */ -export class QueryFieldFilterConstraint extends QueryConstraint { - /** The type of this query constraint */ +class QueryFilterConstraint extends QueryConstraint { readonly type = 'where'; - /** - * @internal - */ - protected constructor( + constructor( private readonly _field: InternalFieldPath, private _op: Operator, private _value: unknown @@ -198,25 +136,7 @@ export class QueryFieldFilterConstraint extends QueryConstraint { super(); } - static _create( - _field: InternalFieldPath, - _op: Operator, - _value: unknown - ): QueryFieldFilterConstraint { - return new QueryFieldFilterConstraint(_field, _op, _value); - } - _apply(query: Query): Query { - const filter = this._parse(query); - validateNewFieldFilter(query._query, filter); - return new Query( - query.firestore, - query.converter, - queryWithAddedFilter(query._query, filter) - ); - } - - _parse(query: Query): FieldFilter { const reader = newUserDataReader(query.firestore); const filter = newQueryFilter( query._query, @@ -227,7 +147,11 @@ export class QueryFieldFilterConstraint extends QueryConstraint { this._op, this._value ); - return filter; + return new Query( + query.firestore, + query.converter, + queryWithAddedFilter(query._query, filter) + ); } } @@ -249,198 +173,36 @@ export type WhereFilterOp = | 'not-in'; /** - * Creates a {@link QueryFieldFilterConstraint} that enforces that documents - * must contain the specified field and that the value should satisfy the - * relation constraint provided. + * Creates a {@link QueryConstraint} that enforces that documents must contain the + * specified field and that the value should satisfy the relation constraint + * provided. * * @param fieldPath - The path to compare * @param opStr - The operation string (e.g "<", "<=", "==", "<", * "<=", "!="). * @param value - The value for comparison - * @returns The created {@link QueryFieldFilterConstraint}. + * @returns The created {@link Query}. */ export function where( fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown -): QueryFieldFilterConstraint { +): QueryConstraint { const op = opStr as Operator; const field = fieldPathFromArgument('where', fieldPath); - return QueryFieldFilterConstraint._create(field, op, value); -} - -/** - * A `QueryCompositeFilterConstraint` is used to narrow the set of documents - * returned by a Firestore query by performing the logical OR or AND of multiple - * {@link QueryFieldFilterConstraint}s or {@link QueryCompositeFilterConstraint}s. - * `QueryCompositeFilterConstraint`s are created by invoking {@link or} or - * {@link and} and can then be passed to {@link query} to create a new query - * instance that also contains the `QueryCompositeFilterConstraint`. - * @internal TODO remove this internal tag with OR Query support in the server - */ -export class QueryCompositeFilterConstraint extends AppliableConstraint { - /** - * @internal - */ - protected constructor( - /** The type of this query constraint */ - readonly type: 'or' | 'and', - private readonly _queryConstraints: QueryFilterConstraint[] - ) { - super(); - } - - static _create( - type: 'or' | 'and', - _queryConstraints: QueryFilterConstraint[] - ): QueryCompositeFilterConstraint { - return new QueryCompositeFilterConstraint(type, _queryConstraints); - } - - _parse(query: Query): Filter { - const parsedFilters = this._queryConstraints - .map(queryConstraint => { - return queryConstraint._parse(query); - }) - .filter(parsedFilter => parsedFilter.getFilters().length > 0); - - if (parsedFilters.length === 1) { - return parsedFilters[0]; - } - - return CompositeFilter.create(parsedFilters, this._getOperator()); - } - - _apply(query: Query): Query { - const parsedFilter = this._parse(query); - if (parsedFilter.getFilters().length === 0) { - // Return the existing query if not adding any more filters (e.g. an empty - // composite filter). - return query; - } - validateNewFilter(query._query, parsedFilter); - - return new Query( - query.firestore, - query.converter, - queryWithAddedFilter(query._query, parsedFilter) - ); - } - - _getQueryConstraints(): readonly AppliableConstraint[] { - return this._queryConstraints; - } - - _getOperator(): CompositeOperator { - return this.type === 'and' ? CompositeOperator.AND : CompositeOperator.OR; - } + return new QueryFilterConstraint(field, op, value); } -/** - * `QueryNonFilterConstraint` is a helper union type that represents - * QueryConstraints which are used to narrow or order the set of documents, - * but that do not explicitly filter on a document field. - * `QueryNonFilterConstraint`s are created by invoking {@link orderBy}, - * {@link startAt}, {@link startAfter}, {@link endBefore}, {@link endAt}, - * {@link limit} or {@link limitToLast} and can then be passed to {@link query} - * to create a new query instance that also contains the `QueryConstraint`. - */ -export type QueryNonFilterConstraint = - | QueryOrderByConstraint - | QueryLimitConstraint - | QueryStartAtConstraint - | QueryEndAtConstraint; - -/** - * `QueryFilterConstraint` is a helper union type that represents - * {@link QueryFieldFilterConstraint} and {@link QueryCompositeFilterConstraint}. - * `QueryFilterConstraint`s are created by invoking {@link or} or {@link and} - * and can then be passed to {@link query} to create a new query instance that - * also contains the `QueryConstraint`. - * @internal TODO remove this internal tag with OR Query support in the server - */ -export type QueryFilterConstraint = - | QueryFieldFilterConstraint - | QueryCompositeFilterConstraint; - -/** - * Creates a {@link QueryCompositeFilterConstraint} that performs a logical OR - * of all the provided {@link QueryFilterConstraint}s. - * - * @param queryConstraints - Optional. The {@link QueryFilterConstraint}s - * for OR operation. These must be created with calls to {@link where}, - * {@link or}, or {@link and}. - * @returns The created {@link QueryCompositeFilterConstraint}. - * @internal TODO remove this internal tag with OR Query support in the server - */ -export function or( - ...queryConstraints: QueryFilterConstraint[] -): QueryCompositeFilterConstraint { - // Only support QueryFilterConstraints - queryConstraints.forEach(queryConstraint => - validateQueryFilterConstraint('or', queryConstraint) - ); - - return QueryCompositeFilterConstraint._create( - CompositeOperator.OR, - queryConstraints as QueryFilterConstraint[] - ); -} - -/** - * Creates a {@link QueryCompositeFilterConstraint} that performs a logical AND - * of all the provided {@link QueryFilterConstraint}s. - * - * @param queryConstraints - Optional. The {@link QueryFilterConstraint}s - * for AND operation. These must be created with calls to {@link where}, - * {@link or}, or {@link and}. - * @returns The created {@link QueryCompositeFilterConstraint}. - * @internal TODO remove this internal tag with OR Query support in the server - */ -export function and( - ...queryConstraints: QueryFilterConstraint[] -): QueryCompositeFilterConstraint { - // Only support QueryFilterConstraints - queryConstraints.forEach(queryConstraint => - validateQueryFilterConstraint('and', queryConstraint) - ); - - return QueryCompositeFilterConstraint._create( - CompositeOperator.AND, - queryConstraints as QueryFilterConstraint[] - ); -} - -/** - * A `QueryOrderByConstraint` is used to sort the set of documents returned by a - * Firestore query. `QueryOrderByConstraint`s are created by invoking - * {@link orderBy} and can then be passed to {@link query} to create a new query - * instance that also contains this `QueryOrderByConstraint`. - * - * Note: Documents that do not contain the orderBy field will not be present in - * the query result. - */ -export class QueryOrderByConstraint extends QueryConstraint { - /** The type of this query constraint */ +class QueryOrderByConstraint extends QueryConstraint { readonly type = 'orderBy'; - /** - * @internal - */ - protected constructor( + constructor( private readonly _field: InternalFieldPath, private _direction: Direction ) { super(); } - static _create( - _field: InternalFieldPath, - _direction: Direction - ): QueryOrderByConstraint { - return new QueryOrderByConstraint(_field, _direction); - } - _apply(query: Query): Query { const orderBy = newQueryOrderBy(query._query, this._field, this._direction); return new Query( @@ -458,39 +220,25 @@ export class QueryOrderByConstraint extends QueryConstraint { export type OrderByDirection = 'desc' | 'asc'; /** - * Creates a {@link QueryOrderByConstraint} that sorts the query result by the + * Creates a {@link QueryConstraint} that sorts the query result by the * specified field, optionally in descending order instead of ascending. * - * Note: Documents that do not contain the specified field will not be present - * in the query result. - * * @param fieldPath - The field to sort by. * @param directionStr - Optional direction to sort by ('asc' or 'desc'). If * not specified, order will be ascending. - * @returns The created {@link QueryOrderByConstraint}. + * @returns The created {@link Query}. */ export function orderBy( fieldPath: string | FieldPath, directionStr: OrderByDirection = 'asc' -): QueryOrderByConstraint { +): QueryConstraint { const direction = directionStr as Direction; const path = fieldPathFromArgument('orderBy', fieldPath); - return QueryOrderByConstraint._create(path, direction); + return new QueryOrderByConstraint(path, direction); } -/** - * A `QueryLimitConstraint` is used to limit the number of documents returned by - * a Firestore query. - * `QueryLimitConstraint`s are created by invoking {@link limit} or - * {@link limitToLast} and can then be passed to {@link query} to create a new - * query instance that also contains this `QueryLimitConstraint`. - */ -export class QueryLimitConstraint extends QueryConstraint { - /** - * @internal - */ - protected constructor( - /** The type of this query constraint */ +class QueryLimitConstraint extends QueryConstraint { + constructor( readonly type: 'limit' | 'limitToLast', private readonly _limit: number, private readonly _limitType: LimitType @@ -498,14 +246,6 @@ export class QueryLimitConstraint extends QueryConstraint { super(); } - static _create( - type: 'limit' | 'limitToLast', - _limit: number, - _limitType: LimitType - ): QueryLimitConstraint { - return new QueryLimitConstraint(type, _limit, _limitType); - } - _apply(query: Query): Query { return new Query( query.firestore, @@ -516,45 +256,32 @@ export class QueryLimitConstraint extends QueryConstraint { } /** - * Creates a {@link QueryLimitConstraint} that only returns the first matching - * documents. + * Creates a {@link QueryConstraint} that only returns the first matching documents. * * @param limit - The maximum number of items to return. - * @returns The created {@link QueryLimitConstraint}. + * @returns The created {@link Query}. */ -export function limit(limit: number): QueryLimitConstraint { +export function limit(limit: number): QueryConstraint { validatePositiveNumber('limit', limit); - return QueryLimitConstraint._create('limit', limit, LimitType.First); + return new QueryLimitConstraint('limit', limit, LimitType.First); } /** - * Creates a {@link QueryLimitConstraint} that only returns the last matching - * documents. + * Creates a {@link QueryConstraint} that only returns the last matching documents. * * You must specify at least one `orderBy` clause for `limitToLast` queries, * otherwise an exception will be thrown during execution. * * @param limit - The maximum number of items to return. - * @returns The created {@link QueryLimitConstraint}. + * @returns The created {@link Query}. */ -export function limitToLast(limit: number): QueryLimitConstraint { +export function limitToLast(limit: number): QueryConstraint { validatePositiveNumber('limitToLast', limit); - return QueryLimitConstraint._create('limitToLast', limit, LimitType.Last); + return new QueryLimitConstraint('limitToLast', limit, LimitType.Last); } -/** - * A `QueryStartAtConstraint` is used to exclude documents from the start of a - * result set returned by a Firestore query. - * `QueryStartAtConstraint`s are created by invoking {@link (startAt:1)} or - * {@link (startAfter:1)} and can then be passed to {@link query} to create a - * new query instance that also contains this `QueryStartAtConstraint`. - */ -export class QueryStartAtConstraint extends QueryConstraint { - /** - * @internal - */ - protected constructor( - /** The type of this query constraint */ +class QueryStartAtConstraint extends QueryConstraint { + constructor( readonly type: 'startAt' | 'startAfter', private readonly _docOrFields: Array>, private readonly _inclusive: boolean @@ -562,14 +289,6 @@ export class QueryStartAtConstraint extends QueryConstraint { super(); } - static _create( - type: 'startAt' | 'startAfter', - _docOrFields: Array>, - _inclusive: boolean - ): QueryStartAtConstraint { - return new QueryStartAtConstraint(type, _docOrFields, _inclusive); - } - _apply(query: Query): Query { const bound = newQueryBoundFromDocOrFields( query, @@ -586,31 +305,29 @@ export class QueryStartAtConstraint extends QueryConstraint { } /** - * Creates a {@link QueryStartAtConstraint} that modifies the result set to - * start at the provided document (inclusive). The starting position is relative - * to the order of the query. The document must contain all of the fields - * provided in the `orderBy` of this query. + * Creates a {@link QueryConstraint} that modifies the result set to start at the + * provided document (inclusive). The starting position is relative to the order + * of the query. The document must contain all of the fields provided in the + * `orderBy` of this query. * * @param snapshot - The snapshot of the document to start at. - * @returns A {@link QueryStartAtConstraint} to pass to `query()`. + * @returns A {@link QueryConstraint} to pass to `query()`. */ -export function startAt( - snapshot: DocumentSnapshot -): QueryStartAtConstraint; +export function startAt(snapshot: DocumentSnapshot): QueryConstraint; /** - * Creates a {@link QueryStartAtConstraint} that modifies the result set to - * start at the provided fields relative to the order of the query. The order of - * the field values must match the order of the order by clauses of the query. + * Creates a {@link QueryConstraint} that modifies the result set to start at the + * provided fields relative to the order of the query. The order of the field + * values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to start this query at, in order * of the query's order by. - * @returns A {@link QueryStartAtConstraint} to pass to `query()`. + * @returns A {@link QueryConstraint} to pass to `query()`. */ -export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAt(...fieldValues: unknown[]): QueryConstraint; export function startAt( ...docOrFields: Array> -): QueryStartAtConstraint { - return QueryStartAtConstraint._create( +): QueryConstraint { + return new QueryStartAtConstraint( 'startAt', docOrFields, /*inclusive=*/ true @@ -618,50 +335,39 @@ export function startAt( } /** - * Creates a {@link QueryStartAtConstraint} that modifies the result set to - * start after the provided document (exclusive). The starting position is - * relative to the order of the query. The document must contain all of the - * fields provided in the orderBy of the query. + * Creates a {@link QueryConstraint} that modifies the result set to start after the + * provided document (exclusive). The starting position is relative to the order + * of the query. The document must contain all of the fields provided in the + * orderBy of the query. * * @param snapshot - The snapshot of the document to start after. - * @returns A {@link QueryStartAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ export function startAfter( snapshot: DocumentSnapshot -): QueryStartAtConstraint; +): QueryConstraint; /** - * Creates a {@link QueryStartAtConstraint} that modifies the result set to - * start after the provided fields relative to the order of the query. The order - * of the field values must match the order of the order by clauses of the query. + * Creates a {@link QueryConstraint} that modifies the result set to start after the + * provided fields relative to the order of the query. The order of the field + * values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to start this query after, in order * of the query's order by. - * @returns A {@link QueryStartAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ -export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; +export function startAfter(...fieldValues: unknown[]): QueryConstraint; export function startAfter( ...docOrFields: Array> -): QueryStartAtConstraint { - return QueryStartAtConstraint._create( +): QueryConstraint { + return new QueryStartAtConstraint( 'startAfter', docOrFields, /*inclusive=*/ false ); } -/** - * A `QueryEndAtConstraint` is used to exclude documents from the end of a - * result set returned by a Firestore query. - * `QueryEndAtConstraint`s are created by invoking {@link (endAt:1)} or - * {@link (endBefore:1)} and can then be passed to {@link query} to create a new - * query instance that also contains this `QueryEndAtConstraint`. - */ -export class QueryEndAtConstraint extends QueryConstraint { - /** - * @internal - */ - protected constructor( - /** The type of this query constraint */ +class QueryEndAtConstraint extends QueryConstraint { + constructor( readonly type: 'endBefore' | 'endAt', private readonly _docOrFields: Array>, private readonly _inclusive: boolean @@ -669,14 +375,6 @@ export class QueryEndAtConstraint extends QueryConstraint { super(); } - static _create( - type: 'endBefore' | 'endAt', - _docOrFields: Array>, - _inclusive: boolean - ): QueryEndAtConstraint { - return new QueryEndAtConstraint(type, _docOrFields, _inclusive); - } - _apply(query: Query): Query { const bound = newQueryBoundFromDocOrFields( query, @@ -693,31 +391,29 @@ export class QueryEndAtConstraint extends QueryConstraint { } /** - * Creates a {@link QueryEndAtConstraint} that modifies the result set to end - * before the provided document (exclusive). The end position is relative to the - * order of the query. The document must contain all of the fields provided in - * the orderBy of the query. + * Creates a {@link QueryConstraint} that modifies the result set to end before the + * provided document (exclusive). The end position is relative to the order of + * the query. The document must contain all of the fields provided in the + * orderBy of the query. * * @param snapshot - The snapshot of the document to end before. - * @returns A {@link QueryEndAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ -export function endBefore( - snapshot: DocumentSnapshot -): QueryEndAtConstraint; +export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; /** - * Creates a {@link QueryEndAtConstraint} that modifies the result set to end - * before the provided fields relative to the order of the query. The order of - * the field values must match the order of the order by clauses of the query. + * Creates a {@link QueryConstraint} that modifies the result set to end before the + * provided fields relative to the order of the query. The order of the field + * values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to end this query before, in order * of the query's order by. - * @returns A {@link QueryEndAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ -export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endBefore(...fieldValues: unknown[]): QueryConstraint; export function endBefore( ...docOrFields: Array> -): QueryEndAtConstraint { - return QueryEndAtConstraint._create( +): QueryConstraint { + return new QueryEndAtConstraint( 'endBefore', docOrFields, /*inclusive=*/ false @@ -725,35 +421,29 @@ export function endBefore( } /** - * Creates a {@link QueryEndAtConstraint} that modifies the result set to end at - * the provided document (inclusive). The end position is relative to the order - * of the query. The document must contain all of the fields provided in the + * Creates a {@link QueryConstraint} that modifies the result set to end at the + * provided document (inclusive). The end position is relative to the order of + * the query. The document must contain all of the fields provided in the * orderBy of the query. * * @param snapshot - The snapshot of the document to end at. - * @returns A {@link QueryEndAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ -export function endAt( - snapshot: DocumentSnapshot -): QueryEndAtConstraint; +export function endAt(snapshot: DocumentSnapshot): QueryConstraint; /** - * Creates a {@link QueryEndAtConstraint} that modifies the result set to end at - * the provided fields relative to the order of the query. The order of the field + * Creates a {@link QueryConstraint} that modifies the result set to end at the + * provided fields relative to the order of the query. The order of the field * values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to end this query at, in order * of the query's order by. - * @returns A {@link QueryEndAtConstraint} to pass to `query()` + * @returns A {@link QueryConstraint} to pass to `query()` */ -export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; +export function endAt(...fieldValues: unknown[]): QueryConstraint; export function endAt( ...docOrFields: Array> -): QueryEndAtConstraint { - return QueryEndAtConstraint._create( - 'endAt', - docOrFields, - /*inclusive=*/ true - ); +): QueryConstraint { + return new QueryEndAtConstraint('endAt', docOrFields, /*inclusive=*/ true); } /** Helper function to create a bound from a document or fields */ @@ -828,6 +518,7 @@ export function newQueryFilter( ); } const filter = FieldFilter.create(fieldPath, op, fieldValue); + validateNewFilter(query, filter); return filter; } @@ -1101,84 +792,46 @@ function conflictingOps(op: Operator): Operator[] { } } -function validateNewFieldFilter( - query: InternalQuery, - fieldFilter: FieldFilter -): void { - if (fieldFilter.isInequality()) { - const existingInequality = getInequalityFilterField(query); - const newInequality = fieldFilter.field; +function validateNewFilter(query: InternalQuery, filter: Filter): void { + debugAssert(filter instanceof FieldFilter, 'Only FieldFilters are supported'); - if ( - existingInequality !== null && - !existingInequality.isEqual(newInequality) - ) { + if (filter.isInequality()) { + const existingField = getInequalityFilterField(query); + if (existingField !== null && !existingField.isEqual(filter.field)) { throw new FirestoreError( Code.INVALID_ARGUMENT, 'Invalid query. All where filters with an inequality' + ' (<, <=, !=, not-in, >, or >=) must be on the same field. But you have' + - ` inequality filters on '${existingInequality.toString()}'` + - ` and '${newInequality.toString()}'` + ` inequality filters on '${existingField.toString()}'` + + ` and '${filter.field.toString()}'` ); } const firstOrderByField = getFirstOrderByField(query); if (firstOrderByField !== null) { - validateOrderByAndInequalityMatch( - query, - newInequality, - firstOrderByField - ); + validateOrderByAndInequalityMatch(query, filter.field, firstOrderByField); } } - const conflictingOp = findOpInsideFilters( - query.filters, - conflictingOps(fieldFilter.op) - ); + const conflictingOp = findFilterOperator(query, conflictingOps(filter.op)); if (conflictingOp !== null) { // Special case when it's a duplicate op to give a slightly clearer error message. - if (conflictingOp === fieldFilter.op) { + if (conflictingOp === filter.op) { throw new FirestoreError( Code.INVALID_ARGUMENT, 'Invalid query. You cannot use more than one ' + - `'${fieldFilter.op.toString()}' filter.` + `'${filter.op.toString()}' filter.` ); } else { throw new FirestoreError( Code.INVALID_ARGUMENT, - `Invalid query. You cannot use '${fieldFilter.op.toString()}' filters ` + + `Invalid query. You cannot use '${filter.op.toString()}' filters ` + `with '${conflictingOp.toString()}' filters.` ); } } } -function validateNewFilter(query: InternalQuery, filter: Filter): void { - let testQuery = query; - const subFilters = filter.getFlattenedFilters(); - for (const subFilter of subFilters) { - validateNewFieldFilter(testQuery, subFilter); - testQuery = queryWithAddedFilter(testQuery, subFilter); - } -} - -// Checks if any of the provided filter operators are included in the given list of filters and -// returns the first one that is, or null if none are. -function findOpInsideFilters( - filters: Filter[], - operators: Operator[] -): Operator | null { - for (const filter of filters) { - for (const fieldFilter of filter.getFlattenedFilters()) { - if (operators.indexOf(fieldFilter.op) >= 0) { - return fieldFilter.op; - } - } - } - return null; -} - function validateNewOrderBy(query: InternalQuery, orderBy: OrderBy): void { if (getFirstOrderByField(query) === null) { // This is the first order by. It must match any inequality. @@ -1205,43 +858,3 @@ function validateOrderByAndInequalityMatch( ); } } - -export function validateQueryFilterConstraint( - functionName: string, - queryConstraint: AppliableConstraint -): void { - if ( - !(queryConstraint instanceof QueryFieldFilterConstraint) && - !(queryConstraint instanceof QueryCompositeFilterConstraint) - ) { - throw new FirestoreError( - Code.INVALID_ARGUMENT, - `Function ${functionName}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.` - ); - } -} - -function validateQueryConstraintArray( - queryConstraint: AppliableConstraint[] -): void { - const compositeFilterCount = queryConstraint.filter( - filter => filter instanceof QueryCompositeFilterConstraint - ).length; - const fieldFilterCount = queryConstraint.filter( - filter => filter instanceof QueryFieldFilterConstraint - ).length; - - if ( - compositeFilterCount > 1 || - (compositeFilterCount > 0 && fieldFilterCount > 0) - ) { - throw new FirestoreError( - Code.INVALID_ARGUMENT, - 'InvalidQuery. When using composite filters, you cannot use ' + - 'more than one filter at the top level. Consider nesting the multiple ' + - 'filters within an `and(...)` statement. For example: ' + - 'change `query(query, where(...), or(...))` to ' + - '`query(query, and(where(...), or(...)))`.' - ); - } -} diff --git a/packages/firestore/src/local/indexeddb_index_manager.ts b/packages/firestore/src/local/indexeddb_index_manager.ts index a776c95c1da..16827806beb 100644 --- a/packages/firestore/src/local/indexeddb_index_manager.ts +++ b/packages/firestore/src/local/indexeddb_index_manager.ts @@ -16,26 +16,19 @@ */ import { User } from '../auth/user'; -import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; import { - CompositeFilter, - CompositeOperator, - FieldFilter, - Filter, - Operator -} from '../core/filter'; -import { + Bound, canonifyTarget, - newTarget, + FieldFilter, + Operator, Target, targetEquals, targetGetArrayValues, targetGetLowerBound, targetGetNotInValues, targetGetSegmentCount, - targetGetUpperBound, - targetHasLimit + targetGetUpperBound } from '../core/target'; import { FirestoreIndexValueWriter } from '../index/firestore_index_value_writer'; import { IndexByteEncoder } from '../index/index_byte_encoder'; @@ -60,7 +53,6 @@ import { isArray, refValue } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; import { debugAssert, fail, hardAssert } from '../util/assert'; import { logDebug } from '../util/log'; -import { getDnfTerms } from '../util/logic_utils'; import { immediateSuccessor, primitiveComparator } from '../util/misc'; import { ObjectMap } from '../util/obj_map'; import { diffSortedSets, SortedSet } from '../util/sorted_set'; @@ -341,28 +333,8 @@ export class IndexedDbIndexManager implements IndexManager { if (subTargets) { return subTargets; } - - if (target.filters.length === 0) { - subTargets = [target]; - } else { - // There is an implicit AND operation between all the filters stored in the target - const dnf: Filter[] = getDnfTerms( - CompositeFilter.create(target.filters, CompositeOperator.AND) - ); - - subTargets = dnf.map(term => - newTarget( - target.path, - target.collectionGroup, - target.orderBy, - term.getFilters(), - target.limit, - target.startAt, - target.endAt - ) - ); - } - + // TODO(orquery): Implement DNF transform + subTargets = [target]; this.targetToDnfSubTargets.set(target, subTargets); return subTargets; } @@ -487,32 +459,21 @@ export class IndexedDbIndexManager implements IndexManager { target: Target ): PersistencePromise { let indexType = IndexType.FULL; - const subTargets = this.getSubTargets(target); - return PersistencePromise.forEach(subTargets, (target: Target) => { - return this.getFieldIndex(transaction, target).next(index => { - if (!index) { - indexType = IndexType.NONE; - } else if ( - indexType !== IndexType.NONE && - index.fields.length < targetGetSegmentCount(target) - ) { - indexType = IndexType.PARTIAL; - } - }); - }).next(() => { - // OR queries have more than one sub-target (one sub-target per DNF term). We currently consider - // OR queries that have a `limit` to have a partial index. For such queries we perform sorting - // and apply the limit in memory as a post-processing step. - if ( - targetHasLimit(target) && - subTargets.length > 1 && - indexType === IndexType.FULL - ) { - return IndexType.PARTIAL; + return PersistencePromise.forEach( + this.getSubTargets(target), + (target: Target) => { + return this.getFieldIndex(transaction, target).next(index => { + if (!index) { + indexType = IndexType.NONE; + } else if ( + indexType !== IndexType.NONE && + index.fields.length < targetGetSegmentCount(target) + ) { + indexType = IndexType.PARTIAL; + } + }); } - - return indexType; - }); + ).next(() => indexType); } /** @@ -572,18 +533,18 @@ export class IndexedDbIndexManager implements IndexManager { private encodeValues( fieldIndex: FieldIndex, target: Target, - values: ProtoValue[] | null + bound: ProtoValue[] | null ): Uint8Array[] { - if (values === null) { + if (bound === null) { return []; } let encoders: IndexByteEncoder[] = []; encoders.push(new IndexByteEncoder()); - let valueIdx = 0; + let boundIdx = 0; for (const segment of fieldIndexGetDirectionalSegments(fieldIndex)) { - const value = values[valueIdx++]; + const value = bound[boundIdx++]; for (const encoder of encoders) { if (this.isInFilter(target, segment.fieldPath) && isArray(value)) { encoders = this.expandIndexValues(encoders, segment, value); @@ -981,41 +942,30 @@ export class IndexedDbIndexManager implements IndexManager { const ranges: IDBKeyRange[] = []; for (let i = 0; i < bounds.length; i += 2) { - // If we encounter two bounds that will create an unmatchable key range, - // then we return an empty set of key ranges. - if (this.isRangeMatchable(bounds[i], bounds[i + 1])) { - return []; - } - - const lowerBound = [ - bounds[i].indexId, - this.uid, - bounds[i].arrayValue, - bounds[i].directionalValue, - EMPTY_VALUE, - [] - ] as DbIndexEntryKey; - - const upperBound = [ - bounds[i + 1].indexId, - this.uid, - bounds[i + 1].arrayValue, - bounds[i + 1].directionalValue, - EMPTY_VALUE, - [] - ] as DbIndexEntryKey; - - ranges.push(IDBKeyRange.bound(lowerBound, upperBound)); + ranges.push( + IDBKeyRange.bound( + [ + bounds[i].indexId, + this.uid, + bounds[i].arrayValue, + bounds[i].directionalValue, + EMPTY_VALUE, + [] + ] as DbIndexEntryKey, + [ + bounds[i + 1].indexId, + this.uid, + bounds[i + 1].arrayValue, + bounds[i + 1].directionalValue, + EMPTY_VALUE, + [] + ] as DbIndexEntryKey + ) + ); } return ranges; } - isRangeMatchable(lowerBound: IndexEntry, upperBound: IndexEntry): boolean { - // If lower bound is greater than the upper bound, then the key - // range can never be matched. - return indexEntryComparator(lowerBound, upperBound) > 0; - } - getMinOffsetFromCollectionGroup( transaction: PersistenceTransaction, collectionGroup: string diff --git a/packages/firestore/src/model/target_index_matcher.ts b/packages/firestore/src/model/target_index_matcher.ts index d58d7792e34..d78fe0af215 100644 --- a/packages/firestore/src/model/target_index_matcher.ts +++ b/packages/firestore/src/model/target_index_matcher.ts @@ -15,10 +15,14 @@ * limitations under the License. */ -import { FieldFilter, Operator } from '../core/filter'; -import { Direction, OrderBy } from '../core/order_by'; -import { Target } from '../core/target'; -import { debugAssert, hardAssert } from '../util/assert'; +import { + Direction, + FieldFilter, + Operator, + OrderBy, + Target +} from '../core/target'; +import { debugAssert } from '../util/assert'; import { FieldIndex, @@ -103,7 +107,7 @@ export class TargetIndexMatcher { * omitted. */ servedByIndex(index: FieldIndex): boolean { - hardAssert( + debugAssert( index.collectionGroup === this.collectionId, 'Collection IDs do not match' ); diff --git a/packages/firestore/src/platform/browser_lite/fetch_connection.ts b/packages/firestore/src/platform/browser_lite/fetch_connection.ts index cad3c372ad5..432a2e7073f 100644 --- a/packages/firestore/src/platform/browser_lite/fetch_connection.ts +++ b/packages/firestore/src/platform/browser_lite/fetch_connection.ts @@ -61,8 +61,7 @@ export class FetchConnection extends RestConnection { headers, body: requestJson }); - } catch (e) { - const err = e as { status: number | undefined; statusText: string }; + } catch (err) { throw new FirestoreError( mapCodeFromHttpStatus(err.status), 'Request failed with error: ' + err.statusText diff --git a/packages/firestore/src/protos/compile.sh b/packages/firestore/src/protos/compile.sh deleted file mode 100755 index 26c46d1a40d..00000000000 --- a/packages/firestore/src/protos/compile.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# Copyright 2017 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -euo pipefail - -# Variables -PROTOS_DIR="." -PBJS="$(npm bin)/pbjs" - -"${PBJS}" --proto_path=. --target=json -o protos.json \ - -r firestore_v1 \ - "${PROTOS_DIR}/google/firestore/v1/*.proto" \ - "${PROTOS_DIR}/google/protobuf/*.proto" "${PROTOS_DIR}/google/type/*.proto" \ - "${PROTOS_DIR}/google/rpc/*.proto" "${PROTOS_DIR}/google/api/*.proto" diff --git a/packages/firestore/src/protos/firestore_proto_api.ts b/packages/firestore/src/protos/firestore_proto_api.ts index 46b00e0e6f7..e7dfe0a88b2 100644 --- a/packages/firestore/src/protos/firestore_proto_api.ts +++ b/packages/firestore/src/protos/firestore_proto_api.ts @@ -30,7 +30,7 @@ export declare type Timestamp = | string | { seconds?: string | number; nanos?: number }; -export declare type CompositeFilterOp = 'OPERATOR_UNSPECIFIED' | 'AND' | 'OR'; +export declare type CompositeFilterOp = 'OPERATOR_UNSPECIFIED' | 'AND'; export interface ICompositeFilterOpEnum { OPERATOR_UNSPECIFIED: CompositeFilterOp; AND: CompositeFilterOp; diff --git a/packages/firestore/src/protos/google/firestore/v1/query.proto b/packages/firestore/src/protos/google/firestore/v1/query.proto index e3d95534bbf..1bb2b6cdd01 100644 --- a/packages/firestore/src/protos/google/firestore/v1/query.proto +++ b/packages/firestore/src/protos/google/firestore/v1/query.proto @@ -65,11 +65,8 @@ message StructuredQuery { // Unspecified. This value must not be used. OPERATOR_UNSPECIFIED = 0; - // Documents are required to satisfy all of the combined filters. + // The results are required to satisfy each of the combined filters. AND = 1; - - // Documents are required to satisfy at least one of the combined filters. - OR = 2; } // The operator for combining multiple filters. diff --git a/packages/firestore/src/protos/protos.json b/packages/firestore/src/protos/protos.json index 2b6cac8ddd6..093e22c6451 100644 --- a/packages/firestore/src/protos/protos.json +++ b/packages/firestore/src/protos/protos.json @@ -2279,8 +2279,7 @@ "Operator": { "values": { "OPERATOR_UNSPECIFIED": 0, - "AND": 1, - "OR": 2 + "AND": 1 } } } diff --git a/packages/firestore/src/remote/serializer.ts b/packages/firestore/src/remote/serializer.ts index c537648775f..21091d55a36 100644 --- a/packages/firestore/src/remote/serializer.ts +++ b/packages/firestore/src/remote/serializer.ts @@ -15,17 +15,7 @@ * limitations under the License. */ -import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; -import { - CompositeFilter, - compositeFilterIsFlatConjunction, - CompositeOperator, - FieldFilter, - Filter, - Operator -} from '../core/filter'; -import { Direction, OrderBy } from '../core/order_by'; import { LimitType, newQuery, @@ -34,7 +24,16 @@ import { queryToTarget } from '../core/query'; import { SnapshotVersion } from '../core/snapshot_version'; -import { targetIsDocumentTarget, Target } from '../core/target'; +import { + Bound, + Direction, + FieldFilter, + Filter, + targetIsDocumentTarget, + Operator, + OrderBy, + Target +} from '../core/target'; import { TargetId } from '../core/types'; import { Timestamp } from '../lite-api/timestamp'; import { TargetData, TargetPurpose } from '../local/target_data'; @@ -65,7 +64,6 @@ import { isNanValue, isNullValue } from '../model/values'; import { ApiClientObjectMap as ProtoApiClientObjectMap, BatchGetDocumentsResponse as ProtoBatchGetDocumentsResponse, - CompositeFilterOp as ProtoCompositeFilterOp, Cursor as ProtoCursor, Document as ProtoDocument, DocumentMask as ProtoDocumentMask, @@ -125,13 +123,6 @@ const OPERATORS = (() => { return ops; })(); -const COMPOSITE_OPERATORS = (() => { - const ops: { [op: string]: ProtoCompositeFilterOp } = {}; - ops[CompositeOperator.AND] = 'AND'; - ops[CompositeOperator.OR] = 'OR'; - return ops; -})(); - function assertPresent(value: unknown, description: string): asserts value { debugAssert(!isNullOrUndefined(value), description + ' is missing'); } @@ -837,7 +828,7 @@ export function toQueryTarget( result.structuredQuery!.from = [{ collectionId: path.lastSegment() }]; } - const where = toFilters(target.filters); + const where = toFilter(target.filters); if (where) { result.structuredQuery!.where = where; } @@ -903,7 +894,7 @@ export function convertQueryTargetToQuery(target: ProtoQueryTarget): Query { let filterBy: Filter[] = []; if (query.where) { - filterBy = fromFilters(query.where); + filterBy = fromFilter(query.where); } let orderBy: OrderBy[] = []; @@ -1002,34 +993,34 @@ export function toTarget( return result; } -function toFilters(filters: Filter[]): ProtoFilter | undefined { +function toFilter(filters: Filter[]): ProtoFilter | undefined { if (filters.length === 0) { return; } - - return toFilter(CompositeFilter.create(filters, CompositeOperator.AND)); -} - -function fromFilters(filter: ProtoFilter): Filter[] { - const result = fromFilter(filter); - - if ( - result instanceof CompositeFilter && - compositeFilterIsFlatConjunction(result) - ) { - return result.getFilters(); + const protos = filters.map(filter => { + debugAssert( + filter instanceof FieldFilter, + 'Only FieldFilters are supported' + ); + return toUnaryOrFieldFilter(filter); + }); + if (protos.length === 1) { + return protos[0]; } - - return [result]; + return { compositeFilter: { op: 'AND', filters: protos } }; } -function fromFilter(filter: ProtoFilter): Filter { - if (filter.unaryFilter !== undefined) { - return fromUnaryFilter(filter); +function fromFilter(filter: ProtoFilter | undefined): Filter[] { + if (!filter) { + return []; + } else if (filter.unaryFilter !== undefined) { + return [fromUnaryFilter(filter)]; } else if (filter.fieldFilter !== undefined) { - return fromFieldFilter(filter); + return [fromFieldFilter(filter)]; } else if (filter.compositeFilter !== undefined) { - return fromCompositeFilter(filter); + return filter.compositeFilter + .filters!.map(f => fromFilter(f)) + .reduce((accum, current) => accum.concat(current)); } else { return fail('Unknown filter: ' + JSON.stringify(filter)); } @@ -1096,12 +1087,6 @@ export function toOperatorName(op: Operator): ProtoFieldFilterOp { return OPERATORS[op]; } -export function toCompositeOperatorName( - op: CompositeOperator -): ProtoCompositeFilterOp { - return COMPOSITE_OPERATORS[op]; -} - export function fromOperatorName(op: ProtoFieldFilterOp): Operator { switch (op) { case 'EQUAL': @@ -1131,19 +1116,6 @@ export function fromOperatorName(op: ProtoFieldFilterOp): Operator { } } -export function fromCompositeOperatorName( - op: ProtoCompositeFilterOp -): CompositeOperator { - switch (op) { - case 'AND': - return CompositeOperator.AND; - case 'OR': - return CompositeOperator.OR; - default: - return fail('Unknown operator'); - } -} - export function toFieldPathReference(path: FieldPath): ProtoFieldReference { return { fieldPath: path.canonicalString() }; } @@ -1169,32 +1141,15 @@ export function fromPropertyOrder(orderBy: ProtoOrder): OrderBy { ); } -// visible for testing -export function toFilter(filter: Filter): ProtoFilter { - if (filter instanceof FieldFilter) { - return toUnaryOrFieldFilter(filter); - } else if (filter instanceof CompositeFilter) { - return toCompositeFilter(filter); - } else { - return fail('Unrecognized filter type ' + JSON.stringify(filter)); - } -} - -export function toCompositeFilter(filter: CompositeFilter): ProtoFilter { - const protos = filter.getFilters().map(filter => toFilter(filter)); - - if (protos.length === 1) { - return protos[0]; - } - - return { - compositeFilter: { - op: toCompositeOperatorName(filter.op), - filters: protos - } - }; +export function fromFieldFilter(filter: ProtoFilter): Filter { + return FieldFilter.create( + fromFieldPathReference(filter.fieldFilter!.field!), + fromOperatorName(filter.fieldFilter!.op!), + filter.fieldFilter!.value! + ); } +// visible for testing export function toUnaryOrFieldFilter(filter: FieldFilter): ProtoFilter { if (filter.op === Operator.EQUAL) { if (isNanValue(filter.value)) { @@ -1267,21 +1222,6 @@ export function fromUnaryFilter(filter: ProtoFilter): Filter { } } -export function fromFieldFilter(filter: ProtoFilter): FieldFilter { - return FieldFilter.create( - fromFieldPathReference(filter.fieldFilter!.field!), - fromOperatorName(filter.fieldFilter!.op!), - filter.fieldFilter!.value! - ); -} - -export function fromCompositeFilter(filter: ProtoFilter): CompositeFilter { - return CompositeFilter.create( - filter.compositeFilter!.filters!.map(filter => fromFilter(filter)), - fromCompositeOperatorName(filter.compositeFilter!.op!) - ); -} - export function toDocumentMask(fieldMask: FieldMask): ProtoDocumentMask { const canonicalFields: string[] = []; fieldMask.fields.forEach(field => diff --git a/packages/firestore/src/util/logic_utils.ts b/packages/firestore/src/util/logic_utils.ts deleted file mode 100644 index 3c3a6b19fd8..00000000000 --- a/packages/firestore/src/util/logic_utils.ts +++ /dev/null @@ -1,363 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - CompositeFilter, - compositeFilterIsConjunction, - compositeFilterIsDisjunction, - compositeFilterIsFlat, - compositeFilterIsFlatConjunction, - compositeFilterWithAddedFilters, - CompositeOperator, - FieldFilter, - Filter, - InFilter, - Operator -} from '../core/filter'; - -import { hardAssert } from './assert'; - -/** - * Provides utility functions that help with boolean logic transformations needed for handling - * complex filters used in queries. - */ - -/** - * The `in` filter is only a syntactic sugar over a disjunction of equalities. For instance: `a in - * [1,2,3]` is in fact `a==1 || a==2 || a==3`. This method expands any `in` filter in the given - * input into a disjunction of equality filters and returns the expanded filter. - */ -export function computeInExpansion(filter: Filter): Filter { - hardAssert( - filter instanceof FieldFilter || filter instanceof CompositeFilter, - 'Only field filters and composite filters are accepted.' - ); - - if (filter instanceof FieldFilter) { - if (filter instanceof InFilter) { - const expandedFilters = - filter.value.arrayValue?.values?.map(value => - FieldFilter.create(filter.field, Operator.EQUAL, value) - ) || []; - - return CompositeFilter.create(expandedFilters, CompositeOperator.OR); - } else { - // We have reached other kinds of field filters. - return filter; - } - } - - // We have a composite filter. - const expandedFilters = filter.filters.map(subfilter => - computeInExpansion(subfilter) - ); - return CompositeFilter.create(expandedFilters, filter.op); -} - -/** - * Given a composite filter, returns the list of terms in its disjunctive normal form. - * - *

Each element in the return value is one term of the resulting DNF. For instance: For the - * input: (A || B) && C, the DNF form is: (A && C) || (B && C), and the return value is a list - * with two elements: a composite filter that performs (A && C), and a composite filter that - * performs (B && C). - * - * @param filter the composite filter to calculate DNF transform for. - * @return the terms in the DNF transform. - */ -export function getDnfTerms(filter: CompositeFilter): Filter[] { - if (filter.getFilters().length === 0) { - return []; - } - - const result: Filter = computeDistributedNormalForm( - computeInExpansion(filter) - ); - - hardAssert( - isDisjunctiveNormalForm(result), - 'computeDistributedNormalForm did not result in disjunctive normal form' - ); - - if (isSingleFieldFilter(result) || isFlatConjunction(result)) { - return [result]; - } - - return result.getFilters(); -} - -/** Returns true if the given filter is a single field filter. e.g. (a == 10). */ -function isSingleFieldFilter(filter: Filter): boolean { - return filter instanceof FieldFilter; -} - -/** - * Returns true if the given filter is the conjunction of one or more field filters. e.g. (a == 10 - * && b == 20) - */ -function isFlatConjunction(filter: Filter): boolean { - return ( - filter instanceof CompositeFilter && - compositeFilterIsFlatConjunction(filter) - ); -} - -/** - * Returns whether or not the given filter is in disjunctive normal form (DNF). - * - *

In boolean logic, a disjunctive normal form (DNF) is a canonical normal form of a logical - * formula consisting of a disjunction of conjunctions; it can also be described as an OR of ANDs. - * - *

For more info, visit: https://en.wikipedia.org/wiki/Disjunctive_normal_form - */ -function isDisjunctiveNormalForm(filter: Filter): boolean { - return ( - isSingleFieldFilter(filter) || - isFlatConjunction(filter) || - isDisjunctionOfFieldFiltersAndFlatConjunctions(filter) - ); -} - -/** - * Returns true if the given filter is the disjunction of one or more "flat conjunctions" and - * field filters. e.g. (a == 10) || (b==20 && c==30) - */ -function isDisjunctionOfFieldFiltersAndFlatConjunctions( - filter: Filter -): boolean { - if (filter instanceof CompositeFilter) { - if (compositeFilterIsDisjunction(filter)) { - for (const subFilter of filter.getFilters()) { - if (!isSingleFieldFilter(subFilter) && !isFlatConjunction(subFilter)) { - return false; - } - } - - return true; - } - } - - return false; -} - -export function computeDistributedNormalForm(filter: Filter): Filter { - hardAssert( - filter instanceof FieldFilter || filter instanceof CompositeFilter, - 'Only field filters and composite filters are accepted.' - ); - - if (filter instanceof FieldFilter) { - return filter; - } - - if (filter.filters.length === 1) { - return computeDistributedNormalForm(filter.filters[0]); - } - - // Compute DNF for each of the subfilters first - const result = filter.filters.map(subfilter => - computeDistributedNormalForm(subfilter) - ); - - let newFilter: Filter = CompositeFilter.create(result, filter.op); - newFilter = applyAssociation(newFilter); - - if (isDisjunctiveNormalForm(newFilter)) { - return newFilter; - } - - hardAssert( - newFilter instanceof CompositeFilter, - 'field filters are already in DNF form' - ); - hardAssert( - compositeFilterIsConjunction(newFilter), - 'Disjunction of filters all of which are already in DNF form is itself in DNF form.' - ); - hardAssert( - newFilter.filters.length > 1, - 'Single-filter composite filters are already in DNF form.' - ); - - return newFilter.filters.reduce((runningResult, filter) => - applyDistribution(runningResult, filter) - ); -} - -export function applyDistribution(lhs: Filter, rhs: Filter): Filter { - hardAssert( - lhs instanceof FieldFilter || lhs instanceof CompositeFilter, - 'Only field filters and composite filters are accepted.' - ); - hardAssert( - rhs instanceof FieldFilter || rhs instanceof CompositeFilter, - 'Only field filters and composite filters are accepted.' - ); - - let result: Filter; - - if (lhs instanceof FieldFilter) { - if (rhs instanceof FieldFilter) { - // FieldFilter FieldFilter - result = applyDistributionFieldFilters(lhs, rhs); - } else { - // FieldFilter CompositeFilter - result = applyDistributionFieldAndCompositeFilters(lhs, rhs); - } - } else { - if (rhs instanceof FieldFilter) { - // CompositeFilter FieldFilter - result = applyDistributionFieldAndCompositeFilters(rhs, lhs); - } else { - // CompositeFilter CompositeFilter - result = applyDistributionCompositeFilters(lhs, rhs); - } - } - - return applyAssociation(result); -} - -function applyDistributionFieldFilters( - lhs: FieldFilter, - rhs: FieldFilter -): Filter { - // Conjunction distribution for two field filters is the conjunction of them. - return CompositeFilter.create([lhs, rhs], CompositeOperator.AND); -} - -function applyDistributionCompositeFilters( - lhs: CompositeFilter, - rhs: CompositeFilter -): Filter { - hardAssert( - lhs.filters.length > 0 && rhs.filters.length > 0, - 'Found an empty composite filter' - ); - - // There are four cases: - // (A & B) & (C & D) --> (A & B & C & D) - // (A & B) & (C | D) --> (A & B & C) | (A & B & D) - // (A | B) & (C & D) --> (C & D & A) | (C & D & B) - // (A | B) & (C | D) --> (A & C) | (A & D) | (B & C) | (B & D) - - // Case 1 is a merge. - if (compositeFilterIsConjunction(lhs) && compositeFilterIsConjunction(rhs)) { - return compositeFilterWithAddedFilters(lhs, rhs.getFilters()); - } - - // Case 2,3,4 all have at least one side (lhs or rhs) that is a disjunction. In all three cases - // we should take each element of the disjunction and distribute it over the other side, and - // return the disjunction of the distribution results. - const disjunctionSide = compositeFilterIsDisjunction(lhs) ? lhs : rhs; - const otherSide = compositeFilterIsDisjunction(lhs) ? rhs : lhs; - const results = disjunctionSide.filters.map(subfilter => - applyDistribution(subfilter, otherSide) - ); - return CompositeFilter.create(results, CompositeOperator.OR); -} - -function applyDistributionFieldAndCompositeFilters( - fieldFilter: FieldFilter, - compositeFilter: CompositeFilter -): Filter { - // There are two cases: - // A & (B & C) --> (A & B & C) - // A & (B | C) --> (A & B) | (A & C) - if (compositeFilterIsConjunction(compositeFilter)) { - // Case 1 - return compositeFilterWithAddedFilters( - compositeFilter, - fieldFilter.getFilters() - ); - } else { - // Case 2 - const newFilters = compositeFilter.filters.map(subfilter => - applyDistribution(fieldFilter, subfilter) - ); - - return CompositeFilter.create(newFilters, CompositeOperator.OR); - } -} - -/** - * Applies the associativity property to the given filter and returns the resulting filter. - * - *

    - *
  • A | (B | C) == (A | B) | C == (A | B | C) - *
  • A & (B & C) == (A & B) & C == (A & B & C) - *
- * - *

For more info, visit: https://en.wikipedia.org/wiki/Associative_property#Propositional_logic - */ -export function applyAssociation(filter: Filter): Filter { - hardAssert( - filter instanceof FieldFilter || filter instanceof CompositeFilter, - 'Only field filters and composite filters are accepted.' - ); - - if (filter instanceof FieldFilter) { - return filter; - } - - const filters = filter.getFilters(); - - // If the composite filter only contains 1 filter, apply associativity to it. - if (filters.length === 1) { - return applyAssociation(filters[0]); - } - - // Associativity applied to a flat composite filter results is itself. - if (compositeFilterIsFlat(filter)) { - return filter; - } - - // First apply associativity to all subfilters. This will in turn recursively apply - // associativity to all nested composite filters and field filters. - const updatedFilters = filters.map(subfilter => applyAssociation(subfilter)); - - // For composite subfilters that perform the same kind of logical operation as `compositeFilter` - // take out their filters and add them to `compositeFilter`. For example: - // compositeFilter = (A | (B | C | D)) - // compositeSubfilter = (B | C | D) - // Result: (A | B | C | D) - // Note that the `compositeSubfilter` has been eliminated, and its filters (B, C, D) have been - // added to the top-level "compositeFilter". - const newSubfilters: Filter[] = []; - updatedFilters.forEach(subfilter => { - if (subfilter instanceof FieldFilter) { - newSubfilters.push(subfilter); - } else if (subfilter instanceof CompositeFilter) { - if (subfilter.op === filter.op) { - // compositeFilter: (A | (B | C)) - // compositeSubfilter: (B | C) - // Result: (A | B | C) - newSubfilters.push(...subfilter.filters); - } else { - // compositeFilter: (A | (B & C)) - // compositeSubfilter: (B & C) - // Result: (A | (B & C)) - newSubfilters.push(subfilter); - } - } - }); - - if (newSubfilters.length === 1) { - return newSubfilters[0]; - } - - return CompositeFilter.create(newSubfilters, filter.op); -} diff --git a/packages/firestore/src/util/types.ts b/packages/firestore/src/util/types.ts index c298bfe2131..be547455983 100644 --- a/packages/firestore/src/util/types.ts +++ b/packages/firestore/src/util/types.ts @@ -61,7 +61,7 @@ export interface WindowLike { /** The subset of the browser's Document interface used by the SDK. */ export interface DocumentLike { - readonly visibilityState: DocumentVisibilityState; + readonly visibilityState: VisibilityState; addEventListener(type: string, listener: EventListener): void; removeEventListener(type: string, listener: EventListener): void; } diff --git a/packages/firestore/test/integration/api/query.test.ts b/packages/firestore/test/integration/api/query.test.ts index f76baf19b9f..68752f44743 100644 --- a/packages/firestore/test/integration/api/query.test.ts +++ b/packages/firestore/test/integration/api/query.test.ts @@ -22,7 +22,6 @@ import { Deferred } from '../../util/promise'; import { EventsAccumulator } from '../util/events_accumulator'; import { addDoc, - and, Bytes, collection, collectionGroup, @@ -37,14 +36,10 @@ import { endBefore, GeoPoint, getDocs, - getDocsFromCache, - getDocsFromServer, limit, limitToLast, onSnapshot, - or, orderBy, - Query, query, QuerySnapshot, setDoc, @@ -59,7 +54,6 @@ import { apiDescribe, toChangesArray, toDataArray, - toIds, withEmptyTestCollection, withTestCollection, withTestDb @@ -1329,253 +1323,6 @@ apiDescribe('Queries', (persistence: boolean) => { }); }); - // TODO(orquery): Enable these tests when prod supports OR queries. - // eslint-disable-next-line no-restricted-properties - (false && persistence ? describe : describe.skip)('OR Queries', () => { - it('can use query overloads', () => { - const testDocs = { - doc1: { a: 1, b: 0 }, - doc2: { a: 2, b: 1 }, - doc3: { a: 3, b: 2 }, - doc4: { a: 1, b: 3 }, - doc5: { a: 1, b: 1 } - }; - - return withTestCollection(persistence, testDocs, async coll => { - // a == 1 - await checkOnlineAndOfflineResultsMatch( - query(coll, where('a', '==', 1)), - 'doc1', - 'doc4', - 'doc5' - ); - - // Implicit AND: a == 1 && b == 3 - await checkOnlineAndOfflineResultsMatch( - query(coll, where('a', '==', 1), where('b', '==', 3)), - 'doc4' - ); - - // explicit AND: a == 1 && b == 3 - await checkOnlineAndOfflineResultsMatch( - query(coll, and(where('a', '==', 1), where('b', '==', 3))), - 'doc4' - ); - - // a == 1, limit 2 - await checkOnlineAndOfflineResultsMatch( - query(coll, where('a', '==', 1), limit(2)), - 'doc1', - 'doc4' - ); - - // a == 1, limit 2, b - desc - await checkOnlineAndOfflineResultsMatch( - query(coll, where('a', '==', 1), limit(2), orderBy('b', 'desc')), - 'doc4', - 'doc5' - ); - - // explicit OR: a == 1 || b == 1 with limit 2 - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 1), where('b', '==', 1)), limit(2)), - 'doc1', - 'doc2' - ); - - // only limit 2 - await checkOnlineAndOfflineResultsMatch( - query(coll, limit(2)), - 'doc1', - 'doc2' - ); - - // limit 2 and order by b desc - await checkOnlineAndOfflineResultsMatch( - query(coll, limit(2), orderBy('b', 'desc')), - 'doc4', - 'doc3' - ); - }); - }); - - it('can use or queries', () => { - const testDocs = { - doc1: { a: 1, b: 0 }, - doc2: { a: 2, b: 1 }, - doc3: { a: 3, b: 2 }, - doc4: { a: 1, b: 3 }, - doc5: { a: 1, b: 1 } - }; - - return withTestCollection(persistence, testDocs, async coll => { - // Two equalities: a==1 || b==1. - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 1), where('b', '==', 1))), - 'doc1', - 'doc2', - 'doc4', - 'doc5' - ); - - // with one inequality: a>2 || b==1. - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '>', 2), where('b', '==', 1))), - 'doc5', - 'doc2', - 'doc3' - ); - - // (a==1 && b==0) || (a==3 && b==2) - await checkOnlineAndOfflineResultsMatch( - query( - coll, - or( - and(where('a', '==', 1), where('b', '==', 0)), - and(where('a', '==', 3), where('b', '==', 2)) - ) - ), - 'doc1', - 'doc3' - ); - - // a==1 && (b==0 || b==3). - await checkOnlineAndOfflineResultsMatch( - query( - coll, - and( - where('a', '==', 1), - or(where('b', '==', 0), where('b', '==', 3)) - ) - ), - 'doc1', - 'doc4' - ); - - // (a==2 || b==2) && (a==3 || b==3) - await checkOnlineAndOfflineResultsMatch( - query( - coll, - and( - or(where('a', '==', 2), where('b', '==', 2)), - or(where('a', '==', 3), where('b', '==', 3)) - ) - ), - 'doc3' - ); - - // Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2 - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 1), where('b', '>', 0)), limit(2)), - 'doc1', - 'doc2' - ); - - // Test with limits (explicit order by): (a==1) || (b > 0) LIMIT_TO_LAST 2 - // Note: The public query API does not allow implicit ordering when limitToLast is used. - await checkOnlineAndOfflineResultsMatch( - query( - coll, - or(where('a', '==', 1), where('b', '>', 0)), - limitToLast(2), - orderBy('b') - ), - 'doc3', - 'doc4' - ); - - // Test with limits (explicit order by ASC): (a==2) || (b == 1) ORDER BY a LIMIT 1 - await checkOnlineAndOfflineResultsMatch( - query( - coll, - or(where('a', '==', 2), where('b', '==', 1)), - limit(1), - orderBy('a') - ), - 'doc5' - ); - - // Test with limits (explicit order by DESC): (a==2) || (b == 1) ORDER BY a LIMIT_TO_LAST 1 - await checkOnlineAndOfflineResultsMatch( - query( - coll, - or(where('a', '==', 2), where('b', '==', 1)), - limitToLast(1), - orderBy('a') - ), - 'doc2' - ); - - // Test with limits without orderBy (the __name__ ordering is the tie breaker). - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 2), where('b', '==', 1)), limit(1)), - 'doc2' - ); - }); - }); - - it('can use or queries with in and not-in', () => { - const testDocs = { - doc1: { a: 1, b: 0 }, - doc2: { b: 1 }, - doc3: { a: 3, b: 2 }, - doc4: { a: 1, b: 3 }, - doc5: { a: 1 }, - doc6: { a: 2 } - }; - - return withTestCollection(persistence, testDocs, async coll => { - // a==2 || b in [2,3] - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 2), where('b', 'in', [2, 3]))), - 'doc3', - 'doc4', - 'doc6' - ); - - // a==2 || b not-in [2,3] - // Has implicit orderBy b. - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 2), where('b', 'not-in', [2, 3]))), - 'doc1', - 'doc2' - ); - }); - }); - - it('can use or queries with array membership', () => { - const testDocs = { - doc1: { a: 1, b: [0] }, - doc2: { b: [1] }, - doc3: { a: 3, b: [2, 7] }, - doc4: { a: 1, b: [3, 7] }, - doc5: { a: 1 }, - doc6: { a: 2 } - }; - - return withTestCollection(persistence, testDocs, async coll => { - // a==2 || b array-contains 7 - await checkOnlineAndOfflineResultsMatch( - query(coll, or(where('a', '==', 2), where('b', 'array-contains', 7))), - 'doc3', - 'doc4', - 'doc6' - ); - - // a==2 || b array-contains-any [0, 3] - await checkOnlineAndOfflineResultsMatch( - query( - coll, - or(where('a', '==', 2), where('b', 'array-contains-any', [0, 3])) - ), - 'doc1', - 'doc4', - 'doc6' - ); - }); - }); - }); - // Reproduces https://github.com/firebase/firebase-js-sdk/issues/5873 // eslint-disable-next-line no-restricted-properties (persistence ? describe : describe.skip)('Caching empty results', () => { @@ -1628,25 +1375,3 @@ function verifyDocumentChange( expect(change.oldIndex).to.equal(oldIndex); expect(change.newIndex).to.equal(newIndex); } - -/** - * Checks that running the query while online (against the backend/emulator) results in the same - * documents as running the query while offline. If `expectedDocs` is provided, it also checks - * that both online and offline query result is equal to the expected documents. - * - * @param query The query to check - * @param expectedDocs Ordered list of document keys that are expected to match the query - */ -async function checkOnlineAndOfflineResultsMatch( - query: Query, - ...expectedDocs: string[] -): Promise { - const docsFromServer = await getDocsFromServer(query); - - if (expectedDocs.length !== 0) { - expect(expectedDocs).to.deep.equal(toIds(docsFromServer)); - } - - const docsFromCache = await getDocsFromCache(query); - expect(toIds(docsFromServer)).to.deep.equal(toIds(docsFromCache)); -} diff --git a/packages/firestore/test/integration/api/type.test.ts b/packages/firestore/test/integration/api/type.test.ts index de7614459fa..48b8d0ac4c8 100644 --- a/packages/firestore/test/integration/api/type.test.ts +++ b/packages/firestore/test/integration/api/type.test.ts @@ -96,7 +96,7 @@ apiDescribe('Firestore', (persistence: boolean) => { const validateSnapshots = !persistence; await expectRoundtrip( db, - { a: 1, b: NaN, c: Infinity, d: persistence ? 0.0 : 0.0 }, + { a: 1, b: NaN, c: Infinity, d: persistence ? 0.0 : -0.0 }, validateSnapshots ); }); diff --git a/packages/firestore/test/integration/api/validation.test.ts b/packages/firestore/test/integration/api/validation.test.ts index c118e485310..2943a8b0c06 100644 --- a/packages/firestore/test/integration/api/validation.test.ts +++ b/packages/firestore/test/integration/api/validation.test.ts @@ -50,8 +50,6 @@ import { setDoc, updateDoc, where, - or, - and, newTestApp } from '../util/firebase_export'; import { @@ -1319,148 +1317,6 @@ apiDescribe('Validation:', (persistence: boolean) => { 'Function startAt() called with invalid data. Unsupported field value: undefined' ); }); - - validationIt(persistence, 'invalid query filters fail', db => { - // Multiple inequalities, one of which is inside a nested composite filter. - const coll = collection(db, 'test'); - expect(() => - query( - coll, - and( - or( - and(where('a', '==', 'b'), where('c', '>', 'd')), - and(where('e', '==', 'f'), where('g', '==', 'h')) - ), - where('r', '>', 's') - ) - ) - ).to.throw( - "Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on 'c' and 'r'" - ); - - // OrderBy and inequality on different fields. Inequality inside a nested composite filter. - expect(() => - query( - coll, - or( - and(where('a', '==', 'b'), where('c', '>', 'd')), - and(where('e', '==', 'f'), where('g', '==', 'h')) - ), - orderBy('r') - ) - ).to.throw( - "Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field 'c' and so you must also use 'c' as your first argument to orderBy(), but your first orderBy() is on field 'r' instead." - ); - - // Conflicting operations within a composite filter. - expect(() => - query( - coll, - or( - and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), - and(where('e', '==', 'f'), where('c', 'not-in', ['f', 'g'])) - ) - ) - ).to.throw( - "Invalid query. You cannot use 'not-in' filters with 'in' filters." - ); - - // Conflicting operations between a field filter and a composite filter. - expect(() => - query( - coll, - and( - or( - and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), - and(where('e', '==', 'f'), where('g', '==', 'h')) - ), - where('i', 'not-in', ['j', 'k']) - ) - ) - ).to.throw( - "Invalid query. You cannot use 'not-in' filters with 'in' filters." - ); - - // Conflicting operations between two composite filters. - expect(() => - query( - coll, - and( - or( - and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), - and(where('e', '==', 'f'), where('g', '==', 'h')) - ), - or( - and(where('i', '==', 'j'), where('l', 'not-in', ['m', 'n'])), - and(where('o', '==', 'p'), where('q', '==', 'r')) - ) - ) - ) - ).to.throw( - "Invalid query. You cannot use 'not-in' filters with 'in' filters." - ); - - // Multiple top level composite filters - expect(() => - // @ts-ignore - query(coll, and(where('a', '==', 'b')), or(where('b', '==', 'a'))) - ).to.throw( - 'InvalidQuery. When using composite filters, you cannot use ' + - 'more than one filter at the top level. Consider nesting the multiple ' + - 'filters within an `and(...)` statement. For example: ' + - 'change `query(query, where(...), or(...))` to ' + - '`query(query, and(where(...), or(...)))`.' - ); - - // Once top level composite filter and one top level field filter - expect(() => - // @ts-ignore - query(coll, or(where('a', '==', 'b')), where('b', '==', 'a')) - ).to.throw( - 'InvalidQuery. When using composite filters, you cannot use ' + - 'more than one filter at the top level. Consider nesting the multiple ' + - 'filters within an `and(...)` statement. For example: ' + - 'change `query(query, where(...), or(...))` to ' + - '`query(query, and(where(...), or(...)))`.' - ); - }); - - validationIt( - persistence, - 'passing non-filters to composite operators fails', - db => { - const compositeOperators = [ - { name: 'or', func: or }, - { name: 'and', func: and } - ]; - const nonFilterOps = [ - limit(1), - limitToLast(2), - startAt(1), - startAfter(1), - endAt(1), - endBefore(1), - orderBy('a') - ]; - - for (const compositeOp of compositeOperators) { - for (const nonFilterOp of nonFilterOps) { - const coll = collection(db, 'test'); - expect(() => - query( - coll, - compositeOp.func( - // @ts-ignore - nonFilterOp - ) - ) - ).to.throw( - `Function ${compositeOp.name}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.` - ); - } - } - } - ); }); }); diff --git a/packages/firestore/test/integration/api_internal/transaction.test.ts b/packages/firestore/test/integration/api_internal/transaction.test.ts index 54cca274e98..7eab6d7d53d 100644 --- a/packages/firestore/test/integration/api_internal/transaction.test.ts +++ b/packages/firestore/test/integration/api_internal/transaction.test.ts @@ -17,7 +17,6 @@ import { expect } from 'chai'; -import { FirestoreError } from '../../../src'; import { DEFAULT_TRANSACTION_OPTIONS } from '../../../src/core/transaction_options'; import { TimerId } from '../../../src/util/async_queue'; import { Deferred } from '../../util/promise'; @@ -156,8 +155,7 @@ apiDescribe( await transaction.set(docRef, { count: 16 }); }); expect.fail('transaction should fail'); - } catch (e) { - const err = e as FirestoreError; + } catch (err) { expect(err).to.exist; expect(err.code).to.equal('aborted'); } @@ -196,8 +194,7 @@ apiDescribe( options ); expect.fail('transaction should fail'); - } catch (e) { - const err = e as FirestoreError; + } catch (err) { expect(err).to.exist; expect(err.code).to.equal('aborted'); } diff --git a/packages/firestore/test/unit/core/filter.test.ts b/packages/firestore/test/unit/core/filter.test.ts deleted file mode 100644 index 3011e3f1647..00000000000 --- a/packages/firestore/test/unit/core/filter.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { expect } from 'chai'; - -import { - compositeFilterIsConjunction, - compositeFilterIsDisjunction, - compositeFilterIsFlat, - compositeFilterIsFlatConjunction, - FieldFilter, - Operator -} from '../../../src/core/filter'; -import { andFilter, filter, orFilter } from '../../util/helpers'; - -describe('FieldFilter', () => { - it('exposes field filter members', () => { - const f = filter('foo', '==', 'bar'); - - expect(f.field.toString()).to.equal('foo'); - expect(f.value.stringValue).to.equal('bar'); - expect(f.op).to.equal(Operator.EQUAL); - }); -}); - -describe('CompositeFilter', () => { - let a: FieldFilter; - let b: FieldFilter; - let c: FieldFilter; - let d: FieldFilter; - - function nameFilter(name: string): FieldFilter { - return filter('name', '==', name); - } - - beforeEach(async () => { - a = nameFilter('A'); - b = nameFilter('B'); - c = nameFilter('C'); - d = nameFilter('D'); - }); - - it('exposes composite filter members for AND filter', () => { - const f = andFilter(a, b, c); - - expect(compositeFilterIsConjunction(f)).to.be.true; - expect(f.getFilters()).to.deep.equal([a, b, c]); - }); - - it('exposes composite filter members for OR filter', () => { - const f = orFilter(a, b, c); - - expect(compositeFilterIsDisjunction(f)).to.be.true; - expect(f.getFilters()).to.deep.equal([a, b, c]); - }); - - it('has working composite filter nested checks', () => { - const andFilter1 = andFilter(a, b, c); - expect(compositeFilterIsFlat(andFilter1)).true; - expect(compositeFilterIsConjunction(andFilter1)).true; - expect(compositeFilterIsDisjunction(andFilter1)).false; - expect(compositeFilterIsFlatConjunction(andFilter1)).true; - - const orFilter1 = orFilter(a, b, c); - expect(compositeFilterIsConjunction(orFilter1)).false; - expect(compositeFilterIsDisjunction(orFilter1)).true; - expect(compositeFilterIsFlat(orFilter1)).true; - expect(compositeFilterIsFlatConjunction(orFilter1)).false; - - const andFilter2 = andFilter(d, andFilter1); - expect(compositeFilterIsConjunction(andFilter2)).true; - expect(compositeFilterIsDisjunction(andFilter2)).false; - expect(compositeFilterIsFlat(andFilter2)).false; - expect(compositeFilterIsFlatConjunction(andFilter2)).false; - - const orFilter2 = orFilter(d, andFilter1); - expect(compositeFilterIsConjunction(orFilter2)).false; - expect(compositeFilterIsDisjunction(orFilter2)).true; - expect(compositeFilterIsFlat(orFilter2)).false; - expect(compositeFilterIsFlatConjunction(orFilter2)).false; - }); -}); diff --git a/packages/firestore/test/unit/core/query.test.ts b/packages/firestore/test/unit/core/query.test.ts index c88532474be..2acfbc65cda 100644 --- a/packages/firestore/test/unit/core/query.test.ts +++ b/packages/firestore/test/unit/core/query.test.ts @@ -18,8 +18,6 @@ import { expect } from 'chai'; import { Bytes, GeoPoint, Timestamp } from '../../../src'; -import { Bound, boundEquals } from '../../../src/core/bound'; -import { OrderBy } from '../../../src/core/order_by'; import { canonifyQuery, LimitType, @@ -40,19 +38,21 @@ import { queryCollectionGroup, newQueryForCollectionGroup } from '../../../src/core/query'; -import { canonifyTarget } from '../../../src/core/target'; -import { MutableDocument } from '../../../src/model/document'; +import { + Bound, + boundEquals, + canonifyTarget, + OrderBy +} from '../../../src/core/target'; import { DOCUMENT_KEY_NAME, ResourcePath } from '../../../src/model/path'; import { addEqualityMatcher } from '../../util/equality_matcher'; import { - andFilter, bound, doc, expectCorrectComparisons, expectEqualitySets, filter, orderBy, - orFilter, query, ref, wrap @@ -800,71 +800,6 @@ describe('Query', () => { expect(queryMatchesAllDocuments(query1)).to.be.false; }); - it('matches composite queries', () => { - const doc1 = doc('collection/1', 0, { a: 1, b: 0 }); - const doc2 = doc('collection/2', 0, { a: 2, b: 1 }); - const doc3 = doc('collection/3', 0, { a: 3, b: 2 }); - const doc4 = doc('collection/4', 0, { a: 1, b: 3 }); - const doc5 = doc('collection/5', 0, { a: 1, b: 1 }); - - // Two equalities: a==1 || b==1. - const query1 = query( - 'collection', - orFilter(filter('a', '==', 1), filter('b', '==', 1)) - ); - assertQueryMatches(query1, [doc1, doc2, doc4, doc5], [doc3]); - - // with one inequality: a>2 || b==1. - const query2 = query( - 'collection', - orFilter(filter('a', '>', 2), filter('b', '==', 1)) - ); - assertQueryMatches(query2, [doc2, doc3, doc5], [doc1, doc4]); - - // (a==1 && b==0) || (a==3 && b==2) - const query3 = query( - 'collection', - orFilter( - andFilter(filter('a', '==', 1), filter('b', '==', 0)), - andFilter(filter('a', '==', 3), filter('b', '==', 2)) - ) - ); - assertQueryMatches(query3, [doc1, doc3], [doc2, doc4, doc5]); - - // a==1 && (b==0 || b==3). - const query4 = query( - 'collection', - andFilter( - filter('a', '==', 1), - orFilter(filter('b', '==', 0), filter('b', '==', 3)) - ) - ); - assertQueryMatches(query4, [doc1, doc4], [doc2, doc3, doc5]); - - // (a==2 || b==2) && (a==3 || b==3) - const query5 = query( - 'collection', - andFilter( - orFilter(filter('a', '==', 2), filter('b', '==', 2)), - orFilter(filter('a', '==', 3), filter('b', '==', 3)) - ) - ); - assertQueryMatches(query5, [doc3], [doc1, doc2, doc4, doc5]); - }); - - function assertQueryMatches( - query: Query, - matching: MutableDocument[], - nonMatching: MutableDocument[] - ): void { - for (const doc of matching) { - expect(queryMatches(query, doc)).to.be.true; - } - for (const doc of nonMatching) { - expect(queryMatches(query, doc)).to.be.false; - } - } - function assertImplicitOrderBy(query: Query, ...orderBys: OrderBy[]): void { expect(queryOrderBy(query)).to.deep.equal(orderBys); } diff --git a/packages/firestore/test/unit/local/index_manager.test.ts b/packages/firestore/test/unit/local/index_manager.test.ts index 1d96ca90e84..dc8c7225901 100644 --- a/packages/firestore/test/unit/local/index_manager.test.ts +++ b/packages/firestore/test/unit/local/index_manager.test.ts @@ -18,7 +18,6 @@ import { expect } from 'chai'; import { User } from '../../../src/auth/user'; -import { FieldFilter } from '../../../src/core/filter'; import { LimitType, newQueryForCollectionGroup, @@ -30,6 +29,7 @@ import { queryWithLimit, queryWithStartAt } from '../../../src/core/query'; +import { FieldFilter } from '../../../src/core/target'; import { IndexType } from '../../../src/local/index_manager'; import { IndexedDbPersistence } from '../../../src/local/indexeddb_persistence'; import { Persistence } from '../../../src/local/persistence'; @@ -636,20 +636,6 @@ describe('IndexedDbIndexManager', async () => { .be.null; }); - it('handles when no matching filter exists', async () => { - await setUpSingleValueFilter(); - const q = queryWithAddedFilter( - query('coll'), - filter('unknown', '==', true) - ); - - expect(await indexManager.getIndexType(queryToTarget(q))).to.equal( - IndexType.NONE - ); - expect(await indexManager.getDocumentsMatchingTarget(queryToTarget(q))).to - .be.null; - }); - it('returns empty results when no matching documents exists', async () => { await setUpSingleValueFilter(); const q = queryWithAddedFilter(query('coll'), filter('count', '==', -1)); @@ -769,19 +755,6 @@ describe('IndexedDbIndexManager', async () => { await verifyResults(q, 'coll/val2', 'coll/val1b', 'coll/val1a'); }); - it('supports order by filter', async () => { - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['count', IndexKind.ASCENDING]] }) - ); - - await addDoc('coll/val1a', { 'count': 1 }); - await addDoc('coll/val1b', { 'count': 1 }); - await addDoc('coll/val2', { 'count': 2 }); - - const q = queryWithAddedOrderBy(query('coll'), orderBy('count')); - await verifyResults(q, 'coll/val1a', 'coll/val1b', 'coll/val2'); - }); - it('supports ascending order with greater than filter', async () => { await setUpMultipleOrderBys(); diff --git a/packages/firestore/test/unit/local/indexeddb_persistence.test.ts b/packages/firestore/test/unit/local/indexeddb_persistence.test.ts index 991b149cfc7..674e893fabe 100644 --- a/packages/firestore/test/unit/local/indexeddb_persistence.test.ts +++ b/packages/firestore/test/unit/local/indexeddb_persistence.test.ts @@ -1310,8 +1310,8 @@ describe('IndexedDb: canActAsPrimary', () => { after(() => SimpleDb.delete(INDEXEDDB_TEST_DATABASE_NAME)); - const visible: DocumentVisibilityState = 'visible'; - const hidden: DocumentVisibilityState = 'hidden'; + const visible: VisibilityState = 'visible'; + const hidden: VisibilityState = 'hidden'; const networkEnabled = true; const networkDisabled = false; const primary = true; @@ -1319,9 +1319,9 @@ describe('IndexedDb: canActAsPrimary', () => { type ExpectedPrimaryStateTestCase = [ boolean, - DocumentVisibilityState, + VisibilityState, boolean, - DocumentVisibilityState, + VisibilityState, boolean ]; diff --git a/packages/firestore/test/unit/local/query_engine.test.ts b/packages/firestore/test/unit/local/query_engine.test.ts index 0762bad2a42..44f22e8b234 100644 --- a/packages/firestore/test/unit/local/query_engine.test.ts +++ b/packages/firestore/test/unit/local/query_engine.test.ts @@ -41,8 +41,8 @@ import { TargetCache } from '../../../src/local/target_cache'; import { documentKeySet, DocumentMap, - documentMap, - newMutationMap + newMutationMap, + documentMap } from '../../../src/model/collections'; import { Document, MutableDocument } from '../../../src/model/document'; import { DocumentKey } from '../../../src/model/document_key'; @@ -56,16 +56,14 @@ import { import { Mutation } from '../../../src/model/mutation'; import { debugAssert } from '../../../src/util/assert'; import { - andFilter, deleteMutation, doc, - fieldIndex, filter, key, orderBy, - orFilter, - patchMutation, query, + fieldIndex, + patchMutation, setMutation, version } from '../../util/helpers'; @@ -109,11 +107,9 @@ class TestLocalDocumentsView extends LocalDocumentsView { } describe('MemoryQueryEngine', async () => { - /* not durable and without client side indexing */ genericQueryEngineTest( - false, - persistenceHelpers.testMemoryEagerPersistence, - false + /* durable= */ false, + persistenceHelpers.testMemoryEagerPersistence ); }); @@ -128,11 +124,7 @@ describe('IndexedDbQueryEngine', async () => { persistencePromise = persistenceHelpers.testIndexedDbPersistence(); }); - /* durable but without client side indexing */ - genericQueryEngineTest(true, () => persistencePromise, false); - - /* durable and with client side indexing */ - genericQueryEngineTest(true, () => persistencePromise, true); + genericQueryEngineTest(/* durable= */ true, () => persistencePromise); }); /** @@ -142,13 +134,10 @@ describe('IndexedDbQueryEngine', async () => { * @param durable Whether the provided persistence is backed by IndexedDB * @param persistencePromise A factory function that returns an initialized * persistence layer. - * @param configureCsi Whether tests should configure client side indexing - * or use full table scans. */ function genericQueryEngineTest( durable: boolean, - persistencePromise: () => Promise, - configureCsi: boolean + persistencePromise: () => Promise ): void { let persistence!: Persistence; let remoteDocumentCache!: RemoteDocumentCache; @@ -290,1125 +279,343 @@ function genericQueryEngineTest( } }); - // Tests in this section do not support client side indexing - if (!configureCsi) { - it('uses target mapping for initial view', async () => { - const query1 = query('coll', filter('matches', '==', true)); + it('uses target mapping for initial view', async () => { + const query1 = query('coll', filter('matches', '==', true)); - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); - }); + verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); + }); - it('filters non-matching changes since initial results', async () => { - const query1 = query('coll', filter('matches', '==', true)); + it('filters non-matching changes since initial results', async () => { + const query1 = query('coll', filter('matches', '==', true)); - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - // Add a mutation that is not yet part of query's set of remote keys. - await addMutation(patchMutation('coll/a', { 'matches': false })); + // Add a mutation that is not yet part of query's set of remote keys. + await addMutation(patchMutation('coll/a', { 'matches': false })); - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('includes changes since initial results', async () => { - const query1 = query('coll', filter('matches', '==', true)); + it('includes changes since initial results', async () => { + const query1 = query('coll', filter('matches', '==', true)); - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - let docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); + let docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); - // Add a mutated document that is not yet part of query's set of remote keys. - await addDocument(UPDATED_MATCHING_DOC_B); + // Add a mutated document that is not yet part of query's set of remote keys. + await addDocument(UPDATED_MATCHING_DOC_B); - docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A, UPDATED_MATCHING_DOC_B]); - }); + docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A, UPDATED_MATCHING_DOC_B]); + }); - it('does not use initial results without limbo free snapshot version', async () => { - const query1 = query('coll', filter('matches', '==', true)); + it('does not use initial results without limbo free snapshot version', async () => { + const query1 = query('coll', filter('matches', '==', true)); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, []); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, []); + }); - it('does not use initial results for unfiltered collection query', async () => { - const query1 = query('coll'); + it('does not use initial results for unfiltered collection query', async () => { + const query1 = query('coll'); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, []); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, []); + }); - it('does not use initial results for limit query with document removal', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true)), - 1, - LimitType.First - ); + it('does not use initial results for limit query with document removal', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true)), + 1, + LimitType.First + ); - // While the backend would never add DocA to the set of remote keys, this - // allows us to easily simulate what would happen when a document no longer - // matches due to an out-of-band update. - await addDocument(NON_MATCHING_DOC_A); - await persistQueryMapping(NON_MATCHING_DOC_A.key); + // While the backend would never add DocA to the set of remote keys, this + // allows us to easily simulate what would happen when a document no longer + // matches due to an out-of-band update. + await addDocument(NON_MATCHING_DOC_A); + await persistQueryMapping(NON_MATCHING_DOC_A.key); - await addDocument(MATCHING_DOC_B); + await addDocument(MATCHING_DOC_B); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('does not use initial results for limitToLast query with document removal', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.Last - ); + it('does not use initial results for limitToLast query with document removal', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.Last + ); - // While the backend would never add DocA to the set of remote keys, this - // allows us to easily simulate what would happen when a document no longer - // matches due to an out-of-band update. - await addDocument(NON_MATCHING_DOC_A); - await persistQueryMapping(NON_MATCHING_DOC_A.key); + // While the backend would never add DocA to the set of remote keys, this + // allows us to easily simulate what would happen when a document no longer + // matches due to an out-of-band update. + await addDocument(NON_MATCHING_DOC_A); + await persistQueryMapping(NON_MATCHING_DOC_A.key); - await addDocument(MATCHING_DOC_B); + await addDocument(MATCHING_DOC_B); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('does not use initial results for limit query when last document has pending write', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.First - ); - - // Add a query mapping for a document that matches, but that sorts below - // another document due to a pending write. - await addDocument(MATCHING_DOC_A); - await addMutation(patchMutation('coll/a', { order: 1 })); - await persistQueryMapping(MATCHING_DOC_A.key); - - await addDocument(MATCHING_DOC_B); - - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + it('does not use initial results for limit query when last document has pending write', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.First + ); - it('does not use initial results for limitToLast query when first document has pending write', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order')), - 1, - LimitType.Last - ); - // Add a query mapping for a document that matches, but that sorts below - // another document due to a pending write. - await addDocument(MATCHING_DOC_A); - await addMutation(patchMutation('coll/a', { order: 2 })); - await persistQueryMapping(MATCHING_DOC_A.key); - - await addDocument(MATCHING_DOC_B); - - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + // Add a query mapping for a document that matches, but that sorts below + // another document due to a pending write. + await addDocument(MATCHING_DOC_A); + await addMutation(patchMutation('coll/a', { order: 1 })); + await persistQueryMapping(MATCHING_DOC_A.key); - it('does not use initial results for limit query when last document has been updated out of band', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.First - ); - - // Add a query mapping for a document that matches, but that sorts below - // another document based on an update that the SDK received after the - // query's snapshot was persisted. - await addDocument(UPDATED_DOC_A); - await persistQueryMapping(UPDATED_DOC_A.key); - - await addDocument(MATCHING_DOC_B); - - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + await addDocument(MATCHING_DOC_B); - it('does not use initial results for limitToLast query when first document in limit has been updated out of band', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order')), - 1, - LimitType.Last - ); - // Add a query mapping for a document that matches, but that sorts below - // another document based on an update that the SDK received after the - // query's snapshot was persisted. - await addDocument(UPDATED_DOC_A); - await persistQueryMapping(UPDATED_DOC_A.key); - - await addDocument(MATCHING_DOC_B); - - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('uses initial results if last document in limit is unchanged', async () => { - const query1 = queryWithLimit( - query('coll', orderBy('order')), - 2, - LimitType.First - ); - - await addDocument(doc('coll/a', 1, { order: 1 })); - await addDocument(doc('coll/b', 1, { order: 3 })); - await persistQueryMapping(key('coll/a'), key('coll/b')); - - // Update "coll/a" but make sure it still sorts before "coll/b" - await addMutation(patchMutation('coll/a', { order: 2 })); - - // Since the last document in the limit didn't change (and hence we know - // that all documents written prior to query execution still sort after - // "coll/b"), we should use an Index-Free query. - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [ - doc('coll/a', 1, { order: 2 }).setHasLocalMutations(), - doc('coll/b', 1, { order: 3 }) - ]); - }); + it('does not use initial results for limitToLast query when first document has pending write', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order')), + 1, + LimitType.Last + ); + // Add a query mapping for a document that matches, but that sorts below + // another document due to a pending write. + await addDocument(MATCHING_DOC_A); + await addMutation(patchMutation('coll/a', { order: 2 })); + await persistQueryMapping(MATCHING_DOC_A.key); - it('does not include documents deleted by mutation', async () => { - const query1 = query('coll'); - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - - // Add an unacknowledged mutation - await addMutation(deleteMutation('coll/b')); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A]); - }); + await addDocument(MATCHING_DOC_B); - it('can perform OR queries using full collection scan', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'a': 2, 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1, 'b': 1 }); - - await addDocument(doc1, doc2, doc3, doc4, doc5); - - // Two equalities: a==1 || b==1. - const query1 = query( - 'coll', - orFilter(filter('a', '==', 1), filter('b', '==', 1)) - ); - const result1 = await expectFullCollectionQuery(() => - runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result1, [doc1, doc2, doc4, doc5]); - - // with one inequality: a>2 || b==1. - const query2 = query( - 'coll', - orFilter(filter('a', '>', 2), filter('b', '==', 1)) - ); - const result2 = await expectFullCollectionQuery(() => - runQuery(query2, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result2, [doc2, doc3, doc5]); - - // (a==1 && b==0) || (a==3 && b==2) - const query3 = query( - 'coll', - orFilter( - andFilter(filter('a', '==', 1), filter('b', '==', 0)), - andFilter(filter('a', '==', 3), filter('b', '==', 2)) - ) - ); - const result3 = await expectFullCollectionQuery(() => - runQuery(query3, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result3, [doc1, doc3]); - - // a==1 && (b==0 || b==3) - const query4 = query( - 'coll', - andFilter( - filter('a', '==', 1), - orFilter(filter('b', '==', 0), filter('b', '==', 3)) - ) - ); - const result4 = await expectFullCollectionQuery(() => - runQuery(query4, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result4, [doc1, doc4]); - - // (a==2 || b==2) && (a==3 || b==3) - const query5 = query( - 'coll', - andFilter( - orFilter(filter('a', '==', 2), filter('b', '==', 2)), - orFilter(filter('a', '==', 3), filter('b', '==', 3)) - ) - ); - const result5 = await expectFullCollectionQuery(() => - runQuery(query5, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result5, [doc3]); - - // Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2 - const query6 = queryWithLimit( - query('coll', orFilter(filter('a', '==', 1), filter('b', '>', 0))), - 2, - LimitType.First - ); - const result6 = await expectFullCollectionQuery(() => - runQuery(query6, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result6, [doc1, doc2]); - - // Test with limits (implicit order by DESC): (a==1) || (b > 0) LIMIT_TO_LAST 2 - const query7 = queryWithLimit( - query('coll', orFilter(filter('a', '==', 1), filter('b', '>', 0))), - 2, - LimitType.Last - ); - const result7 = await expectFullCollectionQuery(() => - runQuery(query7, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result7, [doc3, doc4]); - - // Test with limits (explicit order by ASC): (a==2) || (b == 1) ORDER BY a LIMIT 1 - const query8 = queryWithAddedOrderBy( - queryWithLimit( - query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), - 1, - LimitType.First - ), - orderBy('a', 'asc') - ); - const result8 = await expectFullCollectionQuery(() => - runQuery(query8, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result8, [doc5]); - - // Test with limits (explicit order by DESC): (a==2) || (b == 1) ORDER BY a LIMIT_TO_LAST 1 - const query9 = queryWithAddedOrderBy( - queryWithLimit( - query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), - 1, - LimitType.Last - ), - orderBy('a', 'desc') - ); - const result9 = await expectFullCollectionQuery(() => - runQuery(query9, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result9, [doc5]); - - // Test with limits without orderBy (the __name__ ordering is the tie breaker). - const query10 = queryWithLimit( - query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), - 1, - LimitType.First - ); - const result10 = await expectFullCollectionQuery(() => - runQuery(query10, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result10, [doc2]); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('query does not include documents with missing fields', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - // Query: a==1 || b==1 order by a. - // doc2 should not be included because it's missing the field 'a', and we have "orderBy a". - const query1 = query( - 'coll', - orFilter(filter('a', '==', 1), filter('b', '==', 1)), - orderBy('a', 'asc') - ); - const result1 = await expectFullCollectionQuery(() => - runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result1, [doc1, doc4, doc5]); - - // Query: a==1 || b==1 order by b. - // doc5 should not be included because it's missing the field 'b', and we have "orderBy b". - const query2 = query( - 'coll', - orFilter(filter('a', '==', 1), filter('b', '==', 1)), - orderBy('b', 'asc') - ); - const result2 = await expectFullCollectionQuery(() => - runQuery(query2, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result2, [doc1, doc2, doc4]); - - // Query: a>2 || b==1. - // This query has an implicit 'order by a'. - // doc2 should not be included because it's missing the field 'a'. - const query3 = query( - 'coll', - orFilter(filter('a', '>', 2), filter('b', '==', 1)) - ); - const result3 = await expectFullCollectionQuery(() => - runQuery(query3, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result3, [doc3]); - - // Query: a>1 || b==1 order by a order by b. - // doc6 should not be included because it's missing the field 'b'. - // doc2 should not be included because it's missing the field 'a'. - const query4 = query( - 'coll', - orFilter(filter('a', '>', 1), filter('b', '==', 1)), - orderBy('a', 'asc'), - orderBy('b', 'asc') - ); - const result4 = await expectFullCollectionQuery(() => - runQuery(query4, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result4, [doc3]); - - // Query: a==1 || b==1 - // There's no explicit nor implicit orderBy. Documents with missing 'a' or missing 'b' should be - // allowed if the document matches at least one disjunction term. - const query5 = query( - 'coll', - orFilter(filter('a', '==', 1), filter('b', '==', 1)) - ); - const result5 = await expectFullCollectionQuery(() => - runQuery(query5, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result5, [doc1, doc2, doc4, doc5]); - }); + it('does not use initial results for limit query when last document has been updated out of band', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.First + ); - // Tests in this section require client side indexing - if (configureCsi) { - it('combines indexed with non-indexed results', async () => { - debugAssert(configureCsi, 'Test requires durable persistence'); - - const doc1 = doc('coll/a', 1, { 'foo': true }); - const doc2 = doc('coll/b', 2, { 'foo': true }); - const doc3 = doc('coll/c', 3, { 'foo': true }); - const doc4 = doc('coll/d', 3, { 'foo': true }).setHasLocalMutations(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['foo', IndexKind.ASCENDING]] }) - ); - - await addDocument(doc1); - await addDocument(doc2); - await indexManager.updateIndexEntries(documentMap(doc1, doc2)); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc2) - ); - - await addDocument(doc3); - await addMutation(setMutation('coll/d', { 'foo': true })); - - const queryWithFilter = queryWithAddedFilter( - query('coll'), - filter('foo', '==', true) - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(queryWithFilter, SnapshotVersion.min()) - ); - - verifyResult(results, [doc1, doc2, doc3, doc4]); - }); - - it('uses partial index for limit queries', async () => { - debugAssert(configureCsi, 'Test requires durable persistence'); - - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'a': 1, 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 1, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 2, 'b': 3 }); - await addDocument(doc1, doc2, doc3, doc4, doc5); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc5) - ); - - const q = queryWithLimit( - queryWithAddedFilter( - queryWithAddedFilter(query('coll'), filter('a', '==', 1)), - filter('b', '==', 1) - ), - 3, - LimitType.First - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(q, SnapshotVersion.min()) - ); - - verifyResult(results, [doc2]); - }); - - it('re-fills indexed limit queries', async () => { - debugAssert(configureCsi, 'Test requires durable persistence'); - - const doc1 = doc('coll/1', 1, { 'a': 1 }); - const doc2 = doc('coll/2', 1, { 'a': 2 }); - const doc3 = doc('coll/3', 1, { 'a': 3 }); - const doc4 = doc('coll/4', 1, { 'a': 4 }); - await addDocument(doc1, doc2, doc3, doc4); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc4) - ); - - await addMutation(patchMutation('coll/3', { 'a': 5 })); - - const q = queryWithLimit( - queryWithAddedOrderBy(query('coll'), orderBy('a')), - 3, - LimitType.First - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(q, SnapshotVersion.min()) - ); - - verifyResult(results, [doc1, doc2, doc4]); - }); - } + // Add a query mapping for a document that matches, but that sorts below + // another document based on an update that the SDK received after the + // query's snapshot was persisted. + await addDocument(UPDATED_DOC_A); + await persistQueryMapping(UPDATED_DOC_A.key); - // Tests below this line execute with and without client side indexing - it('query with multiple ins on the same field', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + await addDocument(MATCHING_DOC_B); - // a IN [1,2,3] && a IN [0,1,4] should result in "a==1". - const query1 = query( - 'coll', - andFilter(filter('a', 'in', [1, 2, 3]), filter('a', 'in', [0, 1, 4])) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc1, doc4, doc5]); - - // a IN [2,3] && a IN [0,1,4] is never true and so the result should be an empty set. - const query2 = query( - 'coll', - andFilter(filter('a', 'in', [2, 3]), filter('a', 'in', [0, 1, 4])) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, []); - - // a IN [0,3] || a IN [0,2] should union them (similar to: a IN [0,2,3]). - const query3 = query( - 'coll', - orFilter(filter('a', 'in', [0, 3]), filter('a', 'in', [0, 2])) - ); - const result3 = await expectFunction(() => - runQuery(query3, lastLimboFreeSnapshot) - ); - verifyResult(result3, [doc3, doc6]); - - // Nested composite filter: (a IN [0,1,2,3] && (a IN [0,2] || (b>1 && a IN [1,3])) - const query4 = query( - 'coll', - andFilter( - filter('a', 'in', [1, 2, 3]), - orFilter( - filter('a', 'in', [0, 2]), - andFilter(filter('b', '>=', 1), filter('a', 'in', [1, 3])) - ) - ) - ); - const result4 = await expectFunction(() => - runQuery(query4, lastLimboFreeSnapshot) - ); - verifyResult(result4, [doc3, doc4]); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('query with ins and not-ins on the same field', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + it('does not use initial results for limitToLast query when first document in limit has been updated out of band', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order')), + 1, + LimitType.Last + ); + // Add a query mapping for a document that matches, but that sorts below + // another document based on an update that the SDK received after the + // query's snapshot was persisted. + await addDocument(UPDATED_DOC_A); + await persistQueryMapping(UPDATED_DOC_A.key); - // a IN [1,2,3] && a IN [0,1,3,4] && a NOT-IN [1] should result in - // "a==1 && a!=1 || a==3 && a!=1" or just "a == 3" - const query1 = query( - 'coll', - andFilter( - filter('a', 'in', [1, 2, 3]), - filter('a', 'in', [0, 1, 3, 4]), - filter('a', 'not-in', [1]) - ) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc3]); - - // a IN [2,3] && a IN [0,1,2,4] && a NOT-IN [1,2] is never true and so the - // result should be an empty set. - const query2 = query( - 'coll', - andFilter( - filter('a', 'in', [2, 3]), - filter('a', 'in', [0, 1, 2, 4]), - filter('a', 'not-in', [1, 2]) - ) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, []); - - // a IN [] || a NOT-IN [0,1,2] should union them (similar to: a NOT-IN [0,1,2]). - const query3 = query( - 'coll', - orFilter(filter('a', 'in', []), filter('a', 'not-in', [0, 1, 2])) - ); - const result3 = await expectFunction(() => - runQuery(query3, lastLimboFreeSnapshot) - ); - verifyResult(result3, [doc3]); - - const query4 = query( - 'coll', - andFilter( - filter('a', '<=', 1), - filter('a', 'in', [1, 2, 3, 4]), - filter('a', 'not-in', [0, 2]) - ) - ); - const result4 = await expectFunction(() => - runQuery(query4, lastLimboFreeSnapshot) - ); - verifyResult(result4, [doc1, doc4, doc5]); - }); + await addDocument(MATCHING_DOC_B); - it('query with multiple ins on different fields', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - const query1 = query( - 'coll', - orFilter(filter('a', 'in', [2, 3]), filter('b', 'in', [0, 2])) - ); - const result1 = await expectFunction(() => - runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(result1, [doc1, doc3, doc6]); - - const query2 = query( - 'coll', - andFilter(filter('a', 'in', [2, 3]), filter('b', 'in', [0, 2])) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc3]); - - // Nested composite filter: (a IN [0,1,2,3] && (a IN [0,2] || (b>1 && a IN [1,3])) - const query3 = query( - 'coll', - andFilter( - filter('b', 'in', [0, 3]), - orFilter( - filter('b', 'in', [1]), - andFilter(filter('b', 'in', [2, 3]), filter('a', 'in', [1, 3])) - ) - ) - ); - const result3 = await expectFunction(() => - runQuery(query3, lastLimboFreeSnapshot) - ); - verifyResult(result3, [doc4]); - }); + it('uses initial results if last document in limit is unchanged', async () => { + const query1 = queryWithLimit( + query('coll', orderBy('order')), + 2, + LimitType.First + ); - it('query in with array-contains-any', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); - const doc2 = doc('coll/2', 1, { 'b': [1] }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + await addDocument(doc('coll/a', 1, { order: 1 })); + await addDocument(doc('coll/b', 1, { order: 3 })); + await persistQueryMapping(key('coll/a'), key('coll/b')); - const query1 = query( - 'coll', - orFilter( - filter('a', 'in', [2, 3]), - filter('b', 'array-contains-any', [0, 7]) - ) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc1, doc3, doc4, doc6]); - - const query2 = query( - 'coll', - andFilter( - filter('a', 'in', [2, 3]), - filter('b', 'array-contains-any', [0, 7]) - ) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc3]); - - const query3 = query( - 'coll', - orFilter( - andFilter(filter('a', 'in', [2, 3]), filter('c', '==', 10)), - filter('b', 'array-contains-any', [0, 7]) - ) - ); - const result3 = await expectFunction(() => - runQuery(query3, lastLimboFreeSnapshot) - ); - verifyResult(result3, [doc1, doc3, doc4]); - - const query4 = query( - 'coll', - andFilter( - filter('a', 'in', [2, 3]), - orFilter( - filter('b', 'array-contains-any', [0, 7]), - filter('c', '==', 20) - ) - ) - ); - const result4 = await expectFunction(() => - runQuery(query4, lastLimboFreeSnapshot) - ); - verifyResult(result4, [doc3, doc6]); - }); + // Update "coll/a" but make sure it still sorts before "coll/b" + await addMutation(patchMutation('coll/a', { order: 2 })); - it('query in with array-contains', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); - const doc2 = doc('coll/2', 1, { 'b': [1] }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) - ); - - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + // Since the last document in the limit didn't change (and hence we know + // that all documents written prior to query execution still sort after + // "coll/b"), we should use an Index-Free query. + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [ + doc('coll/a', 1, { order: 2 }).setHasLocalMutations(), + doc('coll/b', 1, { order: 3 }) + ]); + }); - const query1 = query( - 'coll', - orFilter(filter('a', 'in', [2, 3]), filter('b', 'array-contains', 3)) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc3, doc4, doc6]); - - const query2 = query( - 'coll', - andFilter(filter('a', 'in', [2, 3]), filter('b', 'array-contains', 7)) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc3]); - - const query3 = query( - 'coll', - orFilter( - filter('a', 'in', [2, 3]), - andFilter(filter('b', 'array-contains', 3), filter('a', '==', 1)) - ) - ); - const result3 = await expectFunction(() => - runQuery(query3, lastLimboFreeSnapshot) - ); - verifyResult(result3, [doc3, doc4, doc6]); - - const query4 = query( - 'coll', - andFilter( - filter('a', 'in', [2, 3]), - orFilter(filter('b', 'array-contains', 7), filter('a', '==', 1)) - ) - ); - const result4 = await expectFunction(() => - runQuery(query4, lastLimboFreeSnapshot) - ); - verifyResult(result4, [doc3]); - }); + it('does not include documents deleted by mutation', async () => { + const query1 = query('coll'); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - it('order by equality', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); - const doc2 = doc('coll/2', 1, { 'b': [1] }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + // Add an unacknowledged mutation + await addMutation(deleteMutation('coll/b')); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A]); + }); - const query1 = query('coll', filter('a', '==', 1), orderBy('a')); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc1, doc4, doc5]); + if (!durable) { + return; + } - const query2 = query('coll', filter('a', 'in', [2, 3]), orderBy('a')); + it('combines indexed with non-indexed results', async () => { + debugAssert(durable, 'Test requires durable persistence'); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc6, doc3]); - }); + const doc1 = doc('coll/a', 1, { 'foo': true }); + const doc2 = doc('coll/b', 2, { 'foo': true }); + const doc3 = doc('coll/c', 3, { 'foo': true }); + const doc4 = doc('coll/d', 3, { 'foo': true }).setHasLocalMutations(); - it('or query with in and not-in', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) - ); - - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['foo', IndexKind.ASCENDING]] }) + ); - const query1 = query( - 'coll', - orFilter(filter('a', '==', 2), filter('b', 'in', [2, 3])) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc3, doc4, doc6]); - - // a==2 || (b != 2 && b != 3) - // Has implicit "orderBy b" - const query2 = query( - 'coll', - orFilter(filter('a', '==', 2), filter('b', 'not-in', [2, 3])) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc1, doc2]); - }); + await addDocument(doc1); + await addDocument(doc2); + await indexManager.updateIndexEntries(documentMap(doc1, doc2)); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc2) + ); - it('query with array membership', async () => { - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); - const doc2 = doc('coll/2', 1, { 'b': [1] }); - const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7] }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); - const doc5 = doc('coll/5', 1, { 'a': 1 }); - const doc6 = doc('coll/6', 1, { 'a': 2 }); - await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); - - let expectFunction = expectFullCollectionQuery; - let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; - - if (configureCsi) { - expectFunction = expectOptimizedCollectionQuery; - lastLimboFreeSnapshot = SnapshotVersion.min(); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) - ); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) - ); - - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5, doc6) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc6) - ); - } + await addDocument(doc3); + await addMutation(setMutation('coll/d', { 'foo': true })); - const query1 = query( - 'coll', - orFilter(filter('a', '==', 2), filter('b', 'array-contains', 7)) - ); - const result1 = await expectFunction(() => - runQuery(query1, lastLimboFreeSnapshot) - ); - verifyResult(result1, [doc3, doc4, doc6]); - - const query2 = query( - 'coll', - orFilter( - filter('a', '==', 2), - filter('b', 'array-contains-any', [0, 3]) - ) - ); - const result2 = await expectFunction(() => - runQuery(query2, lastLimboFreeSnapshot) - ); - verifyResult(result2, [doc1, doc4, doc6]); - }); - } + const queryWithFilter = queryWithAddedFilter( + query('coll'), + filter('foo', '==', true) + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(queryWithFilter, SnapshotVersion.min()) + ); + + verifyResult(results, [doc1, doc2, doc3, doc4]); + }); + + it('uses partial index for limit queries', async () => { + debugAssert(durable, 'Test requires durable persistence'); + + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'a': 1, 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 1, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 2, 'b': 3 }); + await addDocument(doc1, doc2, doc3, doc4, doc5); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc5) + ); + + const q = queryWithLimit( + queryWithAddedFilter( + queryWithAddedFilter(query('coll'), filter('a', '==', 1)), + filter('b', '==', 1) + ), + 3, + LimitType.First + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(q, SnapshotVersion.min()) + ); + + verifyResult(results, [doc2]); + }); + + it('re-fills indexed limit queries', async () => { + debugAssert(durable, 'Test requires durable persistence'); + + const doc1 = doc('coll/1', 1, { 'a': 1 }); + const doc2 = doc('coll/2', 1, { 'a': 2 }); + const doc3 = doc('coll/3', 1, { 'a': 3 }); + const doc4 = doc('coll/4', 1, { 'a': 4 }); + await addDocument(doc1, doc2, doc3, doc4); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.updateIndexEntries(documentMap(doc1, doc2, doc3, doc4)); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc4) + ); + + await addMutation(patchMutation('coll/3', { 'a': 5 })); + + const q = queryWithLimit( + queryWithAddedOrderBy(query('coll'), orderBy('a')), + 3, + LimitType.First + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(q, SnapshotVersion.min()) + ); + + verifyResult(results, [doc1, doc2, doc4]); + }); } function verifyResult(actualDocs: DocumentSet, expectedDocs: Document[]): void { diff --git a/packages/firestore/test/unit/model/target.test.ts b/packages/firestore/test/unit/model/target.test.ts index bbeea5dec83..624dc520660 100644 --- a/packages/firestore/test/unit/model/target.test.ts +++ b/packages/firestore/test/unit/model/target.test.ts @@ -17,13 +17,13 @@ import { expect } from 'chai'; -import { Bound } from '../../../src/core/bound'; import { queryToTarget, queryWithEndAt, queryWithStartAt } from '../../../src/core/query'; import { + Bound, targetGetUpperBound, targetGetLowerBound, targetGetArrayValues diff --git a/packages/firestore/test/unit/remote/serializer.helper.ts b/packages/firestore/test/unit/remote/serializer.helper.ts index 1c0a49edda9..7f9bb3a78b9 100644 --- a/packages/firestore/test/unit/remote/serializer.helper.ts +++ b/packages/firestore/test/unit/remote/serializer.helper.ts @@ -30,19 +30,6 @@ import { } from '../../../src'; import { ExpUserDataWriter } from '../../../src/api/reference_impl'; import { DatabaseId } from '../../../src/core/database_info'; -import { - ArrayContainsAnyFilter, - ArrayContainsFilter, - CompositeFilter, - FieldFilter, - Filter, - filterEquals, - InFilter, - KeyFieldFilter, - NotInFilter, - Operator -} from '../../../src/core/filter'; -import { Direction, OrderBy } from '../../../src/core/order_by'; import { LimitType, queryToTarget, @@ -51,7 +38,21 @@ import { queryWithStartAt } from '../../../src/core/query'; import { SnapshotVersion } from '../../../src/core/snapshot_version'; -import { Target, targetEquals, TargetImpl } from '../../../src/core/target'; +import { + ArrayContainsAnyFilter, + ArrayContainsFilter, + Direction, + FieldFilter, + filterEquals, + InFilter, + KeyFieldFilter, + NotInFilter, + Operator, + OrderBy, + Target, + targetEquals, + TargetImpl +} from '../../../src/core/target'; import { parseQueryValue } from '../../../src/lite-api/user_data_reader'; import { TargetData, TargetPurpose } from '../../../src/local/target_data'; import { FieldMask } from '../../../src/model/field_mask'; @@ -93,9 +94,7 @@ import { toQueryTarget, toTarget, toUnaryOrFieldFilter, - toVersion, - fromCompositeFilter, - toCompositeFilter + toVersion } from '../../../src/remote/serializer'; import { DocumentWatchChange, @@ -114,8 +113,6 @@ import { doc, field, filter, - andFilter, - orFilter, key, orderBy, patchMutation, @@ -132,8 +129,6 @@ const userDataWriter = new ExpUserDataWriter(firestore()); const protobufJsonReader = testUserDataReader(/* useProto3Json= */ true); const protoJsReader = testUserDataReader(/* useProto3Json= */ false); -const protoCompositeFilterOrOp: api.CompositeFilterOp = 'OR'; - /** * Runs the serializer test with an optional ProtobufJS verification step * (only provided in Node). @@ -815,7 +810,7 @@ export function serializerTest( expect(fromDocument(s, serialized, undefined).isEqual(d)).to.equal(true); }); - describe('to/from UnaryOrieldFilter', () => { + describe('to/from FieldFilter', () => { addEqualityMatcher({ equalsFn: filterEquals, forType: FieldFilter }); it('makes dotted-property names', () => { @@ -1087,174 +1082,6 @@ export function serializerTest( }); }); - describe('to/from CompositeFilter', () => { - addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); - - /* eslint-disable no-restricted-properties */ - it('converts deep collections', () => { - const input = orFilter( - filter('prop', '<', 42), - andFilter( - filter('author', '==', 'ehsann'), - filter('tags', 'array-contains', 'pending'), - orFilter(filter('version', '==', 4), filter('version', '==', NaN)) - ) - ); - - // Encode - const actual = toCompositeFilter(input); - - const propProtoFilter = { - fieldFilter: { - field: { fieldPath: 'prop' }, - op: 'LESS_THAN', - value: { integerValue: '42' } - } - }; - - const authorProtoFilter = { - fieldFilter: { - field: { fieldPath: 'author' }, - op: 'EQUAL', - value: { stringValue: 'ehsann' } - } - }; - - const tagsProtoFilter = { - fieldFilter: { - field: { fieldPath: 'tags' }, - op: 'ARRAY_CONTAINS', - value: { stringValue: 'pending' } - } - }; - - const versionProtoFilter = { - fieldFilter: { - field: { fieldPath: 'version' }, - op: 'EQUAL', - value: { integerValue: '4' } - } - }; - - const nanVersionProtoFilter = { - unaryFilter: { - field: { fieldPath: 'version' }, - op: 'IS_NAN' - } - }; - - const innerOrProtoFilter = { - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [versionProtoFilter, nanVersionProtoFilter] - } - }; - - const innerAndProtoFilter = { - compositeFilter: { - op: 'AND', - filters: [authorProtoFilter, tagsProtoFilter, innerOrProtoFilter] - } - }; - - expect(actual).to.deep.equal({ - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [propProtoFilter, innerAndProtoFilter] - } - }); - - // Decode - const roundtripped = fromCompositeFilter(actual); - expect(roundtripped).to.deep.equal(input); - expect(roundtripped).to.be.instanceof(CompositeFilter); - }); - }); - - describe('to/from CompositeFilter', () => { - addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); - - /* eslint-disable no-restricted-properties */ - it('converts deep collections', () => { - const input = orFilter( - filter('prop', '<', 42), - andFilter( - filter('author', '==', 'ehsann'), - filter('tags', 'array-contains', 'pending'), - orFilter(filter('version', '==', 4), filter('version', '==', NaN)) - ) - ); - - // Encode - const actual = toCompositeFilter(input); - - const propProtoFilter = { - fieldFilter: { - field: { fieldPath: 'prop' }, - op: 'LESS_THAN', - value: { integerValue: '42' } - } - }; - - const authorProtoFilter = { - fieldFilter: { - field: { fieldPath: 'author' }, - op: 'EQUAL', - value: { stringValue: 'ehsann' } - } - }; - - const tagsProtoFilter = { - fieldFilter: { - field: { fieldPath: 'tags' }, - op: 'ARRAY_CONTAINS', - value: { stringValue: 'pending' } - } - }; - - const versionProtoFilter = { - fieldFilter: { - field: { fieldPath: 'version' }, - op: 'EQUAL', - value: { integerValue: '4' } - } - }; - - const nanVersionProtoFilter = { - unaryFilter: { - field: { fieldPath: 'version' }, - op: 'IS_NAN' - } - }; - - const innerOrProtoFilter = { - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [versionProtoFilter, nanVersionProtoFilter] - } - }; - - const innerAndProtoFilter = { - compositeFilter: { - op: 'AND', - filters: [authorProtoFilter, tagsProtoFilter, innerOrProtoFilter] - } - }; - - expect(actual).to.deep.equal({ - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [propProtoFilter, innerAndProtoFilter] - } - }); - - // Decode - const roundtripped = fromCompositeFilter(actual); - expect(roundtripped).to.deep.equal(input); - expect(roundtripped).to.be.instanceof(CompositeFilter); - }); - }); - it('encodes listen request labels', () => { const target = queryToTarget(query('collection/key')); let targetData = new TargetData(target, 2, TargetPurpose.Listen, 3); @@ -1478,178 +1305,6 @@ export function serializerTest( expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); }); - it('converts multi-layer composite filters with OR at the first layer', () => { - const q = queryToTarget( - query( - 'docs', - orFilter( - filter('prop', '<', 42), - filter('name', '==', 'dimond'), - andFilter( - filter('nan', '==', NaN), - filter('null', '==', null), - filter('tags', 'array-contains', 'pending') - ) - ) - ) - ); - const result = toTarget(s, wrapTargetData(q)); - const expected = { - query: { - parent: 'projects/p/databases/d/documents', - structuredQuery: { - from: [{ collectionId: 'docs' }], - where: { - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [ - { - fieldFilter: { - field: { fieldPath: 'prop' }, - op: 'LESS_THAN', - value: { integerValue: '42' } - } - }, - { - fieldFilter: { - field: { fieldPath: 'name' }, - op: 'EQUAL', - value: { stringValue: 'dimond' } - } - }, - { - compositeFilter: { - op: 'AND', - filters: [ - { - unaryFilter: { - field: { fieldPath: 'nan' }, - op: 'IS_NAN' - } - }, - { - unaryFilter: { - field: { fieldPath: 'null' }, - op: 'IS_NULL' - } - }, - { - fieldFilter: { - field: { fieldPath: 'tags' }, - op: 'ARRAY_CONTAINS', - value: { stringValue: 'pending' } - } - } - ] - } - } - ] - } - }, - orderBy: [ - { - field: { fieldPath: 'prop' }, - direction: 'ASCENDING' - }, - { - field: { fieldPath: DOCUMENT_KEY_NAME }, - direction: 'ASCENDING' - } - ] - } - }, - targetId: 1 - }; - expect(result).to.deep.equal(expected); - expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); - }); - - it('converts multi-layer composite filters with AND at the first layer', () => { - const q = queryToTarget( - query( - 'docs', - andFilter( - filter('prop', '<', 42), - filter('name', '==', 'dimond'), - orFilter( - filter('nan', '==', NaN), - filter('null', '==', null), - filter('tags', 'array-contains', 'pending') - ) - ) - ) - ); - const result = toTarget(s, wrapTargetData(q)); - const expected = { - query: { - parent: 'projects/p/databases/d/documents', - structuredQuery: { - from: [{ collectionId: 'docs' }], - where: { - compositeFilter: { - op: 'AND', - filters: [ - { - fieldFilter: { - field: { fieldPath: 'prop' }, - op: 'LESS_THAN', - value: { integerValue: '42' } - } - }, - { - fieldFilter: { - field: { fieldPath: 'name' }, - op: 'EQUAL', - value: { stringValue: 'dimond' } - } - }, - { - compositeFilter: { - op: protoCompositeFilterOrOp, - filters: [ - { - unaryFilter: { - field: { fieldPath: 'nan' }, - op: 'IS_NAN' - } - }, - { - unaryFilter: { - field: { fieldPath: 'null' }, - op: 'IS_NULL' - } - }, - { - fieldFilter: { - field: { fieldPath: 'tags' }, - op: 'ARRAY_CONTAINS', - value: { stringValue: 'pending' } - } - } - ] - } - } - ] - } - }, - orderBy: [ - { - field: { fieldPath: 'prop' }, - direction: 'ASCENDING' - }, - { - field: { fieldPath: DOCUMENT_KEY_NAME }, - direction: 'ASCENDING' - } - ] - } - }, - targetId: 1 - }; - expect(result).to.deep.equal(expected); - expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); - }); - it('converts order bys', () => { const q = queryToTarget(query('docs', orderBy('prop', 'asc'))); const result = toTarget(s, wrapTargetData(q)); diff --git a/packages/firestore/test/unit/specs/spec_builder.ts b/packages/firestore/test/unit/specs/spec_builder.ts index fe3f079edb4..6f17689a882 100644 --- a/packages/firestore/test/unit/specs/spec_builder.ts +++ b/packages/firestore/test/unit/specs/spec_builder.ts @@ -17,7 +17,6 @@ import { IndexConfiguration } from '../../../src/api/index_configuration'; import { ExpUserDataWriter } from '../../../src/api/reference_impl'; -import { FieldFilter, Filter } from '../../../src/core/filter'; import { LimitType, newQueryForPath, @@ -25,7 +24,13 @@ import { queryEquals, queryToTarget } from '../../../src/core/query'; -import { canonifyTarget, Target, targetEquals } from '../../../src/core/target'; +import { + canonifyTarget, + FieldFilter, + Filter, + Target, + targetEquals +} from '../../../src/core/target'; import { TargetIdGenerator } from '../../../src/core/target_id_generator'; import { TargetId } from '../../../src/core/types'; import { Document } from '../../../src/model/document'; diff --git a/packages/firestore/test/unit/specs/spec_test_runner.ts b/packages/firestore/test/unit/specs/spec_test_runner.ts index 8a6909b3f2e..6a649bb213f 100644 --- a/packages/firestore/test/unit/specs/spec_test_runner.ts +++ b/packages/firestore/test/unit/specs/spec_test_runner.ts @@ -1571,7 +1571,7 @@ export interface SpecWatchEntity { // PORTING NOTE: Only used by web multi-tab tests. export interface SpecClientState { /** The visibility state of the browser tab running the client. */ - visibility?: DocumentVisibilityState; + visibility?: VisibilityState; /** Whether this tab should try to forcefully become primary. */ primary?: true; } diff --git a/packages/firestore/test/unit/util/logic_utils.test.ts b/packages/firestore/test/unit/util/logic_utils.test.ts deleted file mode 100644 index 4d9e74e1b14..00000000000 --- a/packages/firestore/test/unit/util/logic_utils.test.ts +++ /dev/null @@ -1,447 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { expect } from 'chai'; - -import { - CompositeFilter, - FieldFilter, - Filter, - filterEquals -} from '../../../src/core/filter'; -import { - applyAssociation, - applyDistribution, - computeDistributedNormalForm, - computeInExpansion, - getDnfTerms -} from '../../../src/util/logic_utils'; -import { addEqualityMatcher } from '../../util/equality_matcher'; -import { filter, andFilter, orFilter } from '../../util/helpers'; - -describe('LogicUtils', () => { - addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); - - function nameFilter(name: string): FieldFilter { - return filter('name', '==', name); - } - - let A: FieldFilter; - let B: FieldFilter; - let C: FieldFilter; - let D: FieldFilter; - let E: FieldFilter; - let F: FieldFilter; - let G: FieldFilter; - let H: FieldFilter; - let I: FieldFilter; - - beforeEach(() => { - A = nameFilter('A'); - B = nameFilter('B'); - C = nameFilter('C'); - D = nameFilter('D'); - E = nameFilter('E'); - F = nameFilter('F'); - G = nameFilter('G'); - H = nameFilter('H'); - I = nameFilter('I'); - }); - - it('implements field filter associativity', () => { - const f = filter('foo', '==', 'bar'); - expect(f).to.equal(applyAssociation(f)); - }); - - it('implements composite filter associativity', () => { - // AND(AND(X)) --> X - const compositeFilter1 = andFilter(andFilter(A)); - const actualResult1 = applyAssociation(compositeFilter1); - expect(filterEquals(A, actualResult1)).to.be.true; - - // OR(OR(X)) --> X - const compositeFilter2 = orFilter(orFilter(A)); - const actualResult2 = applyAssociation(compositeFilter2); - expect(filterEquals(A, actualResult2)).to.be.true; - - // (A | (B) | ((C) | (D | E)) | (F | (G & (H & I))) --> A | B | C | D | E | F | (G & H & I) - const complexFilter = orFilter( - A, - andFilter(B), - orFilter(orFilter(C), orFilter(D, E)), - orFilter(F, andFilter(G, andFilter(H, I))) - ); - const expectedResult = orFilter(A, B, C, D, E, F, andFilter(G, H, I)); - const actualResult3 = applyAssociation(complexFilter); - expect(filterEquals(expectedResult, actualResult3)).to.be.true; - }); - - it('implements field filter distribution over field filter', () => { - expect(filterEquals(applyDistribution(A, B), andFilter(A, B))).to.be.true; - expect(filterEquals(applyDistribution(B, A), andFilter(B, A))).to.be.true; - }); - - it('implements field filter distribution over and filter', () => { - expect( - filterEquals( - applyDistribution(andFilter(A, B, C), D), - andFilter(A, B, C, D) - ) - ).to.be.true; - }); - - it('implements field filter distribution over or filter', () => { - // A & (B | C | D) = (A & B) | (A & C) | (A & D) - // (B | C | D) & A = (A & B) | (A & C) | (A & D) - const expected = orFilter( - andFilter(A, B), - andFilter(A, C), - andFilter(A, D) - ); - expect(filterEquals(applyDistribution(A, orFilter(B, C, D)), expected)).to - .be.true; - expect(filterEquals(applyDistribution(orFilter(B, C, D), A), expected)).to - .be.true; - }); - - it('implements in expansion for field filters', () => { - const input1: FieldFilter = filter('a', 'in', [1, 2, 3]); - const input2: FieldFilter = filter('a', '<', 1); - const input3: FieldFilter = filter('a', '<=', 1); - const input4: FieldFilter = filter('a', '==', 1); - const input5: FieldFilter = filter('a', '!=', 1); - const input6: FieldFilter = filter('a', '>', 1); - const input7: FieldFilter = filter('a', '>=', 1); - const input8: FieldFilter = filter('a', 'array-contains', 1); - const input9: FieldFilter = filter('a', 'array-contains-any', [1, 2]); - const input10: FieldFilter = filter('a', 'not-in', [1, 2]); - - expect(computeInExpansion(input1)).to.deep.equal( - orFilter(filter('a', '==', 1), filter('a', '==', 2), filter('a', '==', 3)) - ); - - // Other operators should remain the same - expect(computeInExpansion(input2)).to.deep.equal(input2); - expect(computeInExpansion(input3)).to.deep.equal(input3); - expect(computeInExpansion(input4)).to.deep.equal(input4); - expect(computeInExpansion(input5)).to.deep.equal(input5); - expect(computeInExpansion(input6)).to.deep.equal(input6); - expect(computeInExpansion(input7)).to.deep.equal(input7); - expect(computeInExpansion(input8)).to.deep.equal(input8); - expect(computeInExpansion(input9)).to.deep.equal(input9); - expect(computeInExpansion(input10)).to.deep.equal(input10); - }); - - it('implements in expansion for composite filters', () => { - const cf1: CompositeFilter = andFilter( - filter('a', '==', 1), - filter('b', 'in', [2, 3, 4]) - ); - - expect(computeInExpansion(cf1)).to.deep.equal( - andFilter( - filter('a', '==', 1), - orFilter( - filter('b', '==', 2), - filter('b', '==', 3), - filter('b', '==', 4) - ) - ) - ); - - const cf2: CompositeFilter = orFilter( - filter('a', '==', 1), - filter('b', 'in', [2, 3, 4]) - ); - - expect(computeInExpansion(cf2)).to.deep.equal( - orFilter( - filter('a', '==', 1), - orFilter( - filter('b', '==', 2), - filter('b', '==', 3), - filter('b', '==', 4) - ) - ) - ); - - const cf3: CompositeFilter = andFilter( - filter('a', '==', 1), - orFilter(filter('b', '==', 2), filter('c', 'in', [2, 3, 4])) - ); - - expect(computeInExpansion(cf3)).to.deep.equal( - andFilter( - filter('a', '==', 1), - orFilter( - filter('b', '==', 2), - orFilter( - filter('c', '==', 2), - filter('c', '==', 3), - filter('c', '==', 4) - ) - ) - ) - ); - - const cf4: CompositeFilter = orFilter( - filter('a', '==', 1), - andFilter(filter('b', '==', 2), filter('c', 'in', [2, 3, 4])) - ); - - expect(computeInExpansion(cf4)).to.deep.equal( - orFilter( - filter('a', '==', 1), - andFilter( - filter('b', '==', 2), - orFilter( - filter('c', '==', 2), - filter('c', '==', 3), - filter('c', '==', 4) - ) - ) - ) - ); - }); - - it('implements field filter distribution over or filter', () => { - // A & (B | C | D) = (A & B) | (A & C) | (A & D) - // (B | C | D) & A = (A & B) | (A & C) | (A & D) - const expected = orFilter( - andFilter(A, B), - andFilter(A, C), - andFilter(A, D) - ); - expect(filterEquals(applyDistribution(A, orFilter(B, C, D)), expected)).to - .be.true; - expect(filterEquals(applyDistribution(orFilter(B, C, D), A), expected)).to - .be.true; - }); - - // The following four tests cover: - // AND distribution for AND filter and AND filter. - // AND distribution for OR filter and AND filter. - // AND distribution for AND filter and OR filter. - // AND distribution for OR filter and OR filter. - - it('implements and filter distribution with and filter', () => { - // (A & B) & (C & D) --> (A & B & C & D) - const expectedResult = andFilter(A, B, C, D); - expect( - filterEquals( - applyDistribution(andFilter(A, B), andFilter(C, D)), - expectedResult - ) - ).to.be.true; - }); - - it('implements and filter distribution with or filter', () => { - // (A & B) & (C | D) --> (A & B & C) | (A & B & D) - const expectedResult = orFilter(andFilter(A, B, C), andFilter(A, B, D)); - expect( - filterEquals( - applyDistribution(andFilter(A, B), orFilter(C, D)), - expectedResult - ) - ).to.be.true; - }); - - it('implements or filter distribution with and filter', () => { - // (A | B) & (C & D) --> (A & C & D) | (B & C & D) - const expectedResult = orFilter(andFilter(C, D, A), andFilter(C, D, B)); - expect( - filterEquals( - applyDistribution(orFilter(A, B), andFilter(C, D)), - expectedResult - ) - ).to.be.true; - }); - - it('implements or filter distribution with or filter', () => { - // (A | B) & (C | D) --> (A & C) | (A & D) | (B & C) | (B & D) - const expectedResult = orFilter( - andFilter(A, C), - andFilter(A, D), - andFilter(B, C), - andFilter(B, D) - ); - expect( - filterEquals( - applyDistribution(orFilter(A, B), orFilter(C, D)), - expectedResult - ) - ).to.be.true; - }); - - it('implements field filter compute DNF', () => { - expect(computeDistributedNormalForm(A)).to.deep.equal(A); - expect(getDnfTerms(andFilter(A))).to.deep.equal([A]); - expect(getDnfTerms(orFilter(A))).to.deep.equal([A]); - }); - - it('implements compute dnf flat AND filter', () => { - const compositeFilter = andFilter(A, B, C); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - compositeFilter - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal([compositeFilter]); - }); - - it('implements compute dnf flat OR filter', () => { - const compositeFilter = orFilter(A, B, C); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - compositeFilter - ); - const expectedDnfTerms = [A, B, C]; - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF1', () => { - // A & (B | C) --> (A & B) | (A & C) - const compositeFilter = andFilter(A, orFilter(B, C)); - const expectedDnfTerms = [andFilter(A, B), andFilter(A, C)]; - const expectedResult = orFilter(...expectedDnfTerms); - const actualResult = computeDistributedNormalForm(compositeFilter); - expect(actualResult).to.deep.equal(expectedResult); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF2', () => { - // ((A)) & (B & C) --> A & B & C - const compositeFilter = andFilter(andFilter(andFilter(A)), andFilter(B, C)); - const expectedResult = andFilter(A, B, C); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal([expectedResult]); - }); - - it('compute DNF3', () => { - // A | (B & C) - const compositeFilter = orFilter(A, andFilter(B, C)); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - compositeFilter - ); - const expectedDnfTerms = [A, andFilter(B, C)]; - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF4', () => { - // A | (B & C) | ( ((D)) | (E | F) | (G & H) ) --> A | (B & C) | D | E | F | (G & H) - const compositeFilter = orFilter( - A, - andFilter(B, C), - orFilter(andFilter(orFilter(D)), orFilter(E, F), andFilter(G, H)) - ); - const expectedDnfTerms = [A, andFilter(B, C), D, E, F, andFilter(G, H)]; - const expectedResult = orFilter(...expectedDnfTerms); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF5', () => { - // A & (B | C) & ( ((D)) & (E | F) & (G & H) ) - // -> A & (B | C) & D & (E | F) & G & H - // -> ((A & B) | (A & C)) & D & (E | F) & G & H - // -> ((A & B & D) | (A & C & D)) & (E|F) & G & H - // -> ((A & B & D & E) | (A & B & D & F) | (A & C & D & E) | (A & C & D & F)) & G & H - // -> ((A&B&D&E&G) | (A & B & D & F & G) | (A & C & D & E & G) | (A & C & D & F & G)) & H - // -> (A&B&D&E&G&H) | (A&B&D&F&G&H) | (A & C & D & E & G & H) | (A & C & D & F & G & H) - const compositeFilter = andFilter( - A, - orFilter(B, C), - andFilter(andFilter(orFilter(D)), orFilter(E, F), andFilter(G, H)) - ); - const expectedDnfTerms = [ - andFilter(D, E, G, H, A, B), - andFilter(D, F, G, H, A, B), - andFilter(D, E, G, H, A, C), - andFilter(D, F, G, H, A, C) - ]; - const expectedResult = orFilter(...expectedDnfTerms); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF6', () => { - // A & (B | (C & (D | (E & F)))) - // -> A & (B | (C & D) | (C & E & F)) - // -> (A & B) | (A & C & D) | (A & C & E & F) - const compositeFilter = andFilter( - A, - orFilter(B, andFilter(C, orFilter(D, andFilter(E, F)))) - ); - const expectedDnfTerms = [ - andFilter(A, B), - andFilter(C, D, A), - andFilter(E, F, C, A) - ]; - const expectedResult = orFilter(...expectedDnfTerms); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF7', () => { - // ( (A|B) & (C|D) ) | ( (E|F) & (G|H) ) - // -> (A&C)|(A&D)|(B&C)(B&D)|(E&G)|(E&H)|(F&G)|(F&H) - const compositeFilter = orFilter( - andFilter(orFilter(A, B), orFilter(C, D)), - andFilter(orFilter(E, F), orFilter(G, H)) - ); - const expectedDnfTerms = [ - andFilter(A, C), - andFilter(A, D), - andFilter(B, C), - andFilter(B, D), - andFilter(E, G), - andFilter(E, H), - andFilter(F, G), - andFilter(F, H) - ]; - const expectedResult = orFilter(...expectedDnfTerms); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); - - it('compute DNF8', () => { - // ( (A&B) | (C&D) ) & ( (E&F) | (G&H) ) - // -> A&B&E&F | A&B&G&H | C&D&E&F | C&D&G&H - const compositeFilter = andFilter( - orFilter(andFilter(A, B), andFilter(C, D)), - orFilter(andFilter(E, F), andFilter(G, H)) - ); - const expectedDnfTerms = [ - andFilter(E, F, A, B), - andFilter(G, H, A, B), - andFilter(E, F, C, D), - andFilter(G, H, C, D) - ]; - const expectedResult = orFilter(...expectedDnfTerms); - expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( - expectedResult - ); - expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); - }); -}); diff --git a/packages/firestore/test/util/helpers.ts b/packages/firestore/test/util/helpers.ts index 24cb7bccf0d..de06453f685 100644 --- a/packages/firestore/test/util/helpers.ts +++ b/packages/firestore/test/util/helpers.ts @@ -18,17 +18,8 @@ import { expect } from 'chai'; import { Bytes, DocumentReference, Timestamp } from '../../src'; -import { Bound } from '../../src/core/bound'; import { BundledDocuments } from '../../src/core/bundle'; import { DatabaseId } from '../../src/core/database_info'; -import { - FieldFilter, - CompositeFilter, - Filter, - Operator, - CompositeOperator -} from '../../src/core/filter'; -import { Direction, OrderBy } from '../../src/core/order_by'; import { newQueryForPath, Query, @@ -37,6 +28,14 @@ import { queryWithAddedOrderBy } from '../../src/core/query'; import { SnapshotVersion } from '../../src/core/snapshot_version'; +import { + Bound, + Direction, + FieldFilter, + Filter, + Operator, + OrderBy +} from '../../src/core/target'; import { TargetId } from '../../src/core/types'; import { AddedLimboDocument, @@ -263,14 +262,6 @@ export function filter(path: string, op: string, value: unknown): FieldFilter { return FieldFilter.create(field(path), operator, dataValue); } -export function andFilter(...filters: Filter[]): CompositeFilter { - return CompositeFilter.create(filters, CompositeOperator.AND); -} - -export function orFilter(...filters: Filter[]): CompositeFilter { - return CompositeFilter.create(filters, CompositeOperator.OR); -} - export function setMutation( keyStr: string, json: JsonObject diff --git a/packages/firestore/test/util/test_platform.ts b/packages/firestore/test/util/test_platform.ts index 7803a2fb3c6..13b0086b3a4 100644 --- a/packages/firestore/test/util/test_platform.ts +++ b/packages/firestore/test/util/test_platform.ts @@ -93,10 +93,10 @@ export function testWindow( * `Document` fake that implements the `visibilitychange` API used by Firestore. */ export class FakeDocument implements DocumentLike { - private _visibilityState: DocumentVisibilityState = 'hidden'; + private _visibilityState: VisibilityState = 'hidden'; private visibilityListener: EventListener | null = null; - get visibilityState(): DocumentVisibilityState { + get visibilityState(): VisibilityState { return this._visibilityState; } @@ -114,7 +114,7 @@ export class FakeDocument implements DocumentLike { } } - raiseVisibilityEvent(visibility: DocumentVisibilityState): void { + raiseVisibilityEvent(visibility: VisibilityState): void { this._visibilityState = visibility; if (this.visibilityListener) { this.visibilityListener(new Event('visibilitychange')); diff --git a/scripts/emulator-testing/emulators/database-emulator.ts b/scripts/emulator-testing/emulators/database-emulator.ts index e14dd7c00d2..0caaa0eef8b 100644 --- a/scripts/emulator-testing/emulators/database-emulator.ts +++ b/scripts/emulator-testing/emulators/database-emulator.ts @@ -21,18 +21,16 @@ import { Emulator } from './emulator'; import rulesJSON from '../../../config/database.rules.json'; -const DATABASE_EMULATOR_VERSION = '4.11.0'; - export class DatabaseEmulator extends Emulator { namespace: string; constructor(port = 8088, namespace = 'test-emulator') { super( - `firebase-database-emulator-v${DATABASE_EMULATOR_VERSION}.jar`, + 'firebase-database-emulator-v4.9.0.jar', // Use locked version of emulator for test to be deterministic. // The latest version can be found from database emulator doc: // https://firebase.google.com/docs/database/security/test-rules-emulator - `https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v${DATABASE_EMULATOR_VERSION}.jar`, + 'https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v4.9.0.jar', port ); this.namespace = namespace; diff --git a/yarn.lock b/yarn.lock index 97f84385334..47ba68aa47f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1815,6 +1815,13 @@ lodash.snakecase "^4.1.1" p-defer "^3.0.0" +"@grpc/grpc-js@^1.3.2": + version "1.3.7" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz#58b687aff93b743aafde237fd2ee9a3259d7f2d8" + integrity sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA== + dependencies: + "@types/node" ">=12.12.47" + "@grpc/grpc-js@~1.6.0": version "1.6.7" resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz#4c4fa998ff719fe859ac19fe977fdef097bb99aa" @@ -1823,14 +1830,6 @@ "@grpc/proto-loader" "^0.6.4" "@types/node" ">=12.12.47" -"@grpc/grpc-js@~1.7.0": - version "1.7.3" - resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz#f2ea79f65e31622d7f86d4b4c9ae38f13ccab99a" - integrity sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog== - dependencies: - "@grpc/proto-loader" "^0.7.0" - "@types/node" ">=12.12.47" - "@grpc/proto-loader@^0.6.12", "@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.6.4": version "0.6.13" resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" @@ -1842,17 +1841,6 @@ protobufjs "^6.11.3" yargs "^16.2.0" -"@grpc/proto-loader@^0.7.0": - version "0.7.3" - resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz#75a6f95b51b85c5078ac7394da93850c32d36bb8" - integrity sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA== - dependencies: - "@types/long" "^4.0.1" - lodash.camelcase "^4.3.0" - long "^4.0.0" - protobufjs "^7.0.0" - yargs "^16.2.0" - "@gulp-sourcemaps/identity-map@^2.0.1": version "2.0.1" resolved "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" @@ -11901,11 +11889,6 @@ long@^4.0.0: resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -long@^5.0.0: - version "5.2.1" - resolved "https://registry.npmjs.org/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" - integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== - loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -14145,24 +14128,6 @@ protobufjs@6.11.3, protobufjs@^6.11.3: "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz#a0cf6aeaf82f5625bffcf5a38b7cd2a7de05890c" - integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - protocols@^1.1.0, protocols@^1.4.0: version "1.4.8" resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" From 6490034ad2df79b84f83525a0cedddeb0942a629 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Thu, 24 Nov 2022 16:51:43 -0800 Subject: [PATCH 24/31] resolve comments --- packages/firestore/src/remote/bloom_filter.ts | 55 +++++++++++-------- .../test/unit/core/webchannel_wrapper.test.ts | 21 +++++++ .../test/unit/remote/bloom_filter.test.ts | 47 ++++++---------- packages/webchannel-wrapper/src/index.d.ts | 1 + packages/webchannel-wrapper/src/index.js | 1 + 5 files changed, 70 insertions(+), 55 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index f8ee0c6a685..1e9d568bed5 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -16,43 +16,44 @@ */ import { Md5, Integer } from '@firebase/webchannel-wrapper'; +import { newTextEncoder } from '../platform/serializer'; import { debugAssert } from '../util/assert'; export class BloomFilter { - private readonly bitSize: number; + readonly size: number; constructor( private readonly bitmap: Uint8Array, padding: number, private readonly hashCount: number ) { - this.bitSize = this.bitmap.length * 8 - padding; - if (this.bitSize === 0) { + if (this.bitmap.length === 0) { debugAssert( - this.hashCount === 0 && padding === 0, - 'A valid empty bloom filter should have all 3 fields empty.' + padding === 0, + 'A valid empty bloom filter should have 0 padding.' ); - } else { - debugAssert(padding >= 0, 'Padding is negative.'); - debugAssert(this.bitSize > 0, 'Bitmap size is negative.'); - debugAssert(this.hashCount > 0, 'Hash count is 0 or negative'); } + this.size = this.bitmap.length * 8 - padding; + debugAssert(padding >= 0, 'Padding is negative.'); + debugAssert(this.size >= 0, 'Bitmap size is negative.'); + // Only empty bloom filter can have 0 hash count + debugAssert( + this.bitmap.length === 0 || this.hashCount > 0, + 'Hash count is 0 or negative' + ); } - getBitSize(): number { - return this.bitSize; - } - - mightContain(document: string): boolean { + mightContain(value: string): boolean { // Empty bitmap should always return false on membership check - if (this.bitSize === 0) { + if (this.size === 0) { return false; } // Hash the string using md5 const md5 = new Md5(); - md5.update(document); - const encodedBytes: Uint8Array = new Uint8Array(md5.digest()); + const encodedValue = newTextEncoder().encode(value); + md5.update(encodedValue); + const encodedBytes = new Uint8Array(md5.digest()); // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s // complement using little endian. @@ -64,21 +65,27 @@ export class BloomFilter { const hash1 = new Integer([firstUint32, secondUint32], 0); const hash2 = new Integer([thirdUint32, fourthUint32], 0); + const sizeInInteger = Integer.fromNumber(this.size); + const max64BitInteger = Integer.fromNumber(Math.pow(2, 64)); + for (let i = 0; i < this.hashCount; i++) { // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow let combinedHash = hash1.add(hash2.multiply(Integer.fromNumber(i))); - combinedHash = combinedHash.modulo(Integer.fromNumber(Math.pow(2, 64))); - + if (combinedHash.compare(max64BitInteger) === 1) { + combinedHash = new Integer( + [combinedHash.getBits(0), combinedHash.getBits(1)], + 0 + ); + } // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). - const module = Number( - combinedHash.modulo(Integer.fromNumber(this.bitSize)) - ); - const byte = this.bitmap[Math.floor(module / 8)]; + const modulo = Number(combinedHash.modulo(sizeInInteger)); + const byte = this.bitmap[Math.floor(modulo / 8)]; - if (!(byte & (0x01 << module % 8))) { + if (!(byte & (0x01 << modulo % 8))) { return false; } } + return true; } } diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index d253c5c82d5..08376a607cc 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -22,6 +22,8 @@ import { Md5, Integer } from '@firebase/webchannel-wrapper'; import { expect } from 'chai'; +import { newTextEncoder } from '../../../src/platform/serializer'; + describe('Md5', () => { // The precomputed MD5 digests of the 3-character strings "abc" and "def". const DIGEST_OF_ABC = Object.freeze([ @@ -30,6 +32,12 @@ describe('Md5', () => { const DIGEST_OF_DEF = Object.freeze([ 78, 217, 64, 118, 48, 235, 16, 0, 192, 246, 182, 56, 66, 222, 250, 125 ]); + const DIGEST_OF_SPECIAL_CHARACTERS = Object.freeze([ + 52, 39, 159, 0, 195, 250, 18, 219, 221, 173, 54, 243, 4, 85, 117, 46 + ]); + const DIGEST_OF_SPECIAL_CHARACTERS_ENCODED = Object.freeze([ + 214, 128, 77, 255, 85, 207, 186, 121, 150, 50, 152, 9, 85, 67, 52, 135 + ]); it('constructor should create distinct instances', () => { const instance1 = new Md5(); @@ -45,6 +53,19 @@ describe('Md5', () => { expect(md5.digest()).to.deep.equal(DIGEST_OF_ABC); }); + it('update() should accept a string of non-standard characters', () => { + const md5 = new Md5(); + md5.update('ÀÒ∑'); + expect(md5.digest()).to.deep.equal(DIGEST_OF_SPECIAL_CHARACTERS); + }); + + it('update() should accept a string of UTF-8 encoded non-standard characters ', () => { + const md5 = new Md5(); + const encodedValue = newTextEncoder().encode('ÀÒ∑'); + md5.update(encodedValue); + expect(md5.digest()).to.deep.equal(DIGEST_OF_SPECIAL_CHARACTERS_ENCODED); + }); + it('update() should accept an array of number', () => { const md5 = new Md5(); md5.update([97, 98, 99]); diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 39b3fa88e62..e9e7c664e71 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -49,51 +49,36 @@ import { describe('BloomFilter', () => { it('can initiate an empty bloom filter', () => { const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); - expect(bloomFilter.getBitSize()).to.equal(0); + expect(bloomFilter.size).to.equal(0); }); - it('can initiate a non empty bloom filter', () => { - const bloomFilter = new BloomFilter( - new Uint8Array([151, 153, 236, 116, 7]), - 3, - 13 - ); - expect(bloomFilter.getBitSize()).to.equal(37); + it('empty bloom filter can have positive hash count', () => { + const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 1); + expect(bloomFilter.size).to.equal(0); }); it('should throw error if empty bloom filter inputs are invalid', () => { try { - new BloomFilter(new Uint8Array(0), 0, 1); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' - ) - ).to.be.true; - } - try { - new BloomFilter(new Uint8Array(1), 8, 0); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' - ) - ).to.be.true; - } - try { - new BloomFilter(new Uint8Array(1), 8, 1); + new BloomFilter(new Uint8Array(0), 1, 0); expect.fail(); } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have all 3 fields empty.' + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have 0 padding.' ) ).to.be.true; } }); + it('can initiate a non empty bloom filter', () => { + const bloomFilter = new BloomFilter( + new Uint8Array([151, 153, 236, 116, 7]), + 3, + 13 + ); + expect(bloomFilter.size).to.equal(37); + }); + it('should throw error if padding is negative', () => { try { new BloomFilter(new Uint8Array(1), -1, 1); @@ -109,7 +94,7 @@ describe('BloomFilter', () => { it('should throw error if bitmap size is negative', () => { try { - new BloomFilter(new Uint8Array(0), 1, 1); + new BloomFilter(new Uint8Array(1), 9, 1); expect.fail(); } catch (error) { expect( diff --git a/packages/webchannel-wrapper/src/index.d.ts b/packages/webchannel-wrapper/src/index.d.ts index 0da8deeb7c5..aee1000baeb 100644 --- a/packages/webchannel-wrapper/src/index.d.ts +++ b/packages/webchannel-wrapper/src/index.d.ts @@ -155,6 +155,7 @@ export class Integer { compare(other: Integer): number; toNumber(): number; toString(opt_radix?: number): string; + getBits(index: number): number; static fromNumber(value: number): Integer; static fromString(str: string, opt_radix?: number): Integer; } diff --git a/packages/webchannel-wrapper/src/index.js b/packages/webchannel-wrapper/src/index.js index 641560a80ba..7346b0acaa4 100644 --- a/packages/webchannel-wrapper/src/index.js +++ b/packages/webchannel-wrapper/src/index.js @@ -90,6 +90,7 @@ goog.math.Integer.prototype['modulo'] = goog.math.Integer.prototype.modulo; goog.math.Integer.prototype['compare'] = goog.math.Integer.prototype.compare; goog.math.Integer.prototype['toNumber'] = goog.math.Integer.prototype.toNumber; goog.math.Integer.prototype['toString'] = goog.math.Integer.prototype.toString; +goog.math.Integer.prototype['getBits'] = goog.math.Integer.prototype.getBits; goog.math.Integer['fromNumber'] = goog.math.Integer.fromNumber; goog.math.Integer['fromString'] = goog.math.Integer.fromString; From 01bd93ec1508fa6be3f834fbf21d6f1fdc1fff32 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Thu, 24 Nov 2022 19:58:44 -0800 Subject: [PATCH 25/31] Revert "Revert "Merge branch 'master' into mila/BloomFilter-add-BloomFilter-class"" This reverts commit 810d63b819e15873b511aa92ced36e58bf4ade21. --- .changeset/breezy-wombats-care.md | 7 + .changeset/empty-doors-brush.md | 6 + .changeset/lucky-games-arrive.md | 8 + common/api-review/firestore-lite.api.md | 52 +- common/api-review/firestore.api.md | 52 +- packages/database-compat/test/query.test.ts | 62 +- .../database/src/core/view/QueryParams.ts | 65 +- .../src/core/view/filter/LimitedFilter.ts | 65 +- .../src/core/view/filter/RangedFilter.ts | 17 +- .../database/test/helpers/syncPointSpec.json | 243 +++ .../database/test/helpers/syncpoint-util.ts | 6 + packages/firestore-compat/package.json | 2 +- .../test/array_transforms.test.ts | 3 +- .../test/transactions.test.ts | 11 +- packages/firestore/lite/index.ts | 18 +- packages/firestore/package.json | 6 +- packages/firestore/scripts/remove-asserts.js | 2 +- packages/firestore/scripts/remove-asserts.ts | 2 +- packages/firestore/src/api.ts | 10 + packages/firestore/src/api/filter.ts | 12 +- packages/firestore/src/core/bound.ts | 131 ++ packages/firestore/src/core/filter.ts | 543 +++++++ packages/firestore/src/core/order_by.ts | 49 + packages/firestore/src/core/query.ts | 68 +- packages/firestore/src/core/target.ts | 510 +----- packages/firestore/src/lite-api/query.ts | 615 ++++++-- .../src/local/indexeddb_index_manager.ts | 138 +- .../src/model/target_index_matcher.ts | 14 +- .../platform/browser_lite/fetch_connection.ts | 3 +- packages/firestore/src/protos/compile.sh | 27 + .../src/protos/firestore_proto_api.ts | 2 +- .../protos/google/firestore/v1/query.proto | 5 +- packages/firestore/src/protos/protos.json | 3 +- packages/firestore/src/remote/serializer.ts | 138 +- packages/firestore/src/util/logic_utils.ts | 363 +++++ packages/firestore/src/util/types.ts | 2 +- .../test/integration/api/query.test.ts | 275 ++++ .../test/integration/api/type.test.ts | 2 +- .../test/integration/api/validation.test.ts | 144 ++ .../api_internal/transaction.test.ts | 7 +- .../firestore/test/unit/core/filter.test.ts | 96 ++ .../firestore/test/unit/core/query.test.ts | 77 +- .../test/unit/local/index_manager.test.ts | 29 +- .../unit/local/indexeddb_persistence.test.ts | 8 +- .../test/unit/local/query_engine.test.ts | 1375 +++++++++++++---- .../firestore/test/unit/model/target.test.ts | 2 +- .../test/unit/remote/serializer.helper.ts | 379 ++++- .../firestore/test/unit/specs/spec_builder.ts | 9 +- .../test/unit/specs/spec_test_runner.ts | 2 +- .../test/unit/util/logic_utils.test.ts | 447 ++++++ packages/firestore/test/util/helpers.ts | 25 +- packages/firestore/test/util/test_platform.ts | 6 +- .../emulators/database-emulator.ts | 6 +- yarn.lock | 49 +- 54 files changed, 5006 insertions(+), 1192 deletions(-) create mode 100644 .changeset/breezy-wombats-care.md create mode 100644 .changeset/empty-doors-brush.md create mode 100644 .changeset/lucky-games-arrive.md create mode 100644 packages/firestore/src/core/bound.ts create mode 100644 packages/firestore/src/core/filter.ts create mode 100644 packages/firestore/src/core/order_by.ts create mode 100755 packages/firestore/src/protos/compile.sh create mode 100644 packages/firestore/src/util/logic_utils.ts create mode 100644 packages/firestore/test/unit/core/filter.test.ts create mode 100644 packages/firestore/test/unit/util/logic_utils.test.ts diff --git a/.changeset/breezy-wombats-care.md b/.changeset/breezy-wombats-care.md new file mode 100644 index 00000000000..c8476b92007 --- /dev/null +++ b/.changeset/breezy-wombats-care.md @@ -0,0 +1,7 @@ +--- +'@firebase/firestore': minor +'@firebase/firestore-compat': minor +'firebase': minor +--- + +Upgrade TypeScript to 4.7.4 (was 4.2.2) diff --git a/.changeset/empty-doors-brush.md b/.changeset/empty-doors-brush.md new file mode 100644 index 00000000000..3f974353b8f --- /dev/null +++ b/.changeset/empty-doors-brush.md @@ -0,0 +1,6 @@ +--- +'@firebase/database': patch +'@firebase/database-compat': patch +--- + +Use new wire protocol parameters for startAfter, endBefore. diff --git a/.changeset/lucky-games-arrive.md b/.changeset/lucky-games-arrive.md new file mode 100644 index 00000000000..bf5681ad634 --- /dev/null +++ b/.changeset/lucky-games-arrive.md @@ -0,0 +1,8 @@ +--- +"@firebase/firestore": minor +"firebase": minor +--- + +Functions in the Firestore package that return QueryConstraints (for example: `where(...)`, `limit(...)`, and `orderBy(...)`) +now return a more specific type, which extends QueryConstraint. Refactoring and code that supports future features is also +included in this release. diff --git a/common/api-review/firestore-lite.api.md b/common/api-review/firestore-lite.api.md index b336e0d0c8b..331b9dd2f36 100644 --- a/common/api-review/firestore-lite.api.md +++ b/common/api-review/firestore-lite.api.md @@ -140,16 +140,16 @@ export class DocumentSnapshot { export { EmulatorMockTokenOptions } // @public -export function endAt(snapshot: DocumentSnapshot): QueryConstraint; +export function endAt(snapshot: DocumentSnapshot): QueryEndAtConstraint; // @public -export function endAt(...fieldValues: unknown[]): QueryConstraint; +export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; // @public -export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; +export function endBefore(snapshot: DocumentSnapshot): QueryEndAtConstraint; // @public -export function endBefore(...fieldValues: unknown[]): QueryConstraint; +export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; // @public export class FieldPath { @@ -222,10 +222,10 @@ export function increment(n: number): FieldValue; export function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore; // @public -export function limit(limit: number): QueryConstraint; +export function limit(limit: number): QueryLimitConstraint; // @public -export function limitToLast(limit: number): QueryConstraint; +export function limitToLast(limit: number): QueryLimitConstraint; export { LogLevel } @@ -235,7 +235,7 @@ export type NestedUpdateFields> = UnionToInter }[keyof T & string]>; // @public -export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryConstraint; +export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint; // @public export type OrderByDirection = 'desc' | 'asc'; @@ -275,9 +275,32 @@ export class QueryDocumentSnapshot extends DocumentSnapshot data(): T; } +// @public +export class QueryEndAtConstraint extends QueryConstraint { + readonly type: 'endBefore' | 'endAt'; +} + // @public export function queryEqual(left: Query, right: Query): boolean; +// @public +export class QueryFieldFilterConstraint extends QueryConstraint { + readonly type = "where"; +} + +// @public +export class QueryLimitConstraint extends QueryConstraint { + readonly type: 'limit' | 'limitToLast'; +} + +// @public +export type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint; + +// @public +export class QueryOrderByConstraint extends QueryConstraint { + readonly type = "orderBy"; +} + // @public export class QuerySnapshot { get docs(): Array>; @@ -287,6 +310,11 @@ export class QuerySnapshot { get size(): number; } +// @public +export class QueryStartAtConstraint extends QueryConstraint { + readonly type: 'startAt' | 'startAfter'; +} + // @public export function refEqual(left: DocumentReference | CollectionReference, right: DocumentReference | CollectionReference): boolean; @@ -323,16 +351,16 @@ export interface Settings { export function snapshotEqual(left: DocumentSnapshot | QuerySnapshot, right: DocumentSnapshot | QuerySnapshot): boolean; // @public -export function startAfter(snapshot: DocumentSnapshot): QueryConstraint; +export function startAfter(snapshot: DocumentSnapshot): QueryStartAtConstraint; // @public -export function startAfter(...fieldValues: unknown[]): QueryConstraint; +export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; // @public -export function startAt(snapshot: DocumentSnapshot): QueryConstraint; +export function startAt(snapshot: DocumentSnapshot): QueryStartAtConstraint; // @public -export function startAt(...fieldValues: unknown[]): QueryConstraint; +export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; // @public export function terminate(firestore: Firestore): Promise; @@ -388,7 +416,7 @@ export function updateDoc(reference: DocumentReference, data: UpdateData, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise; // @public -export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryConstraint; +export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint; // @public export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in'; diff --git a/common/api-review/firestore.api.md b/common/api-review/firestore.api.md index d61b7730781..5dd5742b318 100644 --- a/common/api-review/firestore.api.md +++ b/common/api-review/firestore.api.md @@ -170,16 +170,16 @@ export function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promis export function enableNetwork(firestore: Firestore): Promise; // @public -export function endAt(snapshot: DocumentSnapshot): QueryConstraint; +export function endAt(snapshot: DocumentSnapshot): QueryEndAtConstraint; // @public -export function endAt(...fieldValues: unknown[]): QueryConstraint; +export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; // @public -export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; +export function endBefore(snapshot: DocumentSnapshot): QueryEndAtConstraint; // @public -export function endBefore(...fieldValues: unknown[]): QueryConstraint; +export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; // @public export class FieldPath { @@ -298,10 +298,10 @@ export interface IndexField { export function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore; // @public -export function limit(limit: number): QueryConstraint; +export function limit(limit: number): QueryLimitConstraint; // @public -export function limitToLast(limit: number): QueryConstraint; +export function limitToLast(limit: number): QueryLimitConstraint; // @public export function loadBundle(firestore: Firestore, bundleData: ReadableStream | ArrayBuffer | string): LoadBundleTask; @@ -383,7 +383,7 @@ export function onSnapshotsInSync(firestore: Firestore, observer: { export function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe; // @public -export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryConstraint; +export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint; // @public export type OrderByDirection = 'desc' | 'asc'; @@ -428,9 +428,32 @@ export class QueryDocumentSnapshot extends DocumentSnapshot data(options?: SnapshotOptions): T; } +// @public +export class QueryEndAtConstraint extends QueryConstraint { + readonly type: 'endBefore' | 'endAt'; +} + // @public export function queryEqual(left: Query, right: Query): boolean; +// @public +export class QueryFieldFilterConstraint extends QueryConstraint { + readonly type = "where"; +} + +// @public +export class QueryLimitConstraint extends QueryConstraint { + readonly type: 'limit' | 'limitToLast'; +} + +// @public +export type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint; + +// @public +export class QueryOrderByConstraint extends QueryConstraint { + readonly type = "orderBy"; +} + // @public export class QuerySnapshot { docChanges(options?: SnapshotListenOptions): Array>; @@ -442,6 +465,11 @@ export class QuerySnapshot { get size(): number; } +// @public +export class QueryStartAtConstraint extends QueryConstraint { + readonly type: 'startAt' | 'startAfter'; +} + // @public export function refEqual(left: DocumentReference | CollectionReference, right: DocumentReference | CollectionReference): boolean; @@ -494,16 +522,16 @@ export interface SnapshotOptions { } // @public -export function startAfter(snapshot: DocumentSnapshot): QueryConstraint; +export function startAfter(snapshot: DocumentSnapshot): QueryStartAtConstraint; // @public -export function startAfter(...fieldValues: unknown[]): QueryConstraint; +export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; // @public -export function startAt(snapshot: DocumentSnapshot): QueryConstraint; +export function startAt(snapshot: DocumentSnapshot): QueryStartAtConstraint; // @public -export function startAt(...fieldValues: unknown[]): QueryConstraint; +export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; // @public export type TaskState = 'Error' | 'Running' | 'Success'; @@ -570,7 +598,7 @@ export function updateDoc(reference: DocumentReference, field: string | export function waitForPendingWrites(firestore: Firestore): Promise; // @public -export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryConstraint; +export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint; // @public export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in'; diff --git a/packages/database-compat/test/query.test.ts b/packages/database-compat/test/query.test.ts index 76b57da3ff8..a6bfd8703bb 100644 --- a/packages/database-compat/test/query.test.ts +++ b/packages/database-compat/test/query.test.ts @@ -375,34 +375,76 @@ describe('Query Tests', () => { expect(queryId(path)).to.equal('default'); expect(queryId(path.startAt('pri', 'name'))).to.equal( - '{"sn":"name","sp":"pri"}' + '{"sin":true,"sn":"name","sp":"pri"}' ); expect(queryId(path.startAfter('pri', 'name'))).to.equal( - '{"sn":"name-","sp":"pri"}' + '{"sin":false,"sn":"name","sp":"pri"}' ); + expect(queryId(path.endAt('pri', 'name'))).to.equal( + '{"ein":true,"en":"name","ep":"pri"}' + ); + expect(queryId(path.endBefore('pri', 'name'))).to.equal( + '{"ein":false,"en":"name","ep":"pri"}' + ); + expect(queryId(path.startAt('spri').endAt('epri'))).to.equal( - '{"ep":"epri","sp":"spri"}' + '{"ein":true,"ep":"epri","sin":true,"sp":"spri"}' + ); + expect(queryId(path.startAt('spri').endBefore('epri'))).to.equal( + '{"ein":false,"en":"[MIN_NAME]","ep":"epri","sin":true,"sp":"spri"}' ); expect(queryId(path.startAfter('spri').endAt('epri'))).to.equal( - '{"ep":"epri","sn":"[MAX_NAME]","sp":"spri"}' + '{"ein":true,"ep":"epri","sin":false,"sn":"[MAX_NAME]","sp":"spri"}' + ); + expect(queryId(path.startAfter('spri').endBefore('epri'))).to.equal( + '{"ein":false,"en":"[MIN_NAME]","ep":"epri","sin":false,"sn":"[MAX_NAME]","sp":"spri"}' ); + expect( queryId(path.startAt('spri', 'sname').endAt('epri', 'ename')) - ).to.equal('{"en":"ename","ep":"epri","sn":"sname","sp":"spri"}'); + ).to.equal( + '{"ein":true,"en":"ename","ep":"epri","sin":true,"sn":"sname","sp":"spri"}' + ); + expect( + queryId(path.startAt('spri', 'sname').endBefore('epri', 'ename')) + ).to.equal( + '{"ein":false,"en":"ename","ep":"epri","sin":true,"sn":"sname","sp":"spri"}' + ); expect( queryId(path.startAfter('spri', 'sname').endAt('epri', 'ename')) - ).to.equal('{"en":"ename","ep":"epri","sn":"sname-","sp":"spri"}'); + ).to.equal( + '{"ein":true,"en":"ename","ep":"epri","sin":false,"sn":"sname","sp":"spri"}' + ); + expect( + queryId(path.startAfter('spri', 'sname').endBefore('epri', 'ename')) + ).to.equal( + '{"ein":false,"en":"ename","ep":"epri","sin":false,"sn":"sname","sp":"spri"}' + ); + expect(queryId(path.startAt('pri').limitToFirst(100))).to.equal( - '{"l":100,"sp":"pri","vf":"l"}' + '{"l":100,"sin":true,"sp":"pri","vf":"l"}' ); expect(queryId(path.startAfter('pri').limitToFirst(100))).to.equal( - '{"l":100,"sn":"[MAX_NAME]","sp":"pri","vf":"l"}' + '{"l":100,"sin":false,"sn":"[MAX_NAME]","sp":"pri","vf":"l"}' + ); + expect(queryId(path.endAt('pri').limitToLast(100))).to.equal( + '{"ein":true,"ep":"pri","l":100,"vf":"r"}' ); + expect(queryId(path.endBefore('pri').limitToLast(100))).to.equal( + '{"ein":false,"en":"[MIN_NAME]","ep":"pri","l":100,"vf":"r"}' + ); + expect(queryId(path.startAt('bar').orderByChild('foo'))).to.equal( - '{"i":"foo","sp":"bar"}' + '{"i":"foo","sin":true,"sp":"bar"}' ); expect(queryId(path.startAfter('bar').orderByChild('foo'))).to.equal( - '{"i":"foo","sn":"[MAX_NAME]","sp":"bar"}' + '{"i":"foo","sin":false,"sn":"[MAX_NAME]","sp":"bar"}' + ); + expect(queryId(path.endAt('bar').orderByChild('foo'))).to.equal( + '{"ein":true,"ep":"bar","i":"foo"}' + ); + expect(queryId(path.endBefore('bar').orderByChild('foo'))).to.equal( + '{"ein":false,"en":"[MIN_NAME]","ep":"bar","i":"foo"}' ); }); diff --git a/packages/database/src/core/view/QueryParams.ts b/packages/database/src/core/view/QueryParams.ts index 4deebec0531..e400ab26501 100644 --- a/packages/database/src/core/view/QueryParams.ts +++ b/packages/database/src/core/view/QueryParams.ts @@ -22,7 +22,6 @@ import { KEY_INDEX } from '../snap/indexes/KeyIndex'; import { PathIndex } from '../snap/indexes/PathIndex'; import { PRIORITY_INDEX, PriorityIndex } from '../snap/indexes/PriorityIndex'; import { VALUE_INDEX } from '../snap/indexes/ValueIndex'; -import { predecessor, successor } from '../util/NextPushId'; import { MAX_NAME, MIN_NAME } from '../util/util'; import { IndexedFilter } from './filter/IndexedFilter'; @@ -36,8 +35,10 @@ import { RangedFilter } from './filter/RangedFilter'; const enum WIRE_PROTOCOL_CONSTANTS { INDEX_START_VALUE = 'sp', INDEX_START_NAME = 'sn', + INDEX_START_IS_INCLUSIVE = 'sin', INDEX_END_VALUE = 'ep', INDEX_END_NAME = 'en', + INDEX_END_IS_INCLUSIVE = 'ein', LIMIT = 'l', VIEW_FROM = 'vf', VIEW_FROM_LEFT = 'l', @@ -53,8 +54,10 @@ const enum REST_QUERY_CONSTANTS { PRIORITY_INDEX = '$priority', VALUE_INDEX = '$value', KEY_INDEX = '$key', + START_AFTER = 'startAfter', START_AT = 'startAt', END_AT = 'endAt', + END_BEFORE = 'endBefore', LIMIT_TO_FIRST = 'limitToFirst', LIMIT_TO_LAST = 'limitToLast' } @@ -70,10 +73,10 @@ export class QueryParams { limitSet_ = false; startSet_ = false; startNameSet_ = false; - startAfterSet_ = false; + startAfterSet_ = false; // can only be true if startSet_ is true endSet_ = false; endNameSet_ = false; - endBeforeSet_ = false; + endBeforeSet_ = false; // can only be true if endSet_ is true limit_ = 0; viewFrom_ = ''; indexStartValue_: unknown | null = null; @@ -86,14 +89,6 @@ export class QueryParams { return this.startSet_; } - hasStartAfter(): boolean { - return this.startAfterSet_; - } - - hasEndBefore(): boolean { - return this.endBeforeSet_; - } - /** * @returns True if it would return from left. */ @@ -191,10 +186,12 @@ export class QueryParams { copy.limitSet_ = this.limitSet_; copy.limit_ = this.limit_; copy.startSet_ = this.startSet_; + copy.startAfterSet_ = this.startAfterSet_; copy.indexStartValue_ = this.indexStartValue_; copy.startNameSet_ = this.startNameSet_; copy.indexStartName_ = this.indexStartName_; copy.endSet_ = this.endSet_; + copy.endBeforeSet_ = this.endBeforeSet_; copy.indexEndValue_ = this.indexEndValue_; copy.endNameSet_ = this.endNameSet_; copy.indexEndName_ = this.indexEndName_; @@ -274,19 +271,10 @@ export function queryParamsStartAfter( key?: string | null ): QueryParams { let params: QueryParams; - if (queryParams.index_ === KEY_INDEX) { - if (typeof indexValue === 'string') { - indexValue = successor(indexValue as string); - } + if (queryParams.index_ === KEY_INDEX || !!key) { params = queryParamsStartAt(queryParams, indexValue, key); } else { - let childKey: string; - if (key == null) { - childKey = MAX_NAME; - } else { - childKey = successor(key); - } - params = queryParamsStartAt(queryParams, indexValue, childKey); + params = queryParamsStartAt(queryParams, indexValue, MAX_NAME); } params.startAfterSet_ = true; return params; @@ -318,20 +306,11 @@ export function queryParamsEndBefore( indexValue: unknown, key?: string | null ): QueryParams { - let childKey: string; let params: QueryParams; - if (queryParams.index_ === KEY_INDEX) { - if (typeof indexValue === 'string') { - indexValue = predecessor(indexValue as string); - } + if (queryParams.index_ === KEY_INDEX || !!key) { params = queryParamsEndAt(queryParams, indexValue, key); } else { - if (key == null) { - childKey = MIN_NAME; - } else { - childKey = predecessor(key); - } - params = queryParamsEndAt(queryParams, indexValue, childKey); + params = queryParamsEndAt(queryParams, indexValue, MIN_NAME); } params.endBeforeSet_ = true; return params; @@ -374,18 +353,22 @@ export function queryParamsToRestQueryStringParameters( qs[REST_QUERY_CONSTANTS.ORDER_BY] = stringify(orderBy); if (queryParams.startSet_) { - qs[REST_QUERY_CONSTANTS.START_AT] = stringify(queryParams.indexStartValue_); + const startParam = queryParams.startAfterSet_ + ? REST_QUERY_CONSTANTS.START_AFTER + : REST_QUERY_CONSTANTS.START_AT; + qs[startParam] = stringify(queryParams.indexStartValue_); if (queryParams.startNameSet_) { - qs[REST_QUERY_CONSTANTS.START_AT] += - ',' + stringify(queryParams.indexStartName_); + qs[startParam] += ',' + stringify(queryParams.indexStartName_); } } if (queryParams.endSet_) { - qs[REST_QUERY_CONSTANTS.END_AT] = stringify(queryParams.indexEndValue_); + const endParam = queryParams.endBeforeSet_ + ? REST_QUERY_CONSTANTS.END_BEFORE + : REST_QUERY_CONSTANTS.END_AT; + qs[endParam] = stringify(queryParams.indexEndValue_); if (queryParams.endNameSet_) { - qs[REST_QUERY_CONSTANTS.END_AT] += - ',' + stringify(queryParams.indexEndName_); + qs[endParam] += ',' + stringify(queryParams.indexEndName_); } } @@ -411,12 +394,16 @@ export function queryParamsGetQueryObject( obj[WIRE_PROTOCOL_CONSTANTS.INDEX_START_NAME] = queryParams.indexStartName_; } + obj[WIRE_PROTOCOL_CONSTANTS.INDEX_START_IS_INCLUSIVE] = + !queryParams.startAfterSet_; } if (queryParams.endSet_) { obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_VALUE] = queryParams.indexEndValue_; if (queryParams.endNameSet_) { obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_NAME] = queryParams.indexEndName_; } + obj[WIRE_PROTOCOL_CONSTANTS.INDEX_END_IS_INCLUSIVE] = + !queryParams.endBeforeSet_; } if (queryParams.limitSet_) { obj[WIRE_PROTOCOL_CONSTANTS.LIMIT] = queryParams.limit_; diff --git a/packages/database/src/core/view/filter/LimitedFilter.ts b/packages/database/src/core/view/filter/LimitedFilter.ts index 9fb74b4027d..b4848a69b63 100644 --- a/packages/database/src/core/view/filter/LimitedFilter.ts +++ b/packages/database/src/core/view/filter/LimitedFilter.ts @@ -46,11 +46,17 @@ export class LimitedFilter implements NodeFilter { private readonly reverse_: boolean; + private readonly startIsInclusive_: boolean; + + private readonly endIsInclusive_: boolean; + constructor(params: QueryParams) { this.rangedFilter_ = new RangedFilter(params); this.index_ = params.getIndex(); this.limit_ = params.getLimit(); this.reverse_ = !params.isViewFromLeft(); + this.startIsInclusive_ = !params.startAfterSet_; + this.endIsInclusive_ = !params.endBeforeSet_; } updateChild( snap: Node, @@ -119,20 +125,15 @@ export class LimitedFilter implements NodeFilter { let count = 0; while (iterator.hasNext() && count < this.limit_) { const next = iterator.getNext(); - let inRange; - if (this.reverse_) { - inRange = - this.index_.compare(this.rangedFilter_.getStartPost(), next) <= 0; + if (!this.withinDirectionalStart(next)) { + // if we have not reached the start, skip to the next element + continue; + } else if (!this.withinDirectionalEnd(next)) { + // if we have reached the end, stop adding elements + break; } else { - inRange = - this.index_.compare(next, this.rangedFilter_.getEndPost()) <= 0; - } - if (inRange) { filtered = filtered.updateImmediateChild(next.name, next.node); count++; - } else { - // if we have reached the end post, we cannot keep adding elemments - break; } } } else { @@ -142,33 +143,21 @@ export class LimitedFilter implements NodeFilter { filtered = filtered.updatePriority( ChildrenNode.EMPTY_NODE ) as ChildrenNode; - let startPost; - let endPost; - let cmp; + let iterator; if (this.reverse_) { iterator = filtered.getReverseIterator(this.index_); - startPost = this.rangedFilter_.getEndPost(); - endPost = this.rangedFilter_.getStartPost(); - const indexCompare = this.index_.getCompare(); - cmp = (a: NamedNode, b: NamedNode) => indexCompare(b, a); } else { iterator = filtered.getIterator(this.index_); - startPost = this.rangedFilter_.getStartPost(); - endPost = this.rangedFilter_.getEndPost(); - cmp = this.index_.getCompare(); } let count = 0; - let foundStartPost = false; while (iterator.hasNext()) { const next = iterator.getNext(); - if (!foundStartPost && cmp(startPost, next) <= 0) { - // start adding - foundStartPost = true; - } const inRange = - foundStartPost && count < this.limit_ && cmp(next, endPost) <= 0; + count < this.limit_ && + this.withinDirectionalStart(next) && + this.withinDirectionalEnd(next); if (inRange) { count++; } else { @@ -300,4 +289,26 @@ export class LimitedFilter implements NodeFilter { return snap; } } + + private withinDirectionalStart = (node: NamedNode) => + this.reverse_ ? this.withinEndPost(node) : this.withinStartPost(node); + + private withinDirectionalEnd = (node: NamedNode) => + this.reverse_ ? this.withinStartPost(node) : this.withinEndPost(node); + + private withinStartPost = (node: NamedNode) => { + const compareRes = this.index_.compare( + this.rangedFilter_.getStartPost(), + node + ); + return this.startIsInclusive_ ? compareRes <= 0 : compareRes < 0; + }; + + private withinEndPost = (node: NamedNode) => { + const compareRes = this.index_.compare( + node, + this.rangedFilter_.getEndPost() + ); + return this.endIsInclusive_ ? compareRes <= 0 : compareRes < 0; + }; } diff --git a/packages/database/src/core/view/filter/RangedFilter.ts b/packages/database/src/core/view/filter/RangedFilter.ts index 7311f1cc826..cd917dfcc26 100644 --- a/packages/database/src/core/view/filter/RangedFilter.ts +++ b/packages/database/src/core/view/filter/RangedFilter.ts @@ -39,11 +39,17 @@ export class RangedFilter implements NodeFilter { private endPost_: NamedNode; + private startIsInclusive_: boolean; + + private endIsInclusive_: boolean; + constructor(params: QueryParams) { this.indexedFilter_ = new IndexedFilter(params.getIndex()); this.index_ = params.getIndex(); this.startPost_ = RangedFilter.getStartPost_(params); this.endPost_ = RangedFilter.getEndPost_(params); + this.startIsInclusive_ = !params.startAfterSet_; + this.endIsInclusive_ = !params.endBeforeSet_; } getStartPost(): NamedNode { @@ -55,10 +61,13 @@ export class RangedFilter implements NodeFilter { } matches(node: NamedNode): boolean { - return ( - this.index_.compare(this.getStartPost(), node) <= 0 && - this.index_.compare(node, this.getEndPost()) <= 0 - ); + const isWithinStart = this.startIsInclusive_ + ? this.index_.compare(this.getStartPost(), node) <= 0 + : this.index_.compare(this.getStartPost(), node) < 0; + const isWithinEnd = this.endIsInclusive_ + ? this.index_.compare(node, this.getEndPost()) <= 0 + : this.index_.compare(node, this.getEndPost()) < 0; + return isWithinStart && isWithinEnd; } updateChild( snap: Node, diff --git a/packages/database/test/helpers/syncPointSpec.json b/packages/database/test/helpers/syncPointSpec.json index f39d29d3a89..931193f02b7 100644 --- a/packages/database/test/helpers/syncPointSpec.json +++ b/packages/database/test/helpers/syncPointSpec.json @@ -4179,6 +4179,249 @@ } ] }, + { + "name": "Queries with startAfter and endBefore work", + "steps": + [ + { + "type": "listen", + "path": "", + "params": { + "tag": 1, + "orderBy": "index", + "startAfter": { "index": 1 }, + "endBefore": { "index": 10 } + }, + "events": [] + }, + { + ".comment": "update from server sends all data", + "type": "serverUpdate", + "path": "", + "data": { + "a": { "index": 0, "value": "a" }, + "b": { "index": 2, "value": "b" }, + "c": { "index": 9, "value": "c" }, + "d": { "index": 11, "value": "d" } + }, + "events": [ + { + "path": "", + "type": "child_added", + "name": "b", + "prevName": null, + "data": { "index": 2, "value": "b" } + }, + { + "path": "", + "type": "child_added", + "name": "c", + "prevName": "b", + "data": { "index": 9, "value": "c" } + }, + { + "path": "", + "type": "value", + "data": { + "b": { "index": 2, "value": "b" }, + "c": { "index": 9, "value": "c" } + } + } + ] + }, + { + ".comment": "update from server to move child c out of query", + "type": "serverUpdate", + "path": "c/index", + "data": 10, + "events": [ + { + "path": "", + "type": "child_removed", + "name": "c", + "data": { "index": 9, "value": "c" } + }, + { + "path": "", + "type": "value", + "data": { + "b": { "index": 2, "value": "b" } + } + } + ] + }, + { + ".comment": "update from server to move child b out of window", + "type": "serverUpdate", + "path": "b/index", + "data": 1, + "events": [ + { + "path": "", + "type": "child_removed", + "name": "b", + "data": { "index": 2, "value": "b" } + }, + { + "path": "", + "type": "value", + "data": {} + } + ] + } + ] + }, + { + "name": "Queries with startAfter, endBefore, and orderByChild work", + "steps": + [ + { + "type": "listen", + "path": "", + "params": { + "tag": 1, + "orderBy": "foo/index", + "startAfter": { "index": 1, "name": "foo" }, + "endBefore": { "index": 10, "name": "foo" } + }, + "events": [] + }, + { + ".comment": "update from server sends all data", + "type": "serverUpdate", + "path": "", + "data": { + "a": { "foo": { "index": 0, "value": "a" } }, + "b": { "foo": { "index": 2, "value": "b" } }, + "c": { "foo": { "index": 9, "value": "c" } }, + "d": { "foo": { "index": 11, "value": "d" } } + }, + "events": [ + { + "path": "", + "type": "child_added", + "name": "b", + "prevName": null, + "data": { "foo": { "index": 2, "value": "b" } } + }, + { + "path": "", + "type": "child_added", + "name": "c", + "prevName": "b", + "data": { "foo": { "index": 9, "value": "c" } } + }, + { + "path": "", + "type": "value", + "data": { + "b": { "foo": { "index": 2, "value": "b" } }, + "c": { "foo": { "index": 9, "value": "c" } } + } + } + ] + } + ] + }, + { + "name": "Queries indexed by key with startAfter, endBefore, and limitToFirst work", + "steps": + [ + { + "type": "listen", + "path": "", + "params": { + "tag": 1, + "orderByKey": true, + "startAfter": { "index": "a" }, + "endBefore": { "index": "d" }, + "limitToFirst": 1 + }, + "events": [] + }, + { + ".comment": "update from server sends all data", + "type": "serverUpdate", + "path": "", + "data": { + "a": { ".value": "a" }, + "b": { ".value": "b" }, + "c": { ".value": "c" }, + "d": { ".value": "d" } + }, + "events": [ + { + "path": "", + "type": "child_added", + "name": "b", + "prevName": null, + "data": { ".value": "b" } + }, + { + "path": "", + "type": "value", + "data": { + "b": { ".value": "b" } + } + } + ] + } + ] + }, + { + "name": "Queries indexed by key with startAfter, endBefore, and limitToLast work", + "steps": + [ + { + "type": "listen", + "path": "", + "params": { + "tag": 1, + "orderByKey": true, + "startAfter": { "index": "a" }, + "endBefore": { "index": "e" }, + "limitToLast": 2 + }, + "events": [] + }, + { + ".comment": "update from server sends all data", + "type": "serverUpdate", + "path": "", + "data": { + "a": { ".value": "a" }, + "b": { ".value": "b" }, + "c": { ".value": "c" }, + "d": { ".value": "d" }, + "e": { ".value": "e" } + }, + "events": [ + { + "path": "", + "type": "child_added", + "name": "c", + "prevName": null, + "data": { ".value": "c" } + }, + { + "path": "", + "type": "child_added", + "name": "d", + "prevName": "c", + "data": { ".value": "d" } + }, + { + "path": "", + "type": "value", + "data": { + "c": { ".value": "c" }, + "d": { ".value": "d" } + } + } + ] + } + ] + }, { "name": "Update to single child that moves out of window", "steps": diff --git a/packages/database/test/helpers/syncpoint-util.ts b/packages/database/test/helpers/syncpoint-util.ts index 4c28c55a9b2..248f1b5eea9 100644 --- a/packages/database/test/helpers/syncpoint-util.ts +++ b/packages/database/test/helpers/syncpoint-util.ts @@ -31,9 +31,11 @@ import { ref, limitToFirst, limitToLast, + startAfter, startAt, equalTo, endAt, + endBefore, orderByChild, orderByKey, orderByPriority @@ -362,10 +364,14 @@ export class SyncPointTestParser { q = query(q, limitToFirst(paramValue)); } else if (paramName === 'limitToLast') { q = query(q, limitToLast(paramValue)); + } else if (paramName === 'startAfter') { + q = query(q, startAfter(paramValue.index, paramValue.name)); } else if (paramName === 'startAt') { q = query(q, startAt(paramValue.index, paramValue.name)); } else if (paramName === 'endAt') { q = query(q, endAt(paramValue.index, paramValue.name)); + } else if (paramName === 'endBefore') { + q = query(q, endBefore(paramValue.index, paramValue.name)); } else if (paramName === 'equalTo') { q = query(q, equalTo(paramValue.index, paramValue.name)); } else if (paramName === 'orderBy') { diff --git a/packages/firestore-compat/package.json b/packages/firestore-compat/package.json index 33c203b15a3..befa6e56199 100644 --- a/packages/firestore-compat/package.json +++ b/packages/firestore-compat/package.json @@ -58,7 +58,7 @@ "rollup-plugin-typescript2": "0.31.2", "@rollup/plugin-node-resolve": "13.3.0", "ts-node": "10.9.1", - "typescript": "4.2.2" + "typescript": "4.7.4" }, "license": "Apache-2.0", "typings": "dist/src/index.d.ts", diff --git a/packages/firestore-compat/test/array_transforms.test.ts b/packages/firestore-compat/test/array_transforms.test.ts index 02e3bc45601..e00aca091e9 100644 --- a/packages/firestore-compat/test/array_transforms.test.ts +++ b/packages/firestore-compat/test/array_transforms.test.ts @@ -189,7 +189,8 @@ apiDescribe('Array Transforms:', (persistence: boolean) => { let errCaught = false; try { await docRef.get({ source: 'cache' }); - } catch (err) { + } catch (e) { + const err = e as firestore.FirestoreError; expect(err.code).to.equal('unavailable'); errCaught = true; } diff --git a/packages/firestore-compat/test/transactions.test.ts b/packages/firestore-compat/test/transactions.test.ts index 5151d672b0a..0109ea62f93 100644 --- a/packages/firestore-compat/test/transactions.test.ts +++ b/packages/firestore-compat/test/transactions.test.ts @@ -116,7 +116,8 @@ apiDescribe('Database transactions', (persistence: boolean) => { const snapshot = await this.docRef.get(); expect(snapshot.exists).to.equal(true); expect(snapshot.data()).to.deep.equal(expected); - } catch (err) { + } catch (e) { + const err = e as firestore.FirestoreError; expect.fail( 'Expected the sequence (' + this.listStages(this.stages) + @@ -133,7 +134,8 @@ apiDescribe('Database transactions', (persistence: boolean) => { await this.runTransaction(); const snapshot = await this.docRef.get(); expect(snapshot.exists).to.equal(false); - } catch (err) { + } catch (e) { + const err = e as firestore.FirestoreError; expect.fail( 'Expected the sequence (' + this.listStages(this.stages) + @@ -150,8 +152,9 @@ apiDescribe('Database transactions', (persistence: boolean) => { await this.prepareDoc(); await this.runTransaction(); succeeded = true; - } catch (err) { - expect((err as firestore.FirestoreError).code).to.equal(expected); + } catch (e) { + const err = e as firestore.FirestoreError; + expect(err.code).to.equal(expected); } if (succeeded) { expect.fail( diff --git a/packages/firestore/lite/index.ts b/packages/firestore/lite/index.ts index 5e3faa48e31..3cf337310df 100644 --- a/packages/firestore/lite/index.ts +++ b/packages/firestore/lite/index.ts @@ -68,19 +68,29 @@ export { } from '../src/lite-api/reference'; export { + and, endAt, endBefore, startAt, startAfter, limit, limitToLast, - orderBy, - OrderByDirection, where, - WhereFilterOp, + or, + orderBy, query, QueryConstraint, - QueryConstraintType + QueryConstraintType, + QueryCompositeFilterConstraint, + QueryFilterConstraint, + QueryFieldFilterConstraint, + QueryOrderByConstraint, + QueryLimitConstraint, + QueryNonFilterConstraint, + QueryStartAtConstraint, + QueryEndAtConstraint, + OrderByDirection, + WhereFilterOp } from '../src/lite-api/query'; export { diff --git a/packages/firestore/package.json b/packages/firestore/package.json index ec2ba937eec..3983f4e013b 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -30,6 +30,8 @@ "test:all:ci": "run-p test:browser test:lite:browser test:travis", "test:all": "run-p test:browser test:lite:browser test:travis test:minified", "test:browser": "karma start --single-run", + "test:browser:emulator:debug": "karma start --browsers=Chrome --local", + "test:browser:emulator": "karma start --single-run --local", "test:browser:unit": "karma start --single-run --unit", "test:browser:debug": "karma start --browsers=Chrome --auto-watch", "test:node": "node ./scripts/run-tests.js --main=test/register.ts --emulator 'test/{,!(browser|lite)/**/}*.test.ts'", @@ -84,7 +86,7 @@ "@firebase/logger": "0.3.4", "@firebase/util": "1.7.3", "@firebase/webchannel-wrapper": "0.8.1", - "@grpc/grpc-js": "^1.3.2", + "@grpc/grpc-js": "~1.7.0", "@grpc/proto-loader": "^0.6.13", "node-fetch": "2.6.7", "tslib": "^2.1.0" @@ -111,7 +113,7 @@ "rollup-plugin-terser": "7.0.2", "rollup-plugin-typescript2": "0.31.2", "ts-node": "10.9.1", - "typescript": "4.2.2" + "typescript": "4.7.4" }, "repository": { "directory": "packages/firestore", diff --git a/packages/firestore/scripts/remove-asserts.js b/packages/firestore/scripts/remove-asserts.js index 4df836c1832..f6a3577ff0b 100644 --- a/packages/firestore/scripts/remove-asserts.js +++ b/packages/firestore/scripts/remove-asserts.js @@ -14,4 +14,4 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */exports.__esModule=true;exports.removeAsserts=void 0;var ts=require("typescript");var ASSERT_LOCATION="packages/firestore/src/util/assert.ts";function removeAsserts(program){var removeAsserts=new RemoveAsserts(program.getTypeChecker());return function(context){return function(file){return removeAsserts.visitNodeAndChildren(file,context)}}}exports.removeAsserts=removeAsserts;var RemoveAsserts=function(){function RemoveAsserts(typeChecker){this.typeChecker=typeChecker}RemoveAsserts.prototype.visitNodeAndChildren=function(node,context){var _this=this;return ts.visitEachChild(this.visitNode(node),(function(childNode){return _this.visitNodeAndChildren(childNode,context)}),context)};RemoveAsserts.prototype.visitNode=function(node){var updatedNode=null;if(ts.isCallExpression(node)){var signature=this.typeChecker.getResolvedSignature(node);if(signature&&signature.declaration&&signature.declaration.kind===ts.SyntaxKind.FunctionDeclaration){var declaration=signature.declaration;if(declaration&&declaration.getSourceFile().fileName.indexOf(ASSERT_LOCATION)>=0){var method=declaration.name.text;if(method==="debugAssert"){updatedNode=ts.createEmptyStatement()}else if(method==="hardAssert"){updatedNode=ts.createCall(declaration.name,undefined,[node.arguments[0]])}else if(method==="fail"){updatedNode=ts.createCall(declaration.name,undefined,[])}}}}if(updatedNode){ts.setSourceMapRange(updatedNode,ts.getSourceMapRange(node));return updatedNode}else{return node}};return RemoveAsserts}(); \ No newline at end of file + */exports.__esModule=true;exports.removeAsserts=void 0;var ts=require("typescript");var ASSERT_LOCATION="packages/firestore/src/util/assert.ts";function removeAsserts(program){var removeAsserts=new RemoveAsserts(program.getTypeChecker());return function(context){return function(file){return removeAsserts.visitNodeAndChildren(file,context)}}}exports.removeAsserts=removeAsserts;var RemoveAsserts=function(){function RemoveAsserts(typeChecker){this.typeChecker=typeChecker}RemoveAsserts.prototype.visitNodeAndChildren=function(node,context){var _this=this;return ts.visitEachChild(this.visitNode(node),(function(childNode){return _this.visitNodeAndChildren(childNode,context)}),context)};RemoveAsserts.prototype.visitNode=function(node){var updatedNode=null;if(ts.isCallExpression(node)){var signature=this.typeChecker.getResolvedSignature(node);if(signature&&signature.declaration&&signature.declaration.kind===ts.SyntaxKind.FunctionDeclaration){var declaration=signature.declaration;if(declaration&&declaration.getSourceFile().fileName.indexOf(ASSERT_LOCATION)>=0){var method=declaration.name.text;if(method==="debugAssert"){updatedNode=ts.createOmittedExpression()}else if(method==="hardAssert"){updatedNode=ts.createCall(declaration.name,undefined,[node.arguments[0]])}else if(method==="fail"){updatedNode=ts.createCall(declaration.name,undefined,[])}}}}if(updatedNode){ts.setSourceMapRange(updatedNode,ts.getSourceMapRange(node));return updatedNode}else{return node}};return RemoveAsserts}(); diff --git a/packages/firestore/scripts/remove-asserts.ts b/packages/firestore/scripts/remove-asserts.ts index 7fcb9d1b877..f195f7bd2ab 100644 --- a/packages/firestore/scripts/remove-asserts.ts +++ b/packages/firestore/scripts/remove-asserts.ts @@ -64,7 +64,7 @@ class RemoveAsserts { ) { const method = declaration.name!.text; if (method === 'debugAssert') { - updatedNode = ts.createEmptyStatement(); + updatedNode = ts.createOmittedExpression(); } else if (method === 'hardAssert') { // Remove the log message but keep the assertion updatedNode = ts.createCall( diff --git a/packages/firestore/src/api.ts b/packages/firestore/src/api.ts index f05db09f568..2742195eecd 100644 --- a/packages/firestore/src/api.ts +++ b/packages/firestore/src/api.ts @@ -85,6 +85,7 @@ export { } from './api/reference'; export { + and, endAt, endBefore, startAt, @@ -92,10 +93,19 @@ export { limit, limitToLast, where, + or, orderBy, query, QueryConstraint, QueryConstraintType, + QueryCompositeFilterConstraint, + QueryFilterConstraint, + QueryFieldFilterConstraint, + QueryOrderByConstraint, + QueryLimitConstraint, + QueryNonFilterConstraint, + QueryStartAtConstraint, + QueryEndAtConstraint, OrderByDirection, WhereFilterOp } from './api/filter'; diff --git a/packages/firestore/src/api/filter.ts b/packages/firestore/src/api/filter.ts index b8a7cc90720..035aca66aba 100644 --- a/packages/firestore/src/api/filter.ts +++ b/packages/firestore/src/api/filter.ts @@ -16,17 +16,27 @@ */ export { + and, endAt, endBefore, startAfter, startAt, limitToLast, limit, + or, orderBy, OrderByDirection, where, WhereFilterOp, query, + QueryCompositeFilterConstraint, QueryConstraint, - QueryConstraintType + QueryConstraintType, + QueryFilterConstraint, + QueryFieldFilterConstraint, + QueryOrderByConstraint, + QueryLimitConstraint, + QueryStartAtConstraint, + QueryEndAtConstraint, + QueryNonFilterConstraint } from '../lite-api/query'; diff --git a/packages/firestore/src/core/bound.ts b/packages/firestore/src/core/bound.ts new file mode 100644 index 00000000000..20b688fa7e1 --- /dev/null +++ b/packages/firestore/src/core/bound.ts @@ -0,0 +1,131 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Document } from '../model/document'; +import { DocumentKey } from '../model/document_key'; +import { isReferenceValue, valueCompare, valueEquals } from '../model/values'; +import { Value as ProtoValue } from '../protos/firestore_proto_api'; +import { debugAssert } from '../util/assert'; + +import { Direction, OrderBy } from './order_by'; + +/** + * Represents a bound of a query. + * + * The bound is specified with the given components representing a position and + * whether it's just before or just after the position (relative to whatever the + * query order is). + * + * The position represents a logical index position for a query. It's a prefix + * of values for the (potentially implicit) order by clauses of a query. + * + * Bound provides a function to determine whether a document comes before or + * after a bound. This is influenced by whether the position is just before or + * just after the provided values. + */ +export class Bound { + constructor(readonly position: ProtoValue[], readonly inclusive: boolean) {} +} + +function boundCompareToDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): number { + debugAssert( + bound.position.length <= orderBy.length, + "Bound has more components than query's orderBy" + ); + let comparison = 0; + for (let i = 0; i < bound.position.length; i++) { + const orderByComponent = orderBy[i]; + const component = bound.position[i]; + if (orderByComponent.field.isKeyField()) { + debugAssert( + isReferenceValue(component), + 'Bound has a non-key value where the key path is being used.' + ); + comparison = DocumentKey.comparator( + DocumentKey.fromName(component.referenceValue), + doc.key + ); + } else { + const docValue = doc.data.field(orderByComponent.field); + debugAssert( + docValue !== null, + 'Field should exist since document matched the orderBy already.' + ); + comparison = valueCompare(component, docValue); + } + if (orderByComponent.dir === Direction.DESCENDING) { + comparison = comparison * -1; + } + if (comparison !== 0) { + break; + } + } + return comparison; +} + +/** + * Returns true if a document sorts after a bound using the provided sort + * order. + */ +export function boundSortsAfterDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): boolean { + const comparison = boundCompareToDocument(bound, orderBy, doc); + return bound.inclusive ? comparison >= 0 : comparison > 0; +} + +/** + * Returns true if a document sorts before a bound using the provided sort + * order. + */ +export function boundSortsBeforeDocument( + bound: Bound, + orderBy: OrderBy[], + doc: Document +): boolean { + const comparison = boundCompareToDocument(bound, orderBy, doc); + return bound.inclusive ? comparison <= 0 : comparison < 0; +} + +export function boundEquals(left: Bound | null, right: Bound | null): boolean { + if (left === null) { + return right === null; + } else if (right === null) { + return false; + } + + if ( + left.inclusive !== right.inclusive || + left.position.length !== right.position.length + ) { + return false; + } + for (let i = 0; i < left.position.length; i++) { + const leftPosition = left.position[i]; + const rightPosition = right.position[i]; + if (!valueEquals(leftPosition, rightPosition)) { + return false; + } + } + return true; +} diff --git a/packages/firestore/src/core/filter.ts b/packages/firestore/src/core/filter.ts new file mode 100644 index 00000000000..4322c926658 --- /dev/null +++ b/packages/firestore/src/core/filter.ts @@ -0,0 +1,543 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Document } from '../model/document'; +import { DocumentKey } from '../model/document_key'; +import { FieldPath } from '../model/path'; +import { + arrayValueContains, + canonicalId, + isArray, + isReferenceValue, + typeOrder, + valueCompare, + valueEquals +} from '../model/values'; +import { Value as ProtoValue } from '../protos/firestore_proto_api'; +import { debugAssert, fail } from '../util/assert'; + +// The operator of a FieldFilter +export const enum Operator { + LESS_THAN = '<', + LESS_THAN_OR_EQUAL = '<=', + EQUAL = '==', + NOT_EQUAL = '!=', + GREATER_THAN = '>', + GREATER_THAN_OR_EQUAL = '>=', + ARRAY_CONTAINS = 'array-contains', + IN = 'in', + NOT_IN = 'not-in', + ARRAY_CONTAINS_ANY = 'array-contains-any' +} + +// The operator of a CompositeFilter +export const enum CompositeOperator { + OR = 'or', + AND = 'and' +} + +export abstract class Filter { + abstract matches(doc: Document): boolean; + + abstract getFlattenedFilters(): readonly FieldFilter[]; + + abstract getFilters(): Filter[]; + + abstract getFirstInequalityField(): FieldPath | null; +} + +export class FieldFilter extends Filter { + protected constructor( + public readonly field: FieldPath, + public readonly op: Operator, + public readonly value: ProtoValue + ) { + super(); + } + + /** + * Creates a filter based on the provided arguments. + */ + static create( + field: FieldPath, + op: Operator, + value: ProtoValue + ): FieldFilter { + if (field.isKeyField()) { + if (op === Operator.IN || op === Operator.NOT_IN) { + return this.createKeyFieldInFilter(field, op, value); + } else { + debugAssert( + isReferenceValue(value), + 'Comparing on key, but filter value not a RefValue' + ); + debugAssert( + op !== Operator.ARRAY_CONTAINS && op !== Operator.ARRAY_CONTAINS_ANY, + `'${op.toString()}' queries don't make sense on document keys.` + ); + return new KeyFieldFilter(field, op, value); + } + } else if (op === Operator.ARRAY_CONTAINS) { + return new ArrayContainsFilter(field, value); + } else if (op === Operator.IN) { + debugAssert( + isArray(value), + 'IN filter has invalid value: ' + value.toString() + ); + return new InFilter(field, value); + } else if (op === Operator.NOT_IN) { + debugAssert( + isArray(value), + 'NOT_IN filter has invalid value: ' + value.toString() + ); + return new NotInFilter(field, value); + } else if (op === Operator.ARRAY_CONTAINS_ANY) { + debugAssert( + isArray(value), + 'ARRAY_CONTAINS_ANY filter has invalid value: ' + value.toString() + ); + return new ArrayContainsAnyFilter(field, value); + } else { + return new FieldFilter(field, op, value); + } + } + + private static createKeyFieldInFilter( + field: FieldPath, + op: Operator.IN | Operator.NOT_IN, + value: ProtoValue + ): FieldFilter { + debugAssert( + isArray(value), + `Comparing on key with ${op.toString()}` + + ', but filter value not an ArrayValue' + ); + debugAssert( + (value.arrayValue.values || []).every(elem => isReferenceValue(elem)), + `Comparing on key with ${op.toString()}` + + ', but an array value was not a RefValue' + ); + + return op === Operator.IN + ? new KeyFieldInFilter(field, value) + : new KeyFieldNotInFilter(field, value); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + // Types do not have to match in NOT_EQUAL filters. + if (this.op === Operator.NOT_EQUAL) { + return ( + other !== null && + this.matchesComparison(valueCompare(other!, this.value)) + ); + } + + // Only compare types with matching backend order (such as double and int). + return ( + other !== null && + typeOrder(this.value) === typeOrder(other) && + this.matchesComparison(valueCompare(other, this.value)) + ); + } + + protected matchesComparison(comparison: number): boolean { + switch (this.op) { + case Operator.LESS_THAN: + return comparison < 0; + case Operator.LESS_THAN_OR_EQUAL: + return comparison <= 0; + case Operator.EQUAL: + return comparison === 0; + case Operator.NOT_EQUAL: + return comparison !== 0; + case Operator.GREATER_THAN: + return comparison > 0; + case Operator.GREATER_THAN_OR_EQUAL: + return comparison >= 0; + default: + return fail('Unknown FieldFilter operator: ' + this.op); + } + } + + isInequality(): boolean { + return ( + [ + Operator.LESS_THAN, + Operator.LESS_THAN_OR_EQUAL, + Operator.GREATER_THAN, + Operator.GREATER_THAN_OR_EQUAL, + Operator.NOT_EQUAL, + Operator.NOT_IN + ].indexOf(this.op) >= 0 + ); + } + + getFlattenedFilters(): readonly FieldFilter[] { + return [this]; + } + + getFilters(): Filter[] { + return [this]; + } + + getFirstInequalityField(): FieldPath | null { + if (this.isInequality()) { + return this.field; + } + return null; + } +} + +export class CompositeFilter extends Filter { + private memoizedFlattenedFilters: FieldFilter[] | null = null; + + protected constructor( + public readonly filters: readonly Filter[], + public readonly op: CompositeOperator + ) { + super(); + } + + /** + * Creates a filter based on the provided arguments. + */ + static create(filters: Filter[], op: CompositeOperator): CompositeFilter { + return new CompositeFilter(filters, op); + } + + matches(doc: Document): boolean { + if (compositeFilterIsConjunction(this)) { + // For conjunctions, all filters must match, so return false if any filter doesn't match. + return this.filters.find(filter => !filter.matches(doc)) === undefined; + } else { + // For disjunctions, at least one filter should match. + return this.filters.find(filter => filter.matches(doc)) !== undefined; + } + } + + getFlattenedFilters(): readonly FieldFilter[] { + if (this.memoizedFlattenedFilters !== null) { + return this.memoizedFlattenedFilters; + } + + this.memoizedFlattenedFilters = this.filters.reduce((result, subfilter) => { + return result.concat(subfilter.getFlattenedFilters()); + }, [] as FieldFilter[]); + + return this.memoizedFlattenedFilters; + } + + // Returns a mutable copy of `this.filters` + getFilters(): Filter[] { + return Object.assign([], this.filters); + } + + getFirstInequalityField(): FieldPath | null { + const found = this.findFirstMatchingFilter(filter => filter.isInequality()); + + if (found !== null) { + return found.field; + } + return null; + } + + // Performs a depth-first search to find and return the first FieldFilter in the composite filter + // that satisfies the predicate. Returns `null` if none of the FieldFilters satisfy the + // predicate. + private findFirstMatchingFilter( + predicate: (filter: FieldFilter) => boolean + ): FieldFilter | null { + for (const fieldFilter of this.getFlattenedFilters()) { + if (predicate(fieldFilter)) { + return fieldFilter; + } + } + + return null; + } +} + +export function compositeFilterIsConjunction( + compositeFilter: CompositeFilter +): boolean { + return compositeFilter.op === CompositeOperator.AND; +} + +export function compositeFilterIsDisjunction( + compositeFilter: CompositeFilter +): boolean { + return compositeFilter.op === CompositeOperator.OR; +} + +/** + * Returns true if this filter is a conjunction of field filters only. Returns false otherwise. + */ +export function compositeFilterIsFlatConjunction( + compositeFilter: CompositeFilter +): boolean { + return ( + compositeFilterIsFlat(compositeFilter) && + compositeFilterIsConjunction(compositeFilter) + ); +} + +/** + * Returns true if this filter does not contain any composite filters. Returns false otherwise. + */ +export function compositeFilterIsFlat( + compositeFilter: CompositeFilter +): boolean { + for (const filter of compositeFilter.filters) { + if (filter instanceof CompositeFilter) { + return false; + } + } + return true; +} + +export function canonifyFilter(filter: Filter): string { + debugAssert( + filter instanceof FieldFilter || filter instanceof CompositeFilter, + 'canonifyFilter() only supports FieldFilters and CompositeFilters' + ); + + if (filter instanceof FieldFilter) { + // TODO(b/29183165): Technically, this won't be unique if two values have + // the same description, such as the int 3 and the string "3". So we should + // add the types in here somehow, too. + return ( + filter.field.canonicalString() + + filter.op.toString() + + canonicalId(filter.value) + ); + } else { + // filter instanceof CompositeFilter + const canonicalIdsString = filter.filters + .map(filter => canonifyFilter(filter)) + .join(','); + return `${filter.op}(${canonicalIdsString})`; + } +} + +export function filterEquals(f1: Filter, f2: Filter): boolean { + if (f1 instanceof FieldFilter) { + return fieldFilterEquals(f1, f2); + } else if (f1 instanceof CompositeFilter) { + return compositeFilterEquals(f1, f2); + } else { + fail('Only FieldFilters and CompositeFilters can be compared'); + } +} + +export function fieldFilterEquals(f1: FieldFilter, f2: Filter): boolean { + return ( + f2 instanceof FieldFilter && + f1.op === f2.op && + f1.field.isEqual(f2.field) && + valueEquals(f1.value, f2.value) + ); +} + +export function compositeFilterEquals( + f1: CompositeFilter, + f2: Filter +): boolean { + if ( + f2 instanceof CompositeFilter && + f1.op === f2.op && + f1.filters.length === f2.filters.length + ) { + const subFiltersMatch: boolean = f1.filters.reduce( + (result: boolean, f1Filter: Filter, index: number): boolean => + result && filterEquals(f1Filter, f2.filters[index]), + true + ); + + return subFiltersMatch; + } + + return false; +} + +/** + * Returns a new composite filter that contains all filter from + * `compositeFilter` plus all the given filters in `otherFilters`. + */ +export function compositeFilterWithAddedFilters( + compositeFilter: CompositeFilter, + otherFilters: Filter[] +): CompositeFilter { + const mergedFilters = compositeFilter.filters.concat(otherFilters); + return CompositeFilter.create(mergedFilters, compositeFilter.op); +} + +/** Returns a debug description for `filter`. */ +export function stringifyFilter(filter: Filter): string { + debugAssert( + filter instanceof FieldFilter || filter instanceof CompositeFilter, + 'stringifyFilter() only supports FieldFilters and CompositeFilters' + ); + if (filter instanceof FieldFilter) { + return stringifyFieldFilter(filter); + } else if (filter instanceof CompositeFilter) { + return stringifyCompositeFilter(filter); + } else { + return 'Filter'; + } +} + +export function stringifyCompositeFilter(filter: CompositeFilter): string { + return ( + filter.op.toString() + + ` {` + + filter.getFilters().map(stringifyFilter).join(' ,') + + '}' + ); +} + +export function stringifyFieldFilter(filter: FieldFilter): string { + return `${filter.field.canonicalString()} ${filter.op} ${canonicalId( + filter.value + )}`; +} + +/** Filter that matches on key fields (i.e. '__name__'). */ +export class KeyFieldFilter extends FieldFilter { + private readonly key: DocumentKey; + + constructor(field: FieldPath, op: Operator, value: ProtoValue) { + super(field, op, value); + debugAssert( + isReferenceValue(value), + 'KeyFieldFilter expects a ReferenceValue' + ); + this.key = DocumentKey.fromName(value.referenceValue); + } + + matches(doc: Document): boolean { + const comparison = DocumentKey.comparator(doc.key, this.key); + return this.matchesComparison(comparison); + } +} + +/** Filter that matches on key fields within an array. */ +export class KeyFieldInFilter extends FieldFilter { + private readonly keys: DocumentKey[]; + + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.IN, value); + this.keys = extractDocumentKeysFromArrayValue(Operator.IN, value); + } + + matches(doc: Document): boolean { + return this.keys.some(key => key.isEqual(doc.key)); + } +} + +/** Filter that matches on key fields not present within an array. */ +export class KeyFieldNotInFilter extends FieldFilter { + private readonly keys: DocumentKey[]; + + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.NOT_IN, value); + this.keys = extractDocumentKeysFromArrayValue(Operator.NOT_IN, value); + } + + matches(doc: Document): boolean { + return !this.keys.some(key => key.isEqual(doc.key)); + } +} + +function extractDocumentKeysFromArrayValue( + op: Operator.IN | Operator.NOT_IN, + value: ProtoValue +): DocumentKey[] { + debugAssert( + isArray(value), + 'KeyFieldInFilter/KeyFieldNotInFilter expects an ArrayValue' + ); + return (value.arrayValue?.values || []).map(v => { + debugAssert( + isReferenceValue(v), + `Comparing on key with ${op.toString()}, but an array value was not ` + + `a ReferenceValue` + ); + return DocumentKey.fromName(v.referenceValue); + }); +} + +/** A Filter that implements the array-contains operator. */ +export class ArrayContainsFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.ARRAY_CONTAINS, value); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + return isArray(other) && arrayValueContains(other.arrayValue, this.value); + } +} + +/** A Filter that implements the IN operator. */ +export class InFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.IN, value); + debugAssert(isArray(value), 'InFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + return other !== null && arrayValueContains(this.value.arrayValue!, other); + } +} + +/** A Filter that implements the not-in operator. */ +export class NotInFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.NOT_IN, value); + debugAssert(isArray(value), 'NotInFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + if ( + arrayValueContains(this.value.arrayValue!, { nullValue: 'NULL_VALUE' }) + ) { + return false; + } + const other = doc.data.field(this.field); + return other !== null && !arrayValueContains(this.value.arrayValue!, other); + } +} + +/** A Filter that implements the array-contains-any operator. */ +export class ArrayContainsAnyFilter extends FieldFilter { + constructor(field: FieldPath, value: ProtoValue) { + super(field, Operator.ARRAY_CONTAINS_ANY, value); + debugAssert(isArray(value), 'ArrayContainsAnyFilter expects an ArrayValue'); + } + + matches(doc: Document): boolean { + const other = doc.data.field(this.field); + if (!isArray(other) || !other.arrayValue.values) { + return false; + } + return other.arrayValue.values.some(val => + arrayValueContains(this.value.arrayValue!, val) + ); + } +} diff --git a/packages/firestore/src/core/order_by.ts b/packages/firestore/src/core/order_by.ts new file mode 100644 index 00000000000..5685b1eb2c3 --- /dev/null +++ b/packages/firestore/src/core/order_by.ts @@ -0,0 +1,49 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { FieldPath } from '../model/path'; + +/** + * The direction of sorting in an order by. + */ +export const enum Direction { + ASCENDING = 'asc', + DESCENDING = 'desc' +} + +/** + * An ordering on a field, in some Direction. Direction defaults to ASCENDING. + */ +export class OrderBy { + constructor( + readonly field: FieldPath, + readonly dir: Direction = Direction.ASCENDING + ) {} +} + +export function canonifyOrderBy(orderBy: OrderBy): string { + // TODO(b/29183165): Make this collision robust. + return orderBy.field.canonicalString() + orderBy.dir; +} + +export function stringifyOrderBy(orderBy: OrderBy): string { + return `${orderBy.field.canonicalString()} (${orderBy.dir})`; +} + +export function orderByEquals(left: OrderBy, right: OrderBy): boolean { + return left.dir === right.dir && left.field.isEqual(right.field); +} diff --git a/packages/firestore/src/core/query.ts b/packages/firestore/src/core/query.ts index 2b4fca74c3a..310f7f6ac4b 100644 --- a/packages/firestore/src/core/query.ts +++ b/packages/firestore/src/core/query.ts @@ -22,18 +22,17 @@ import { debugAssert, debugCast, fail } from '../util/assert'; import { Bound, + boundSortsAfterDocument, + boundSortsBeforeDocument +} from './bound'; +import { CompositeFilter, Filter } from './filter'; +import { Direction, OrderBy } from './order_by'; +import { canonifyTarget, - Direction, - FieldFilter, - Filter, newTarget, - Operator, - OrderBy, - boundSortsBeforeDocument, stringifyTarget, Target, - targetEquals, - boundSortsAfterDocument + targetEquals } from './target'; export const enum LimitType { @@ -166,6 +165,13 @@ export function queryMatchesAllDocuments(query: Query): boolean { ); } +export function queryContainsCompositeFilters(query: Query): boolean { + return ( + query.filters.find(filter => filter instanceof CompositeFilter) !== + undefined + ); +} + export function getFirstOrderByField(query: Query): FieldPath | null { return query.explicitOrderBy.length > 0 ? query.explicitOrderBy[0].field @@ -174,34 +180,12 @@ export function getFirstOrderByField(query: Query): FieldPath | null { export function getInequalityFilterField(query: Query): FieldPath | null { for (const filter of query.filters) { - debugAssert( - filter instanceof FieldFilter, - 'Only FieldFilters are supported' - ); - if (filter.isInequality()) { - return filter.field; + const result = filter.getFirstInequalityField(); + if (result !== null) { + return result; } } - return null; -} -/** - * Checks if any of the provided Operators are included in the query and - * returns the first one that is, or null if none are. - */ -export function findFilterOperator( - query: Query, - operators: Operator[] -): Operator | null { - for (const filter of query.filters) { - debugAssert( - filter instanceof FieldFilter, - 'Only FieldFilters are supported' - ); - if (operators.indexOf(filter.op) >= 0) { - return filter.op; - } - } return null; } @@ -337,11 +321,13 @@ export function queryToTarget(query: Query): Target { } export function queryWithAddedFilter(query: Query, filter: Filter): Query { + const newInequalityField = filter.getFirstInequalityField(); + const queryInequalityField = getInequalityFilterField(query); + debugAssert( - getInequalityFilterField(query) == null || - !(filter instanceof FieldFilter) || - !filter.isInequality() || - filter.field.isEqual(getInequalityFilterField(query)!), + queryInequalityField == null || + newInequalityField == null || + newInequalityField.isEqual(queryInequalityField), 'Query must only have one inequality field.' ); @@ -482,7 +468,13 @@ function queryMatchesPathAndCollectionGroup( * in the results. */ function queryMatchesOrderBy(query: Query, doc: Document): boolean { - for (const orderBy of query.explicitOrderBy) { + // We must use `queryOrderBy()` to get the list of all orderBys (both implicit and explicit). + // Note that for OR queries, orderBy applies to all disjunction terms and implicit orderBys must + // be taken into account. For example, the query "a > 1 || b==1" has an implicit "orderBy a" due + // to the inequality, and is evaluated as "a > 1 orderBy a || b==1 orderBy a". + // A document with content of {b:1} matches the filters, but does not match the orderBy because + // it's missing the field 'a'. + for (const orderBy of queryOrderBy(query)) { // order by key always matches if (!orderBy.field.isKeyField() && doc.data.field(orderBy.field) === null) { return false; diff --git a/packages/firestore/src/core/target.ts b/packages/firestore/src/core/target.ts index 72a760a4529..4b12857fc2a 100644 --- a/packages/firestore/src/core/target.ts +++ b/packages/firestore/src/core/target.ts @@ -15,7 +15,6 @@ * limitations under the License. */ -import { Document } from '../model/document'; import { DocumentKey } from '../model/document_key'; import { FieldIndex, @@ -25,25 +24,35 @@ import { } from '../model/field_index'; import { FieldPath, ResourcePath } from '../model/path'; import { - arrayValueContains, canonicalId, - isArray, - isReferenceValue, MAX_VALUE, MIN_VALUE, lowerBoundCompare, - typeOrder, upperBoundCompare, - valueCompare, - valueEquals, valuesGetLowerBound, valuesGetUpperBound } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; -import { debugAssert, debugCast, fail } from '../util/assert'; +import { debugCast } from '../util/assert'; import { SortedSet } from '../util/sorted_set'; import { isNullOrUndefined } from '../util/types'; +import { Bound, boundEquals } from './bound'; +import { + Filter, + FieldFilter, + canonifyFilter, + stringifyFilter, + filterEquals, + Operator +} from './filter'; +import { + canonifyOrderBy, + OrderBy, + orderByEquals, + stringifyOrderBy +} from './order_by'; + /** * A Target represents the WatchTarget representation of a Query, which is used * by the LocalStore and the RemoteStore to keep track of and to execute @@ -500,26 +509,25 @@ export function targetGetSegmentCount(target: Target): number { let hasArraySegment = false; for (const filter of target.filters) { - // TODO(orquery): Use the flattened filters here - const fieldFilter = filter as FieldFilter; - - // __name__ is not an explicit segment of any index, so we don't need to - // count it. - if (fieldFilter.field.isKeyField()) { - continue; - } + for (const subFilter of filter.getFlattenedFilters()) { + // __name__ is not an explicit segment of any index, so we don't need to + // count it. + if (subFilter.field.isKeyField()) { + continue; + } - // ARRAY_CONTAINS or ARRAY_CONTAINS_ANY filters must be counted separately. - // For instance, it is possible to have an index for "a ARRAY a ASC". Even - // though these are on the same field, they should be counted as two - // separate segments in an index. - if ( - fieldFilter.op === Operator.ARRAY_CONTAINS || - fieldFilter.op === Operator.ARRAY_CONTAINS_ANY - ) { - hasArraySegment = true; - } else { - fields = fields.add(fieldFilter.field); + // ARRAY_CONTAINS or ARRAY_CONTAINS_ANY filters must be counted separately. + // For instance, it is possible to have an index for "a ARRAY a ASC". Even + // though these are on the same field, they should be counted as two + // separate segments in an index. + if ( + subFilter.op === Operator.ARRAY_CONTAINS || + subFilter.op === Operator.ARRAY_CONTAINS_ANY + ) { + hasArraySegment = true; + } else { + fields = fields.add(subFilter.field); + } } } @@ -534,450 +542,6 @@ export function targetGetSegmentCount(target: Target): number { return fields.size + (hasArraySegment ? 1 : 0); } -export abstract class Filter { - abstract matches(doc: Document): boolean; -} - -export const enum Operator { - LESS_THAN = '<', - LESS_THAN_OR_EQUAL = '<=', - EQUAL = '==', - NOT_EQUAL = '!=', - GREATER_THAN = '>', - GREATER_THAN_OR_EQUAL = '>=', - ARRAY_CONTAINS = 'array-contains', - IN = 'in', - NOT_IN = 'not-in', - ARRAY_CONTAINS_ANY = 'array-contains-any' -} - -/** - * The direction of sorting in an order by. - */ -export const enum Direction { - ASCENDING = 'asc', - DESCENDING = 'desc' -} - -export class FieldFilter extends Filter { - protected constructor( - public field: FieldPath, - public op: Operator, - public value: ProtoValue - ) { - super(); - } - - /** - * Creates a filter based on the provided arguments. - */ - static create( - field: FieldPath, - op: Operator, - value: ProtoValue - ): FieldFilter { - if (field.isKeyField()) { - if (op === Operator.IN || op === Operator.NOT_IN) { - return this.createKeyFieldInFilter(field, op, value); - } else { - debugAssert( - isReferenceValue(value), - 'Comparing on key, but filter value not a RefValue' - ); - debugAssert( - op !== Operator.ARRAY_CONTAINS && op !== Operator.ARRAY_CONTAINS_ANY, - `'${op.toString()}' queries don't make sense on document keys.` - ); - return new KeyFieldFilter(field, op, value); - } - } else if (op === Operator.ARRAY_CONTAINS) { - return new ArrayContainsFilter(field, value); - } else if (op === Operator.IN) { - debugAssert( - isArray(value), - 'IN filter has invalid value: ' + value.toString() - ); - return new InFilter(field, value); - } else if (op === Operator.NOT_IN) { - debugAssert( - isArray(value), - 'NOT_IN filter has invalid value: ' + value.toString() - ); - return new NotInFilter(field, value); - } else if (op === Operator.ARRAY_CONTAINS_ANY) { - debugAssert( - isArray(value), - 'ARRAY_CONTAINS_ANY filter has invalid value: ' + value.toString() - ); - return new ArrayContainsAnyFilter(field, value); - } else { - return new FieldFilter(field, op, value); - } - } - - private static createKeyFieldInFilter( - field: FieldPath, - op: Operator.IN | Operator.NOT_IN, - value: ProtoValue - ): FieldFilter { - debugAssert( - isArray(value), - `Comparing on key with ${op.toString()}` + - ', but filter value not an ArrayValue' - ); - debugAssert( - (value.arrayValue.values || []).every(elem => isReferenceValue(elem)), - `Comparing on key with ${op.toString()}` + - ', but an array value was not a RefValue' - ); - - return op === Operator.IN - ? new KeyFieldInFilter(field, value) - : new KeyFieldNotInFilter(field, value); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - // Types do not have to match in NOT_EQUAL filters. - if (this.op === Operator.NOT_EQUAL) { - return ( - other !== null && - this.matchesComparison(valueCompare(other!, this.value)) - ); - } - - // Only compare types with matching backend order (such as double and int). - return ( - other !== null && - typeOrder(this.value) === typeOrder(other) && - this.matchesComparison(valueCompare(other, this.value)) - ); - } - - protected matchesComparison(comparison: number): boolean { - switch (this.op) { - case Operator.LESS_THAN: - return comparison < 0; - case Operator.LESS_THAN_OR_EQUAL: - return comparison <= 0; - case Operator.EQUAL: - return comparison === 0; - case Operator.NOT_EQUAL: - return comparison !== 0; - case Operator.GREATER_THAN: - return comparison > 0; - case Operator.GREATER_THAN_OR_EQUAL: - return comparison >= 0; - default: - return fail('Unknown FieldFilter operator: ' + this.op); - } - } - - isInequality(): boolean { - return ( - [ - Operator.LESS_THAN, - Operator.LESS_THAN_OR_EQUAL, - Operator.GREATER_THAN, - Operator.GREATER_THAN_OR_EQUAL, - Operator.NOT_EQUAL, - Operator.NOT_IN - ].indexOf(this.op) >= 0 - ); - } -} - -export function canonifyFilter(filter: Filter): string { - debugAssert( - filter instanceof FieldFilter, - 'canonifyFilter() only supports FieldFilters' - ); - // TODO(b/29183165): Technically, this won't be unique if two values have - // the same description, such as the int 3 and the string "3". So we should - // add the types in here somehow, too. - return ( - filter.field.canonicalString() + - filter.op.toString() + - canonicalId(filter.value) - ); -} - -export function filterEquals(f1: Filter, f2: Filter): boolean { - debugAssert( - f1 instanceof FieldFilter && f2 instanceof FieldFilter, - 'Only FieldFilters can be compared' - ); - - return ( - f1.op === f2.op && - f1.field.isEqual(f2.field) && - valueEquals(f1.value, f2.value) - ); -} - -/** Returns a debug description for `filter`. */ -export function stringifyFilter(filter: Filter): string { - debugAssert( - filter instanceof FieldFilter, - 'stringifyFilter() only supports FieldFilters' - ); - return `${filter.field.canonicalString()} ${filter.op} ${canonicalId( - filter.value - )}`; -} - -/** Filter that matches on key fields (i.e. '__name__'). */ -export class KeyFieldFilter extends FieldFilter { - private readonly key: DocumentKey; - - constructor(field: FieldPath, op: Operator, value: ProtoValue) { - super(field, op, value); - debugAssert( - isReferenceValue(value), - 'KeyFieldFilter expects a ReferenceValue' - ); - this.key = DocumentKey.fromName(value.referenceValue); - } - - matches(doc: Document): boolean { - const comparison = DocumentKey.comparator(doc.key, this.key); - return this.matchesComparison(comparison); - } -} - -/** Filter that matches on key fields within an array. */ -export class KeyFieldInFilter extends FieldFilter { - private readonly keys: DocumentKey[]; - - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.IN, value); - this.keys = extractDocumentKeysFromArrayValue(Operator.IN, value); - } - - matches(doc: Document): boolean { - return this.keys.some(key => key.isEqual(doc.key)); - } -} - -/** Filter that matches on key fields not present within an array. */ -export class KeyFieldNotInFilter extends FieldFilter { - private readonly keys: DocumentKey[]; - - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.NOT_IN, value); - this.keys = extractDocumentKeysFromArrayValue(Operator.NOT_IN, value); - } - - matches(doc: Document): boolean { - return !this.keys.some(key => key.isEqual(doc.key)); - } -} - -function extractDocumentKeysFromArrayValue( - op: Operator.IN | Operator.NOT_IN, - value: ProtoValue -): DocumentKey[] { - debugAssert( - isArray(value), - 'KeyFieldInFilter/KeyFieldNotInFilter expects an ArrayValue' - ); - return (value.arrayValue?.values || []).map(v => { - debugAssert( - isReferenceValue(v), - `Comparing on key with ${op.toString()}, but an array value was not ` + - `a ReferenceValue` - ); - return DocumentKey.fromName(v.referenceValue); - }); -} - -/** A Filter that implements the array-contains operator. */ -export class ArrayContainsFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.ARRAY_CONTAINS, value); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - return isArray(other) && arrayValueContains(other.arrayValue, this.value); - } -} - -/** A Filter that implements the IN operator. */ -export class InFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.IN, value); - debugAssert(isArray(value), 'InFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - return other !== null && arrayValueContains(this.value.arrayValue!, other); - } -} - -/** A Filter that implements the not-in operator. */ -export class NotInFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.NOT_IN, value); - debugAssert(isArray(value), 'NotInFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - if ( - arrayValueContains(this.value.arrayValue!, { nullValue: 'NULL_VALUE' }) - ) { - return false; - } - const other = doc.data.field(this.field); - return other !== null && !arrayValueContains(this.value.arrayValue!, other); - } -} - -/** A Filter that implements the array-contains-any operator. */ -export class ArrayContainsAnyFilter extends FieldFilter { - constructor(field: FieldPath, value: ProtoValue) { - super(field, Operator.ARRAY_CONTAINS_ANY, value); - debugAssert(isArray(value), 'ArrayContainsAnyFilter expects an ArrayValue'); - } - - matches(doc: Document): boolean { - const other = doc.data.field(this.field); - if (!isArray(other) || !other.arrayValue.values) { - return false; - } - return other.arrayValue.values.some(val => - arrayValueContains(this.value.arrayValue!, val) - ); - } -} - -/** - * Represents a bound of a query. - * - * The bound is specified with the given components representing a position and - * whether it's just before or just after the position (relative to whatever the - * query order is). - * - * The position represents a logical index position for a query. It's a prefix - * of values for the (potentially implicit) order by clauses of a query. - * - * Bound provides a function to determine whether a document comes before or - * after a bound. This is influenced by whether the position is just before or - * just after the provided values. - */ -export class Bound { - constructor(readonly position: ProtoValue[], readonly inclusive: boolean) {} -} - -/** - * An ordering on a field, in some Direction. Direction defaults to ASCENDING. - */ -export class OrderBy { - constructor( - readonly field: FieldPath, - readonly dir: Direction = Direction.ASCENDING - ) {} -} - -export function canonifyOrderBy(orderBy: OrderBy): string { - // TODO(b/29183165): Make this collision robust. - return orderBy.field.canonicalString() + orderBy.dir; -} - -export function stringifyOrderBy(orderBy: OrderBy): string { - return `${orderBy.field.canonicalString()} (${orderBy.dir})`; -} - -export function orderByEquals(left: OrderBy, right: OrderBy): boolean { - return left.dir === right.dir && left.field.isEqual(right.field); -} - -function boundCompareToDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): number { - debugAssert( - bound.position.length <= orderBy.length, - "Bound has more components than query's orderBy" - ); - let comparison = 0; - for (let i = 0; i < bound.position.length; i++) { - const orderByComponent = orderBy[i]; - const component = bound.position[i]; - if (orderByComponent.field.isKeyField()) { - debugAssert( - isReferenceValue(component), - 'Bound has a non-key value where the key path is being used.' - ); - comparison = DocumentKey.comparator( - DocumentKey.fromName(component.referenceValue), - doc.key - ); - } else { - const docValue = doc.data.field(orderByComponent.field); - debugAssert( - docValue !== null, - 'Field should exist since document matched the orderBy already.' - ); - comparison = valueCompare(component, docValue); - } - if (orderByComponent.dir === Direction.DESCENDING) { - comparison = comparison * -1; - } - if (comparison !== 0) { - break; - } - } - return comparison; -} - -/** - * Returns true if a document sorts after a bound using the provided sort - * order. - */ -export function boundSortsAfterDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): boolean { - const comparison = boundCompareToDocument(bound, orderBy, doc); - return bound.inclusive ? comparison >= 0 : comparison > 0; -} - -/** - * Returns true if a document sorts before a bound using the provided sort - * order. - */ -export function boundSortsBeforeDocument( - bound: Bound, - orderBy: OrderBy[], - doc: Document -): boolean { - const comparison = boundCompareToDocument(bound, orderBy, doc); - return bound.inclusive ? comparison <= 0 : comparison < 0; -} - -export function boundEquals(left: Bound | null, right: Bound | null): boolean { - if (left === null) { - return right === null; - } else if (right === null) { - return false; - } - - if ( - left.inclusive !== right.inclusive || - left.position.length !== right.position.length - ) { - return false; - } - for (let i = 0; i < left.position.length; i++) { - const leftPosition = left.position[i]; - const rightPosition = right.position[i]; - if (!valueEquals(leftPosition, rightPosition)) { - return false; - } - } - return true; +export function targetHasLimit(target: Target): boolean { + return target.limit !== null; } diff --git a/packages/firestore/src/lite-api/query.ts b/packages/firestore/src/lite-api/query.ts index 0a762918b33..2f1d7ecbf8f 100644 --- a/packages/firestore/src/lite-api/query.ts +++ b/packages/firestore/src/lite-api/query.ts @@ -17,9 +17,17 @@ import { getModularInstance } from '@firebase/util'; +import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; import { - findFilterOperator, + CompositeFilter, + CompositeOperator, + FieldFilter, + Filter, + Operator +} from '../core/filter'; +import { Direction, OrderBy } from '../core/order_by'; +import { getFirstOrderByField, getInequalityFilterField, isCollectionGroupQuery, @@ -32,21 +40,12 @@ import { queryWithLimit, queryWithStartAt } from '../core/query'; -import { - Bound, - Direction, - FieldFilter, - Filter, - Operator, - OrderBy -} from '../core/target'; import { Document } from '../model/document'; import { DocumentKey } from '../model/document_key'; import { FieldPath as InternalFieldPath, ResourcePath } from '../model/path'; import { isServerTimestamp } from '../model/server_timestamps'; import { refValue } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; -import { debugAssert } from '../util/assert'; import { Code, FirestoreError } from '../util/error'; import { validatePositiveNumber, @@ -87,30 +86,64 @@ export type QueryConstraintType = | 'endAt' | 'endBefore'; +/** + * An `AppliableConstraint` is an abstraction of a constraint that can be applied + * to a Firestore query. + */ +export abstract class AppliableConstraint { + /** + * Takes the provided {@link Query} and returns a copy of the {@link Query} with this + * {@link AppliableConstraint} applied. + */ + abstract _apply(query: Query): Query; +} + /** * A `QueryConstraint` is used to narrow the set of documents returned by a * Firestore query. `QueryConstraint`s are created by invoking {@link where}, - * {@link orderBy}, {@link (startAt:1)}, {@link (startAfter:1)}, {@link - * endBefore:1}, {@link (endAt:1)}, {@link limit} or {@link limitToLast} and + * {@link orderBy}, {@link startAt}, {@link startAfter}, {@link + * endBefore}, {@link endAt}, {@link limit}, {@link limitToLast} and * can then be passed to {@link query} to create a new query instance that * also contains this `QueryConstraint`. */ -export abstract class QueryConstraint { - /** The type of this query constraints */ +export abstract class QueryConstraint extends AppliableConstraint { + /** The type of this query constraint */ abstract readonly type: QueryConstraintType; /** * Takes the provided {@link Query} and returns a copy of the {@link Query} with this - * {@link QueryConstraint} applied. + * {@link AppliableConstraint} applied. */ abstract _apply(query: Query): Query; } /** - * Creates a new immutable instance of {@link Query} that is extended to also include - * additional query constraints. + * Creates a new immutable instance of {@link Query} that is extended to also + * include additional query constraints. * - * @param query - The {@link Query} instance to use as a base for the new constraints. + * @param query - The {@link Query} instance to use as a base for the new + * constraints. + * @param compositeFilter - The {@link QueryCompositeFilterConstraint} to + * apply. Create {@link QueryCompositeFilterConstraint} using {@link and} or + * {@link or}. + * @param queryConstraints - Additional {@link QueryNonFilterConstraint}s to + * apply (e.g. {@link orderBy}, {@link limit}). + * @throws if any of the provided query constraints cannot be combined with the + * existing or new constraints. + * @internal TODO remove this internal tag with OR Query support in the server + */ +export function query( + query: Query, + compositeFilter: QueryCompositeFilterConstraint, + ...queryConstraints: QueryNonFilterConstraint[] +): Query; + +/** + * Creates a new immutable instance of {@link Query} that is extended to also + * include additional query constraints. + * + * @param query - The {@link Query} instance to use as a base for the new + * constraints. * @param queryConstraints - The list of {@link QueryConstraint}s to apply. * @throws if any of the provided query constraints cannot be combined with the * existing or new constraints. @@ -118,17 +151,46 @@ export abstract class QueryConstraint { export function query( query: Query, ...queryConstraints: QueryConstraint[] +): Query; + +export function query( + query: Query, + queryConstraint: QueryCompositeFilterConstraint | QueryConstraint | undefined, + ...additionalQueryConstraints: Array< + QueryConstraint | QueryNonFilterConstraint + > ): Query { + let queryConstraints: AppliableConstraint[] = []; + + if (queryConstraint instanceof AppliableConstraint) { + queryConstraints.push(queryConstraint); + } + + queryConstraints = queryConstraints.concat(additionalQueryConstraints); + + validateQueryConstraintArray(queryConstraints); + for (const constraint of queryConstraints) { query = constraint._apply(query); } return query; } -class QueryFilterConstraint extends QueryConstraint { +/** + * A `QueryFieldFilterConstraint` is used to narrow the set of documents returned by + * a Firestore query by filtering on one or more document fields. + * `QueryFieldFilterConstraint`s are created by invoking {@link where} and can then + * be passed to {@link query} to create a new query instance that also contains + * this `QueryFieldFilterConstraint`. + */ +export class QueryFieldFilterConstraint extends QueryConstraint { + /** The type of this query constraint */ readonly type = 'where'; - constructor( + /** + * @internal + */ + protected constructor( private readonly _field: InternalFieldPath, private _op: Operator, private _value: unknown @@ -136,7 +198,25 @@ class QueryFilterConstraint extends QueryConstraint { super(); } + static _create( + _field: InternalFieldPath, + _op: Operator, + _value: unknown + ): QueryFieldFilterConstraint { + return new QueryFieldFilterConstraint(_field, _op, _value); + } + _apply(query: Query): Query { + const filter = this._parse(query); + validateNewFieldFilter(query._query, filter); + return new Query( + query.firestore, + query.converter, + queryWithAddedFilter(query._query, filter) + ); + } + + _parse(query: Query): FieldFilter { const reader = newUserDataReader(query.firestore); const filter = newQueryFilter( query._query, @@ -147,11 +227,7 @@ class QueryFilterConstraint extends QueryConstraint { this._op, this._value ); - return new Query( - query.firestore, - query.converter, - queryWithAddedFilter(query._query, filter) - ); + return filter; } } @@ -173,36 +249,198 @@ export type WhereFilterOp = | 'not-in'; /** - * Creates a {@link QueryConstraint} that enforces that documents must contain the - * specified field and that the value should satisfy the relation constraint - * provided. + * Creates a {@link QueryFieldFilterConstraint} that enforces that documents + * must contain the specified field and that the value should satisfy the + * relation constraint provided. * * @param fieldPath - The path to compare * @param opStr - The operation string (e.g "<", "<=", "==", "<", * "<=", "!="). * @param value - The value for comparison - * @returns The created {@link Query}. + * @returns The created {@link QueryFieldFilterConstraint}. */ export function where( fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown -): QueryConstraint { +): QueryFieldFilterConstraint { const op = opStr as Operator; const field = fieldPathFromArgument('where', fieldPath); - return new QueryFilterConstraint(field, op, value); + return QueryFieldFilterConstraint._create(field, op, value); +} + +/** + * A `QueryCompositeFilterConstraint` is used to narrow the set of documents + * returned by a Firestore query by performing the logical OR or AND of multiple + * {@link QueryFieldFilterConstraint}s or {@link QueryCompositeFilterConstraint}s. + * `QueryCompositeFilterConstraint`s are created by invoking {@link or} or + * {@link and} and can then be passed to {@link query} to create a new query + * instance that also contains the `QueryCompositeFilterConstraint`. + * @internal TODO remove this internal tag with OR Query support in the server + */ +export class QueryCompositeFilterConstraint extends AppliableConstraint { + /** + * @internal + */ + protected constructor( + /** The type of this query constraint */ + readonly type: 'or' | 'and', + private readonly _queryConstraints: QueryFilterConstraint[] + ) { + super(); + } + + static _create( + type: 'or' | 'and', + _queryConstraints: QueryFilterConstraint[] + ): QueryCompositeFilterConstraint { + return new QueryCompositeFilterConstraint(type, _queryConstraints); + } + + _parse(query: Query): Filter { + const parsedFilters = this._queryConstraints + .map(queryConstraint => { + return queryConstraint._parse(query); + }) + .filter(parsedFilter => parsedFilter.getFilters().length > 0); + + if (parsedFilters.length === 1) { + return parsedFilters[0]; + } + + return CompositeFilter.create(parsedFilters, this._getOperator()); + } + + _apply(query: Query): Query { + const parsedFilter = this._parse(query); + if (parsedFilter.getFilters().length === 0) { + // Return the existing query if not adding any more filters (e.g. an empty + // composite filter). + return query; + } + validateNewFilter(query._query, parsedFilter); + + return new Query( + query.firestore, + query.converter, + queryWithAddedFilter(query._query, parsedFilter) + ); + } + + _getQueryConstraints(): readonly AppliableConstraint[] { + return this._queryConstraints; + } + + _getOperator(): CompositeOperator { + return this.type === 'and' ? CompositeOperator.AND : CompositeOperator.OR; + } } -class QueryOrderByConstraint extends QueryConstraint { +/** + * `QueryNonFilterConstraint` is a helper union type that represents + * QueryConstraints which are used to narrow or order the set of documents, + * but that do not explicitly filter on a document field. + * `QueryNonFilterConstraint`s are created by invoking {@link orderBy}, + * {@link startAt}, {@link startAfter}, {@link endBefore}, {@link endAt}, + * {@link limit} or {@link limitToLast} and can then be passed to {@link query} + * to create a new query instance that also contains the `QueryConstraint`. + */ +export type QueryNonFilterConstraint = + | QueryOrderByConstraint + | QueryLimitConstraint + | QueryStartAtConstraint + | QueryEndAtConstraint; + +/** + * `QueryFilterConstraint` is a helper union type that represents + * {@link QueryFieldFilterConstraint} and {@link QueryCompositeFilterConstraint}. + * `QueryFilterConstraint`s are created by invoking {@link or} or {@link and} + * and can then be passed to {@link query} to create a new query instance that + * also contains the `QueryConstraint`. + * @internal TODO remove this internal tag with OR Query support in the server + */ +export type QueryFilterConstraint = + | QueryFieldFilterConstraint + | QueryCompositeFilterConstraint; + +/** + * Creates a {@link QueryCompositeFilterConstraint} that performs a logical OR + * of all the provided {@link QueryFilterConstraint}s. + * + * @param queryConstraints - Optional. The {@link QueryFilterConstraint}s + * for OR operation. These must be created with calls to {@link where}, + * {@link or}, or {@link and}. + * @returns The created {@link QueryCompositeFilterConstraint}. + * @internal TODO remove this internal tag with OR Query support in the server + */ +export function or( + ...queryConstraints: QueryFilterConstraint[] +): QueryCompositeFilterConstraint { + // Only support QueryFilterConstraints + queryConstraints.forEach(queryConstraint => + validateQueryFilterConstraint('or', queryConstraint) + ); + + return QueryCompositeFilterConstraint._create( + CompositeOperator.OR, + queryConstraints as QueryFilterConstraint[] + ); +} + +/** + * Creates a {@link QueryCompositeFilterConstraint} that performs a logical AND + * of all the provided {@link QueryFilterConstraint}s. + * + * @param queryConstraints - Optional. The {@link QueryFilterConstraint}s + * for AND operation. These must be created with calls to {@link where}, + * {@link or}, or {@link and}. + * @returns The created {@link QueryCompositeFilterConstraint}. + * @internal TODO remove this internal tag with OR Query support in the server + */ +export function and( + ...queryConstraints: QueryFilterConstraint[] +): QueryCompositeFilterConstraint { + // Only support QueryFilterConstraints + queryConstraints.forEach(queryConstraint => + validateQueryFilterConstraint('and', queryConstraint) + ); + + return QueryCompositeFilterConstraint._create( + CompositeOperator.AND, + queryConstraints as QueryFilterConstraint[] + ); +} + +/** + * A `QueryOrderByConstraint` is used to sort the set of documents returned by a + * Firestore query. `QueryOrderByConstraint`s are created by invoking + * {@link orderBy} and can then be passed to {@link query} to create a new query + * instance that also contains this `QueryOrderByConstraint`. + * + * Note: Documents that do not contain the orderBy field will not be present in + * the query result. + */ +export class QueryOrderByConstraint extends QueryConstraint { + /** The type of this query constraint */ readonly type = 'orderBy'; - constructor( + /** + * @internal + */ + protected constructor( private readonly _field: InternalFieldPath, private _direction: Direction ) { super(); } + static _create( + _field: InternalFieldPath, + _direction: Direction + ): QueryOrderByConstraint { + return new QueryOrderByConstraint(_field, _direction); + } + _apply(query: Query): Query { const orderBy = newQueryOrderBy(query._query, this._field, this._direction); return new Query( @@ -220,25 +458,39 @@ class QueryOrderByConstraint extends QueryConstraint { export type OrderByDirection = 'desc' | 'asc'; /** - * Creates a {@link QueryConstraint} that sorts the query result by the + * Creates a {@link QueryOrderByConstraint} that sorts the query result by the * specified field, optionally in descending order instead of ascending. * + * Note: Documents that do not contain the specified field will not be present + * in the query result. + * * @param fieldPath - The field to sort by. * @param directionStr - Optional direction to sort by ('asc' or 'desc'). If * not specified, order will be ascending. - * @returns The created {@link Query}. + * @returns The created {@link QueryOrderByConstraint}. */ export function orderBy( fieldPath: string | FieldPath, directionStr: OrderByDirection = 'asc' -): QueryConstraint { +): QueryOrderByConstraint { const direction = directionStr as Direction; const path = fieldPathFromArgument('orderBy', fieldPath); - return new QueryOrderByConstraint(path, direction); + return QueryOrderByConstraint._create(path, direction); } -class QueryLimitConstraint extends QueryConstraint { - constructor( +/** + * A `QueryLimitConstraint` is used to limit the number of documents returned by + * a Firestore query. + * `QueryLimitConstraint`s are created by invoking {@link limit} or + * {@link limitToLast} and can then be passed to {@link query} to create a new + * query instance that also contains this `QueryLimitConstraint`. + */ +export class QueryLimitConstraint extends QueryConstraint { + /** + * @internal + */ + protected constructor( + /** The type of this query constraint */ readonly type: 'limit' | 'limitToLast', private readonly _limit: number, private readonly _limitType: LimitType @@ -246,6 +498,14 @@ class QueryLimitConstraint extends QueryConstraint { super(); } + static _create( + type: 'limit' | 'limitToLast', + _limit: number, + _limitType: LimitType + ): QueryLimitConstraint { + return new QueryLimitConstraint(type, _limit, _limitType); + } + _apply(query: Query): Query { return new Query( query.firestore, @@ -256,32 +516,45 @@ class QueryLimitConstraint extends QueryConstraint { } /** - * Creates a {@link QueryConstraint} that only returns the first matching documents. + * Creates a {@link QueryLimitConstraint} that only returns the first matching + * documents. * * @param limit - The maximum number of items to return. - * @returns The created {@link Query}. + * @returns The created {@link QueryLimitConstraint}. */ -export function limit(limit: number): QueryConstraint { +export function limit(limit: number): QueryLimitConstraint { validatePositiveNumber('limit', limit); - return new QueryLimitConstraint('limit', limit, LimitType.First); + return QueryLimitConstraint._create('limit', limit, LimitType.First); } /** - * Creates a {@link QueryConstraint} that only returns the last matching documents. + * Creates a {@link QueryLimitConstraint} that only returns the last matching + * documents. * * You must specify at least one `orderBy` clause for `limitToLast` queries, * otherwise an exception will be thrown during execution. * * @param limit - The maximum number of items to return. - * @returns The created {@link Query}. + * @returns The created {@link QueryLimitConstraint}. */ -export function limitToLast(limit: number): QueryConstraint { +export function limitToLast(limit: number): QueryLimitConstraint { validatePositiveNumber('limitToLast', limit); - return new QueryLimitConstraint('limitToLast', limit, LimitType.Last); + return QueryLimitConstraint._create('limitToLast', limit, LimitType.Last); } -class QueryStartAtConstraint extends QueryConstraint { - constructor( +/** + * A `QueryStartAtConstraint` is used to exclude documents from the start of a + * result set returned by a Firestore query. + * `QueryStartAtConstraint`s are created by invoking {@link (startAt:1)} or + * {@link (startAfter:1)} and can then be passed to {@link query} to create a + * new query instance that also contains this `QueryStartAtConstraint`. + */ +export class QueryStartAtConstraint extends QueryConstraint { + /** + * @internal + */ + protected constructor( + /** The type of this query constraint */ readonly type: 'startAt' | 'startAfter', private readonly _docOrFields: Array>, private readonly _inclusive: boolean @@ -289,6 +562,14 @@ class QueryStartAtConstraint extends QueryConstraint { super(); } + static _create( + type: 'startAt' | 'startAfter', + _docOrFields: Array>, + _inclusive: boolean + ): QueryStartAtConstraint { + return new QueryStartAtConstraint(type, _docOrFields, _inclusive); + } + _apply(query: Query): Query { const bound = newQueryBoundFromDocOrFields( query, @@ -305,29 +586,31 @@ class QueryStartAtConstraint extends QueryConstraint { } /** - * Creates a {@link QueryConstraint} that modifies the result set to start at the - * provided document (inclusive). The starting position is relative to the order - * of the query. The document must contain all of the fields provided in the - * `orderBy` of this query. + * Creates a {@link QueryStartAtConstraint} that modifies the result set to + * start at the provided document (inclusive). The starting position is relative + * to the order of the query. The document must contain all of the fields + * provided in the `orderBy` of this query. * * @param snapshot - The snapshot of the document to start at. - * @returns A {@link QueryConstraint} to pass to `query()`. + * @returns A {@link QueryStartAtConstraint} to pass to `query()`. */ -export function startAt(snapshot: DocumentSnapshot): QueryConstraint; +export function startAt( + snapshot: DocumentSnapshot +): QueryStartAtConstraint; /** - * Creates a {@link QueryConstraint} that modifies the result set to start at the - * provided fields relative to the order of the query. The order of the field - * values must match the order of the order by clauses of the query. + * Creates a {@link QueryStartAtConstraint} that modifies the result set to + * start at the provided fields relative to the order of the query. The order of + * the field values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to start this query at, in order * of the query's order by. - * @returns A {@link QueryConstraint} to pass to `query()`. + * @returns A {@link QueryStartAtConstraint} to pass to `query()`. */ -export function startAt(...fieldValues: unknown[]): QueryConstraint; +export function startAt(...fieldValues: unknown[]): QueryStartAtConstraint; export function startAt( ...docOrFields: Array> -): QueryConstraint { - return new QueryStartAtConstraint( +): QueryStartAtConstraint { + return QueryStartAtConstraint._create( 'startAt', docOrFields, /*inclusive=*/ true @@ -335,39 +618,50 @@ export function startAt( } /** - * Creates a {@link QueryConstraint} that modifies the result set to start after the - * provided document (exclusive). The starting position is relative to the order - * of the query. The document must contain all of the fields provided in the - * orderBy of the query. + * Creates a {@link QueryStartAtConstraint} that modifies the result set to + * start after the provided document (exclusive). The starting position is + * relative to the order of the query. The document must contain all of the + * fields provided in the orderBy of the query. * * @param snapshot - The snapshot of the document to start after. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryStartAtConstraint} to pass to `query()` */ export function startAfter( snapshot: DocumentSnapshot -): QueryConstraint; +): QueryStartAtConstraint; /** - * Creates a {@link QueryConstraint} that modifies the result set to start after the - * provided fields relative to the order of the query. The order of the field - * values must match the order of the order by clauses of the query. + * Creates a {@link QueryStartAtConstraint} that modifies the result set to + * start after the provided fields relative to the order of the query. The order + * of the field values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to start this query after, in order * of the query's order by. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryStartAtConstraint} to pass to `query()` */ -export function startAfter(...fieldValues: unknown[]): QueryConstraint; +export function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint; export function startAfter( ...docOrFields: Array> -): QueryConstraint { - return new QueryStartAtConstraint( +): QueryStartAtConstraint { + return QueryStartAtConstraint._create( 'startAfter', docOrFields, /*inclusive=*/ false ); } -class QueryEndAtConstraint extends QueryConstraint { - constructor( +/** + * A `QueryEndAtConstraint` is used to exclude documents from the end of a + * result set returned by a Firestore query. + * `QueryEndAtConstraint`s are created by invoking {@link (endAt:1)} or + * {@link (endBefore:1)} and can then be passed to {@link query} to create a new + * query instance that also contains this `QueryEndAtConstraint`. + */ +export class QueryEndAtConstraint extends QueryConstraint { + /** + * @internal + */ + protected constructor( + /** The type of this query constraint */ readonly type: 'endBefore' | 'endAt', private readonly _docOrFields: Array>, private readonly _inclusive: boolean @@ -375,6 +669,14 @@ class QueryEndAtConstraint extends QueryConstraint { super(); } + static _create( + type: 'endBefore' | 'endAt', + _docOrFields: Array>, + _inclusive: boolean + ): QueryEndAtConstraint { + return new QueryEndAtConstraint(type, _docOrFields, _inclusive); + } + _apply(query: Query): Query { const bound = newQueryBoundFromDocOrFields( query, @@ -391,29 +693,31 @@ class QueryEndAtConstraint extends QueryConstraint { } /** - * Creates a {@link QueryConstraint} that modifies the result set to end before the - * provided document (exclusive). The end position is relative to the order of - * the query. The document must contain all of the fields provided in the - * orderBy of the query. + * Creates a {@link QueryEndAtConstraint} that modifies the result set to end + * before the provided document (exclusive). The end position is relative to the + * order of the query. The document must contain all of the fields provided in + * the orderBy of the query. * * @param snapshot - The snapshot of the document to end before. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryEndAtConstraint} to pass to `query()` */ -export function endBefore(snapshot: DocumentSnapshot): QueryConstraint; +export function endBefore( + snapshot: DocumentSnapshot +): QueryEndAtConstraint; /** - * Creates a {@link QueryConstraint} that modifies the result set to end before the - * provided fields relative to the order of the query. The order of the field - * values must match the order of the order by clauses of the query. + * Creates a {@link QueryEndAtConstraint} that modifies the result set to end + * before the provided fields relative to the order of the query. The order of + * the field values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to end this query before, in order * of the query's order by. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryEndAtConstraint} to pass to `query()` */ -export function endBefore(...fieldValues: unknown[]): QueryConstraint; +export function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint; export function endBefore( ...docOrFields: Array> -): QueryConstraint { - return new QueryEndAtConstraint( +): QueryEndAtConstraint { + return QueryEndAtConstraint._create( 'endBefore', docOrFields, /*inclusive=*/ false @@ -421,29 +725,35 @@ export function endBefore( } /** - * Creates a {@link QueryConstraint} that modifies the result set to end at the - * provided document (inclusive). The end position is relative to the order of - * the query. The document must contain all of the fields provided in the + * Creates a {@link QueryEndAtConstraint} that modifies the result set to end at + * the provided document (inclusive). The end position is relative to the order + * of the query. The document must contain all of the fields provided in the * orderBy of the query. * * @param snapshot - The snapshot of the document to end at. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryEndAtConstraint} to pass to `query()` */ -export function endAt(snapshot: DocumentSnapshot): QueryConstraint; +export function endAt( + snapshot: DocumentSnapshot +): QueryEndAtConstraint; /** - * Creates a {@link QueryConstraint} that modifies the result set to end at the - * provided fields relative to the order of the query. The order of the field + * Creates a {@link QueryEndAtConstraint} that modifies the result set to end at + * the provided fields relative to the order of the query. The order of the field * values must match the order of the order by clauses of the query. * * @param fieldValues - The field values to end this query at, in order * of the query's order by. - * @returns A {@link QueryConstraint} to pass to `query()` + * @returns A {@link QueryEndAtConstraint} to pass to `query()` */ -export function endAt(...fieldValues: unknown[]): QueryConstraint; +export function endAt(...fieldValues: unknown[]): QueryEndAtConstraint; export function endAt( ...docOrFields: Array> -): QueryConstraint { - return new QueryEndAtConstraint('endAt', docOrFields, /*inclusive=*/ true); +): QueryEndAtConstraint { + return QueryEndAtConstraint._create( + 'endAt', + docOrFields, + /*inclusive=*/ true + ); } /** Helper function to create a bound from a document or fields */ @@ -518,7 +828,6 @@ export function newQueryFilter( ); } const filter = FieldFilter.create(fieldPath, op, fieldValue); - validateNewFilter(query, filter); return filter; } @@ -792,46 +1101,84 @@ function conflictingOps(op: Operator): Operator[] { } } -function validateNewFilter(query: InternalQuery, filter: Filter): void { - debugAssert(filter instanceof FieldFilter, 'Only FieldFilters are supported'); +function validateNewFieldFilter( + query: InternalQuery, + fieldFilter: FieldFilter +): void { + if (fieldFilter.isInequality()) { + const existingInequality = getInequalityFilterField(query); + const newInequality = fieldFilter.field; - if (filter.isInequality()) { - const existingField = getInequalityFilterField(query); - if (existingField !== null && !existingField.isEqual(filter.field)) { + if ( + existingInequality !== null && + !existingInequality.isEqual(newInequality) + ) { throw new FirestoreError( Code.INVALID_ARGUMENT, 'Invalid query. All where filters with an inequality' + ' (<, <=, !=, not-in, >, or >=) must be on the same field. But you have' + - ` inequality filters on '${existingField.toString()}'` + - ` and '${filter.field.toString()}'` + ` inequality filters on '${existingInequality.toString()}'` + + ` and '${newInequality.toString()}'` ); } const firstOrderByField = getFirstOrderByField(query); if (firstOrderByField !== null) { - validateOrderByAndInequalityMatch(query, filter.field, firstOrderByField); + validateOrderByAndInequalityMatch( + query, + newInequality, + firstOrderByField + ); } } - const conflictingOp = findFilterOperator(query, conflictingOps(filter.op)); + const conflictingOp = findOpInsideFilters( + query.filters, + conflictingOps(fieldFilter.op) + ); if (conflictingOp !== null) { // Special case when it's a duplicate op to give a slightly clearer error message. - if (conflictingOp === filter.op) { + if (conflictingOp === fieldFilter.op) { throw new FirestoreError( Code.INVALID_ARGUMENT, 'Invalid query. You cannot use more than one ' + - `'${filter.op.toString()}' filter.` + `'${fieldFilter.op.toString()}' filter.` ); } else { throw new FirestoreError( Code.INVALID_ARGUMENT, - `Invalid query. You cannot use '${filter.op.toString()}' filters ` + + `Invalid query. You cannot use '${fieldFilter.op.toString()}' filters ` + `with '${conflictingOp.toString()}' filters.` ); } } } +function validateNewFilter(query: InternalQuery, filter: Filter): void { + let testQuery = query; + const subFilters = filter.getFlattenedFilters(); + for (const subFilter of subFilters) { + validateNewFieldFilter(testQuery, subFilter); + testQuery = queryWithAddedFilter(testQuery, subFilter); + } +} + +// Checks if any of the provided filter operators are included in the given list of filters and +// returns the first one that is, or null if none are. +function findOpInsideFilters( + filters: Filter[], + operators: Operator[] +): Operator | null { + for (const filter of filters) { + for (const fieldFilter of filter.getFlattenedFilters()) { + if (operators.indexOf(fieldFilter.op) >= 0) { + return fieldFilter.op; + } + } + } + return null; +} + function validateNewOrderBy(query: InternalQuery, orderBy: OrderBy): void { if (getFirstOrderByField(query) === null) { // This is the first order by. It must match any inequality. @@ -858,3 +1205,43 @@ function validateOrderByAndInequalityMatch( ); } } + +export function validateQueryFilterConstraint( + functionName: string, + queryConstraint: AppliableConstraint +): void { + if ( + !(queryConstraint instanceof QueryFieldFilterConstraint) && + !(queryConstraint instanceof QueryCompositeFilterConstraint) + ) { + throw new FirestoreError( + Code.INVALID_ARGUMENT, + `Function ${functionName}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.` + ); + } +} + +function validateQueryConstraintArray( + queryConstraint: AppliableConstraint[] +): void { + const compositeFilterCount = queryConstraint.filter( + filter => filter instanceof QueryCompositeFilterConstraint + ).length; + const fieldFilterCount = queryConstraint.filter( + filter => filter instanceof QueryFieldFilterConstraint + ).length; + + if ( + compositeFilterCount > 1 || + (compositeFilterCount > 0 && fieldFilterCount > 0) + ) { + throw new FirestoreError( + Code.INVALID_ARGUMENT, + 'InvalidQuery. When using composite filters, you cannot use ' + + 'more than one filter at the top level. Consider nesting the multiple ' + + 'filters within an `and(...)` statement. For example: ' + + 'change `query(query, where(...), or(...))` to ' + + '`query(query, and(where(...), or(...)))`.' + ); + } +} diff --git a/packages/firestore/src/local/indexeddb_index_manager.ts b/packages/firestore/src/local/indexeddb_index_manager.ts index 16827806beb..a776c95c1da 100644 --- a/packages/firestore/src/local/indexeddb_index_manager.ts +++ b/packages/firestore/src/local/indexeddb_index_manager.ts @@ -16,19 +16,26 @@ */ import { User } from '../auth/user'; +import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; import { - Bound, - canonifyTarget, + CompositeFilter, + CompositeOperator, FieldFilter, - Operator, + Filter, + Operator +} from '../core/filter'; +import { + canonifyTarget, + newTarget, Target, targetEquals, targetGetArrayValues, targetGetLowerBound, targetGetNotInValues, targetGetSegmentCount, - targetGetUpperBound + targetGetUpperBound, + targetHasLimit } from '../core/target'; import { FirestoreIndexValueWriter } from '../index/firestore_index_value_writer'; import { IndexByteEncoder } from '../index/index_byte_encoder'; @@ -53,6 +60,7 @@ import { isArray, refValue } from '../model/values'; import { Value as ProtoValue } from '../protos/firestore_proto_api'; import { debugAssert, fail, hardAssert } from '../util/assert'; import { logDebug } from '../util/log'; +import { getDnfTerms } from '../util/logic_utils'; import { immediateSuccessor, primitiveComparator } from '../util/misc'; import { ObjectMap } from '../util/obj_map'; import { diffSortedSets, SortedSet } from '../util/sorted_set'; @@ -333,8 +341,28 @@ export class IndexedDbIndexManager implements IndexManager { if (subTargets) { return subTargets; } - // TODO(orquery): Implement DNF transform - subTargets = [target]; + + if (target.filters.length === 0) { + subTargets = [target]; + } else { + // There is an implicit AND operation between all the filters stored in the target + const dnf: Filter[] = getDnfTerms( + CompositeFilter.create(target.filters, CompositeOperator.AND) + ); + + subTargets = dnf.map(term => + newTarget( + target.path, + target.collectionGroup, + target.orderBy, + term.getFilters(), + target.limit, + target.startAt, + target.endAt + ) + ); + } + this.targetToDnfSubTargets.set(target, subTargets); return subTargets; } @@ -459,21 +487,32 @@ export class IndexedDbIndexManager implements IndexManager { target: Target ): PersistencePromise { let indexType = IndexType.FULL; - return PersistencePromise.forEach( - this.getSubTargets(target), - (target: Target) => { - return this.getFieldIndex(transaction, target).next(index => { - if (!index) { - indexType = IndexType.NONE; - } else if ( - indexType !== IndexType.NONE && - index.fields.length < targetGetSegmentCount(target) - ) { - indexType = IndexType.PARTIAL; - } - }); + const subTargets = this.getSubTargets(target); + return PersistencePromise.forEach(subTargets, (target: Target) => { + return this.getFieldIndex(transaction, target).next(index => { + if (!index) { + indexType = IndexType.NONE; + } else if ( + indexType !== IndexType.NONE && + index.fields.length < targetGetSegmentCount(target) + ) { + indexType = IndexType.PARTIAL; + } + }); + }).next(() => { + // OR queries have more than one sub-target (one sub-target per DNF term). We currently consider + // OR queries that have a `limit` to have a partial index. For such queries we perform sorting + // and apply the limit in memory as a post-processing step. + if ( + targetHasLimit(target) && + subTargets.length > 1 && + indexType === IndexType.FULL + ) { + return IndexType.PARTIAL; } - ).next(() => indexType); + + return indexType; + }); } /** @@ -533,18 +572,18 @@ export class IndexedDbIndexManager implements IndexManager { private encodeValues( fieldIndex: FieldIndex, target: Target, - bound: ProtoValue[] | null + values: ProtoValue[] | null ): Uint8Array[] { - if (bound === null) { + if (values === null) { return []; } let encoders: IndexByteEncoder[] = []; encoders.push(new IndexByteEncoder()); - let boundIdx = 0; + let valueIdx = 0; for (const segment of fieldIndexGetDirectionalSegments(fieldIndex)) { - const value = bound[boundIdx++]; + const value = values[valueIdx++]; for (const encoder of encoders) { if (this.isInFilter(target, segment.fieldPath) && isArray(value)) { encoders = this.expandIndexValues(encoders, segment, value); @@ -942,30 +981,41 @@ export class IndexedDbIndexManager implements IndexManager { const ranges: IDBKeyRange[] = []; for (let i = 0; i < bounds.length; i += 2) { - ranges.push( - IDBKeyRange.bound( - [ - bounds[i].indexId, - this.uid, - bounds[i].arrayValue, - bounds[i].directionalValue, - EMPTY_VALUE, - [] - ] as DbIndexEntryKey, - [ - bounds[i + 1].indexId, - this.uid, - bounds[i + 1].arrayValue, - bounds[i + 1].directionalValue, - EMPTY_VALUE, - [] - ] as DbIndexEntryKey - ) - ); + // If we encounter two bounds that will create an unmatchable key range, + // then we return an empty set of key ranges. + if (this.isRangeMatchable(bounds[i], bounds[i + 1])) { + return []; + } + + const lowerBound = [ + bounds[i].indexId, + this.uid, + bounds[i].arrayValue, + bounds[i].directionalValue, + EMPTY_VALUE, + [] + ] as DbIndexEntryKey; + + const upperBound = [ + bounds[i + 1].indexId, + this.uid, + bounds[i + 1].arrayValue, + bounds[i + 1].directionalValue, + EMPTY_VALUE, + [] + ] as DbIndexEntryKey; + + ranges.push(IDBKeyRange.bound(lowerBound, upperBound)); } return ranges; } + isRangeMatchable(lowerBound: IndexEntry, upperBound: IndexEntry): boolean { + // If lower bound is greater than the upper bound, then the key + // range can never be matched. + return indexEntryComparator(lowerBound, upperBound) > 0; + } + getMinOffsetFromCollectionGroup( transaction: PersistenceTransaction, collectionGroup: string diff --git a/packages/firestore/src/model/target_index_matcher.ts b/packages/firestore/src/model/target_index_matcher.ts index d78fe0af215..d58d7792e34 100644 --- a/packages/firestore/src/model/target_index_matcher.ts +++ b/packages/firestore/src/model/target_index_matcher.ts @@ -15,14 +15,10 @@ * limitations under the License. */ -import { - Direction, - FieldFilter, - Operator, - OrderBy, - Target -} from '../core/target'; -import { debugAssert } from '../util/assert'; +import { FieldFilter, Operator } from '../core/filter'; +import { Direction, OrderBy } from '../core/order_by'; +import { Target } from '../core/target'; +import { debugAssert, hardAssert } from '../util/assert'; import { FieldIndex, @@ -107,7 +103,7 @@ export class TargetIndexMatcher { * omitted. */ servedByIndex(index: FieldIndex): boolean { - debugAssert( + hardAssert( index.collectionGroup === this.collectionId, 'Collection IDs do not match' ); diff --git a/packages/firestore/src/platform/browser_lite/fetch_connection.ts b/packages/firestore/src/platform/browser_lite/fetch_connection.ts index 432a2e7073f..cad3c372ad5 100644 --- a/packages/firestore/src/platform/browser_lite/fetch_connection.ts +++ b/packages/firestore/src/platform/browser_lite/fetch_connection.ts @@ -61,7 +61,8 @@ export class FetchConnection extends RestConnection { headers, body: requestJson }); - } catch (err) { + } catch (e) { + const err = e as { status: number | undefined; statusText: string }; throw new FirestoreError( mapCodeFromHttpStatus(err.status), 'Request failed with error: ' + err.statusText diff --git a/packages/firestore/src/protos/compile.sh b/packages/firestore/src/protos/compile.sh new file mode 100755 index 00000000000..26c46d1a40d --- /dev/null +++ b/packages/firestore/src/protos/compile.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Copyright 2017 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -euo pipefail + +# Variables +PROTOS_DIR="." +PBJS="$(npm bin)/pbjs" + +"${PBJS}" --proto_path=. --target=json -o protos.json \ + -r firestore_v1 \ + "${PROTOS_DIR}/google/firestore/v1/*.proto" \ + "${PROTOS_DIR}/google/protobuf/*.proto" "${PROTOS_DIR}/google/type/*.proto" \ + "${PROTOS_DIR}/google/rpc/*.proto" "${PROTOS_DIR}/google/api/*.proto" diff --git a/packages/firestore/src/protos/firestore_proto_api.ts b/packages/firestore/src/protos/firestore_proto_api.ts index e7dfe0a88b2..46b00e0e6f7 100644 --- a/packages/firestore/src/protos/firestore_proto_api.ts +++ b/packages/firestore/src/protos/firestore_proto_api.ts @@ -30,7 +30,7 @@ export declare type Timestamp = | string | { seconds?: string | number; nanos?: number }; -export declare type CompositeFilterOp = 'OPERATOR_UNSPECIFIED' | 'AND'; +export declare type CompositeFilterOp = 'OPERATOR_UNSPECIFIED' | 'AND' | 'OR'; export interface ICompositeFilterOpEnum { OPERATOR_UNSPECIFIED: CompositeFilterOp; AND: CompositeFilterOp; diff --git a/packages/firestore/src/protos/google/firestore/v1/query.proto b/packages/firestore/src/protos/google/firestore/v1/query.proto index 1bb2b6cdd01..e3d95534bbf 100644 --- a/packages/firestore/src/protos/google/firestore/v1/query.proto +++ b/packages/firestore/src/protos/google/firestore/v1/query.proto @@ -65,8 +65,11 @@ message StructuredQuery { // Unspecified. This value must not be used. OPERATOR_UNSPECIFIED = 0; - // The results are required to satisfy each of the combined filters. + // Documents are required to satisfy all of the combined filters. AND = 1; + + // Documents are required to satisfy at least one of the combined filters. + OR = 2; } // The operator for combining multiple filters. diff --git a/packages/firestore/src/protos/protos.json b/packages/firestore/src/protos/protos.json index 093e22c6451..2b6cac8ddd6 100644 --- a/packages/firestore/src/protos/protos.json +++ b/packages/firestore/src/protos/protos.json @@ -2279,7 +2279,8 @@ "Operator": { "values": { "OPERATOR_UNSPECIFIED": 0, - "AND": 1 + "AND": 1, + "OR": 2 } } } diff --git a/packages/firestore/src/remote/serializer.ts b/packages/firestore/src/remote/serializer.ts index 21091d55a36..c537648775f 100644 --- a/packages/firestore/src/remote/serializer.ts +++ b/packages/firestore/src/remote/serializer.ts @@ -15,7 +15,17 @@ * limitations under the License. */ +import { Bound } from '../core/bound'; import { DatabaseId } from '../core/database_info'; +import { + CompositeFilter, + compositeFilterIsFlatConjunction, + CompositeOperator, + FieldFilter, + Filter, + Operator +} from '../core/filter'; +import { Direction, OrderBy } from '../core/order_by'; import { LimitType, newQuery, @@ -24,16 +34,7 @@ import { queryToTarget } from '../core/query'; import { SnapshotVersion } from '../core/snapshot_version'; -import { - Bound, - Direction, - FieldFilter, - Filter, - targetIsDocumentTarget, - Operator, - OrderBy, - Target -} from '../core/target'; +import { targetIsDocumentTarget, Target } from '../core/target'; import { TargetId } from '../core/types'; import { Timestamp } from '../lite-api/timestamp'; import { TargetData, TargetPurpose } from '../local/target_data'; @@ -64,6 +65,7 @@ import { isNanValue, isNullValue } from '../model/values'; import { ApiClientObjectMap as ProtoApiClientObjectMap, BatchGetDocumentsResponse as ProtoBatchGetDocumentsResponse, + CompositeFilterOp as ProtoCompositeFilterOp, Cursor as ProtoCursor, Document as ProtoDocument, DocumentMask as ProtoDocumentMask, @@ -123,6 +125,13 @@ const OPERATORS = (() => { return ops; })(); +const COMPOSITE_OPERATORS = (() => { + const ops: { [op: string]: ProtoCompositeFilterOp } = {}; + ops[CompositeOperator.AND] = 'AND'; + ops[CompositeOperator.OR] = 'OR'; + return ops; +})(); + function assertPresent(value: unknown, description: string): asserts value { debugAssert(!isNullOrUndefined(value), description + ' is missing'); } @@ -828,7 +837,7 @@ export function toQueryTarget( result.structuredQuery!.from = [{ collectionId: path.lastSegment() }]; } - const where = toFilter(target.filters); + const where = toFilters(target.filters); if (where) { result.structuredQuery!.where = where; } @@ -894,7 +903,7 @@ export function convertQueryTargetToQuery(target: ProtoQueryTarget): Query { let filterBy: Filter[] = []; if (query.where) { - filterBy = fromFilter(query.where); + filterBy = fromFilters(query.where); } let orderBy: OrderBy[] = []; @@ -993,34 +1002,34 @@ export function toTarget( return result; } -function toFilter(filters: Filter[]): ProtoFilter | undefined { +function toFilters(filters: Filter[]): ProtoFilter | undefined { if (filters.length === 0) { return; } - const protos = filters.map(filter => { - debugAssert( - filter instanceof FieldFilter, - 'Only FieldFilters are supported' - ); - return toUnaryOrFieldFilter(filter); - }); - if (protos.length === 1) { - return protos[0]; + + return toFilter(CompositeFilter.create(filters, CompositeOperator.AND)); +} + +function fromFilters(filter: ProtoFilter): Filter[] { + const result = fromFilter(filter); + + if ( + result instanceof CompositeFilter && + compositeFilterIsFlatConjunction(result) + ) { + return result.getFilters(); } - return { compositeFilter: { op: 'AND', filters: protos } }; + + return [result]; } -function fromFilter(filter: ProtoFilter | undefined): Filter[] { - if (!filter) { - return []; - } else if (filter.unaryFilter !== undefined) { - return [fromUnaryFilter(filter)]; +function fromFilter(filter: ProtoFilter): Filter { + if (filter.unaryFilter !== undefined) { + return fromUnaryFilter(filter); } else if (filter.fieldFilter !== undefined) { - return [fromFieldFilter(filter)]; + return fromFieldFilter(filter); } else if (filter.compositeFilter !== undefined) { - return filter.compositeFilter - .filters!.map(f => fromFilter(f)) - .reduce((accum, current) => accum.concat(current)); + return fromCompositeFilter(filter); } else { return fail('Unknown filter: ' + JSON.stringify(filter)); } @@ -1087,6 +1096,12 @@ export function toOperatorName(op: Operator): ProtoFieldFilterOp { return OPERATORS[op]; } +export function toCompositeOperatorName( + op: CompositeOperator +): ProtoCompositeFilterOp { + return COMPOSITE_OPERATORS[op]; +} + export function fromOperatorName(op: ProtoFieldFilterOp): Operator { switch (op) { case 'EQUAL': @@ -1116,6 +1131,19 @@ export function fromOperatorName(op: ProtoFieldFilterOp): Operator { } } +export function fromCompositeOperatorName( + op: ProtoCompositeFilterOp +): CompositeOperator { + switch (op) { + case 'AND': + return CompositeOperator.AND; + case 'OR': + return CompositeOperator.OR; + default: + return fail('Unknown operator'); + } +} + export function toFieldPathReference(path: FieldPath): ProtoFieldReference { return { fieldPath: path.canonicalString() }; } @@ -1141,15 +1169,32 @@ export function fromPropertyOrder(orderBy: ProtoOrder): OrderBy { ); } -export function fromFieldFilter(filter: ProtoFilter): Filter { - return FieldFilter.create( - fromFieldPathReference(filter.fieldFilter!.field!), - fromOperatorName(filter.fieldFilter!.op!), - filter.fieldFilter!.value! - ); +// visible for testing +export function toFilter(filter: Filter): ProtoFilter { + if (filter instanceof FieldFilter) { + return toUnaryOrFieldFilter(filter); + } else if (filter instanceof CompositeFilter) { + return toCompositeFilter(filter); + } else { + return fail('Unrecognized filter type ' + JSON.stringify(filter)); + } +} + +export function toCompositeFilter(filter: CompositeFilter): ProtoFilter { + const protos = filter.getFilters().map(filter => toFilter(filter)); + + if (protos.length === 1) { + return protos[0]; + } + + return { + compositeFilter: { + op: toCompositeOperatorName(filter.op), + filters: protos + } + }; } -// visible for testing export function toUnaryOrFieldFilter(filter: FieldFilter): ProtoFilter { if (filter.op === Operator.EQUAL) { if (isNanValue(filter.value)) { @@ -1222,6 +1267,21 @@ export function fromUnaryFilter(filter: ProtoFilter): Filter { } } +export function fromFieldFilter(filter: ProtoFilter): FieldFilter { + return FieldFilter.create( + fromFieldPathReference(filter.fieldFilter!.field!), + fromOperatorName(filter.fieldFilter!.op!), + filter.fieldFilter!.value! + ); +} + +export function fromCompositeFilter(filter: ProtoFilter): CompositeFilter { + return CompositeFilter.create( + filter.compositeFilter!.filters!.map(filter => fromFilter(filter)), + fromCompositeOperatorName(filter.compositeFilter!.op!) + ); +} + export function toDocumentMask(fieldMask: FieldMask): ProtoDocumentMask { const canonicalFields: string[] = []; fieldMask.fields.forEach(field => diff --git a/packages/firestore/src/util/logic_utils.ts b/packages/firestore/src/util/logic_utils.ts new file mode 100644 index 00000000000..3c3a6b19fd8 --- /dev/null +++ b/packages/firestore/src/util/logic_utils.ts @@ -0,0 +1,363 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + CompositeFilter, + compositeFilterIsConjunction, + compositeFilterIsDisjunction, + compositeFilterIsFlat, + compositeFilterIsFlatConjunction, + compositeFilterWithAddedFilters, + CompositeOperator, + FieldFilter, + Filter, + InFilter, + Operator +} from '../core/filter'; + +import { hardAssert } from './assert'; + +/** + * Provides utility functions that help with boolean logic transformations needed for handling + * complex filters used in queries. + */ + +/** + * The `in` filter is only a syntactic sugar over a disjunction of equalities. For instance: `a in + * [1,2,3]` is in fact `a==1 || a==2 || a==3`. This method expands any `in` filter in the given + * input into a disjunction of equality filters and returns the expanded filter. + */ +export function computeInExpansion(filter: Filter): Filter { + hardAssert( + filter instanceof FieldFilter || filter instanceof CompositeFilter, + 'Only field filters and composite filters are accepted.' + ); + + if (filter instanceof FieldFilter) { + if (filter instanceof InFilter) { + const expandedFilters = + filter.value.arrayValue?.values?.map(value => + FieldFilter.create(filter.field, Operator.EQUAL, value) + ) || []; + + return CompositeFilter.create(expandedFilters, CompositeOperator.OR); + } else { + // We have reached other kinds of field filters. + return filter; + } + } + + // We have a composite filter. + const expandedFilters = filter.filters.map(subfilter => + computeInExpansion(subfilter) + ); + return CompositeFilter.create(expandedFilters, filter.op); +} + +/** + * Given a composite filter, returns the list of terms in its disjunctive normal form. + * + *

Each element in the return value is one term of the resulting DNF. For instance: For the + * input: (A || B) && C, the DNF form is: (A && C) || (B && C), and the return value is a list + * with two elements: a composite filter that performs (A && C), and a composite filter that + * performs (B && C). + * + * @param filter the composite filter to calculate DNF transform for. + * @return the terms in the DNF transform. + */ +export function getDnfTerms(filter: CompositeFilter): Filter[] { + if (filter.getFilters().length === 0) { + return []; + } + + const result: Filter = computeDistributedNormalForm( + computeInExpansion(filter) + ); + + hardAssert( + isDisjunctiveNormalForm(result), + 'computeDistributedNormalForm did not result in disjunctive normal form' + ); + + if (isSingleFieldFilter(result) || isFlatConjunction(result)) { + return [result]; + } + + return result.getFilters(); +} + +/** Returns true if the given filter is a single field filter. e.g. (a == 10). */ +function isSingleFieldFilter(filter: Filter): boolean { + return filter instanceof FieldFilter; +} + +/** + * Returns true if the given filter is the conjunction of one or more field filters. e.g. (a == 10 + * && b == 20) + */ +function isFlatConjunction(filter: Filter): boolean { + return ( + filter instanceof CompositeFilter && + compositeFilterIsFlatConjunction(filter) + ); +} + +/** + * Returns whether or not the given filter is in disjunctive normal form (DNF). + * + *

In boolean logic, a disjunctive normal form (DNF) is a canonical normal form of a logical + * formula consisting of a disjunction of conjunctions; it can also be described as an OR of ANDs. + * + *

For more info, visit: https://en.wikipedia.org/wiki/Disjunctive_normal_form + */ +function isDisjunctiveNormalForm(filter: Filter): boolean { + return ( + isSingleFieldFilter(filter) || + isFlatConjunction(filter) || + isDisjunctionOfFieldFiltersAndFlatConjunctions(filter) + ); +} + +/** + * Returns true if the given filter is the disjunction of one or more "flat conjunctions" and + * field filters. e.g. (a == 10) || (b==20 && c==30) + */ +function isDisjunctionOfFieldFiltersAndFlatConjunctions( + filter: Filter +): boolean { + if (filter instanceof CompositeFilter) { + if (compositeFilterIsDisjunction(filter)) { + for (const subFilter of filter.getFilters()) { + if (!isSingleFieldFilter(subFilter) && !isFlatConjunction(subFilter)) { + return false; + } + } + + return true; + } + } + + return false; +} + +export function computeDistributedNormalForm(filter: Filter): Filter { + hardAssert( + filter instanceof FieldFilter || filter instanceof CompositeFilter, + 'Only field filters and composite filters are accepted.' + ); + + if (filter instanceof FieldFilter) { + return filter; + } + + if (filter.filters.length === 1) { + return computeDistributedNormalForm(filter.filters[0]); + } + + // Compute DNF for each of the subfilters first + const result = filter.filters.map(subfilter => + computeDistributedNormalForm(subfilter) + ); + + let newFilter: Filter = CompositeFilter.create(result, filter.op); + newFilter = applyAssociation(newFilter); + + if (isDisjunctiveNormalForm(newFilter)) { + return newFilter; + } + + hardAssert( + newFilter instanceof CompositeFilter, + 'field filters are already in DNF form' + ); + hardAssert( + compositeFilterIsConjunction(newFilter), + 'Disjunction of filters all of which are already in DNF form is itself in DNF form.' + ); + hardAssert( + newFilter.filters.length > 1, + 'Single-filter composite filters are already in DNF form.' + ); + + return newFilter.filters.reduce((runningResult, filter) => + applyDistribution(runningResult, filter) + ); +} + +export function applyDistribution(lhs: Filter, rhs: Filter): Filter { + hardAssert( + lhs instanceof FieldFilter || lhs instanceof CompositeFilter, + 'Only field filters and composite filters are accepted.' + ); + hardAssert( + rhs instanceof FieldFilter || rhs instanceof CompositeFilter, + 'Only field filters and composite filters are accepted.' + ); + + let result: Filter; + + if (lhs instanceof FieldFilter) { + if (rhs instanceof FieldFilter) { + // FieldFilter FieldFilter + result = applyDistributionFieldFilters(lhs, rhs); + } else { + // FieldFilter CompositeFilter + result = applyDistributionFieldAndCompositeFilters(lhs, rhs); + } + } else { + if (rhs instanceof FieldFilter) { + // CompositeFilter FieldFilter + result = applyDistributionFieldAndCompositeFilters(rhs, lhs); + } else { + // CompositeFilter CompositeFilter + result = applyDistributionCompositeFilters(lhs, rhs); + } + } + + return applyAssociation(result); +} + +function applyDistributionFieldFilters( + lhs: FieldFilter, + rhs: FieldFilter +): Filter { + // Conjunction distribution for two field filters is the conjunction of them. + return CompositeFilter.create([lhs, rhs], CompositeOperator.AND); +} + +function applyDistributionCompositeFilters( + lhs: CompositeFilter, + rhs: CompositeFilter +): Filter { + hardAssert( + lhs.filters.length > 0 && rhs.filters.length > 0, + 'Found an empty composite filter' + ); + + // There are four cases: + // (A & B) & (C & D) --> (A & B & C & D) + // (A & B) & (C | D) --> (A & B & C) | (A & B & D) + // (A | B) & (C & D) --> (C & D & A) | (C & D & B) + // (A | B) & (C | D) --> (A & C) | (A & D) | (B & C) | (B & D) + + // Case 1 is a merge. + if (compositeFilterIsConjunction(lhs) && compositeFilterIsConjunction(rhs)) { + return compositeFilterWithAddedFilters(lhs, rhs.getFilters()); + } + + // Case 2,3,4 all have at least one side (lhs or rhs) that is a disjunction. In all three cases + // we should take each element of the disjunction and distribute it over the other side, and + // return the disjunction of the distribution results. + const disjunctionSide = compositeFilterIsDisjunction(lhs) ? lhs : rhs; + const otherSide = compositeFilterIsDisjunction(lhs) ? rhs : lhs; + const results = disjunctionSide.filters.map(subfilter => + applyDistribution(subfilter, otherSide) + ); + return CompositeFilter.create(results, CompositeOperator.OR); +} + +function applyDistributionFieldAndCompositeFilters( + fieldFilter: FieldFilter, + compositeFilter: CompositeFilter +): Filter { + // There are two cases: + // A & (B & C) --> (A & B & C) + // A & (B | C) --> (A & B) | (A & C) + if (compositeFilterIsConjunction(compositeFilter)) { + // Case 1 + return compositeFilterWithAddedFilters( + compositeFilter, + fieldFilter.getFilters() + ); + } else { + // Case 2 + const newFilters = compositeFilter.filters.map(subfilter => + applyDistribution(fieldFilter, subfilter) + ); + + return CompositeFilter.create(newFilters, CompositeOperator.OR); + } +} + +/** + * Applies the associativity property to the given filter and returns the resulting filter. + * + *

    + *
  • A | (B | C) == (A | B) | C == (A | B | C) + *
  • A & (B & C) == (A & B) & C == (A & B & C) + *
+ * + *

For more info, visit: https://en.wikipedia.org/wiki/Associative_property#Propositional_logic + */ +export function applyAssociation(filter: Filter): Filter { + hardAssert( + filter instanceof FieldFilter || filter instanceof CompositeFilter, + 'Only field filters and composite filters are accepted.' + ); + + if (filter instanceof FieldFilter) { + return filter; + } + + const filters = filter.getFilters(); + + // If the composite filter only contains 1 filter, apply associativity to it. + if (filters.length === 1) { + return applyAssociation(filters[0]); + } + + // Associativity applied to a flat composite filter results is itself. + if (compositeFilterIsFlat(filter)) { + return filter; + } + + // First apply associativity to all subfilters. This will in turn recursively apply + // associativity to all nested composite filters and field filters. + const updatedFilters = filters.map(subfilter => applyAssociation(subfilter)); + + // For composite subfilters that perform the same kind of logical operation as `compositeFilter` + // take out their filters and add them to `compositeFilter`. For example: + // compositeFilter = (A | (B | C | D)) + // compositeSubfilter = (B | C | D) + // Result: (A | B | C | D) + // Note that the `compositeSubfilter` has been eliminated, and its filters (B, C, D) have been + // added to the top-level "compositeFilter". + const newSubfilters: Filter[] = []; + updatedFilters.forEach(subfilter => { + if (subfilter instanceof FieldFilter) { + newSubfilters.push(subfilter); + } else if (subfilter instanceof CompositeFilter) { + if (subfilter.op === filter.op) { + // compositeFilter: (A | (B | C)) + // compositeSubfilter: (B | C) + // Result: (A | B | C) + newSubfilters.push(...subfilter.filters); + } else { + // compositeFilter: (A | (B & C)) + // compositeSubfilter: (B & C) + // Result: (A | (B & C)) + newSubfilters.push(subfilter); + } + } + }); + + if (newSubfilters.length === 1) { + return newSubfilters[0]; + } + + return CompositeFilter.create(newSubfilters, filter.op); +} diff --git a/packages/firestore/src/util/types.ts b/packages/firestore/src/util/types.ts index be547455983..c298bfe2131 100644 --- a/packages/firestore/src/util/types.ts +++ b/packages/firestore/src/util/types.ts @@ -61,7 +61,7 @@ export interface WindowLike { /** The subset of the browser's Document interface used by the SDK. */ export interface DocumentLike { - readonly visibilityState: VisibilityState; + readonly visibilityState: DocumentVisibilityState; addEventListener(type: string, listener: EventListener): void; removeEventListener(type: string, listener: EventListener): void; } diff --git a/packages/firestore/test/integration/api/query.test.ts b/packages/firestore/test/integration/api/query.test.ts index 68752f44743..f76baf19b9f 100644 --- a/packages/firestore/test/integration/api/query.test.ts +++ b/packages/firestore/test/integration/api/query.test.ts @@ -22,6 +22,7 @@ import { Deferred } from '../../util/promise'; import { EventsAccumulator } from '../util/events_accumulator'; import { addDoc, + and, Bytes, collection, collectionGroup, @@ -36,10 +37,14 @@ import { endBefore, GeoPoint, getDocs, + getDocsFromCache, + getDocsFromServer, limit, limitToLast, onSnapshot, + or, orderBy, + Query, query, QuerySnapshot, setDoc, @@ -54,6 +59,7 @@ import { apiDescribe, toChangesArray, toDataArray, + toIds, withEmptyTestCollection, withTestCollection, withTestDb @@ -1323,6 +1329,253 @@ apiDescribe('Queries', (persistence: boolean) => { }); }); + // TODO(orquery): Enable these tests when prod supports OR queries. + // eslint-disable-next-line no-restricted-properties + (false && persistence ? describe : describe.skip)('OR Queries', () => { + it('can use query overloads', () => { + const testDocs = { + doc1: { a: 1, b: 0 }, + doc2: { a: 2, b: 1 }, + doc3: { a: 3, b: 2 }, + doc4: { a: 1, b: 3 }, + doc5: { a: 1, b: 1 } + }; + + return withTestCollection(persistence, testDocs, async coll => { + // a == 1 + await checkOnlineAndOfflineResultsMatch( + query(coll, where('a', '==', 1)), + 'doc1', + 'doc4', + 'doc5' + ); + + // Implicit AND: a == 1 && b == 3 + await checkOnlineAndOfflineResultsMatch( + query(coll, where('a', '==', 1), where('b', '==', 3)), + 'doc4' + ); + + // explicit AND: a == 1 && b == 3 + await checkOnlineAndOfflineResultsMatch( + query(coll, and(where('a', '==', 1), where('b', '==', 3))), + 'doc4' + ); + + // a == 1, limit 2 + await checkOnlineAndOfflineResultsMatch( + query(coll, where('a', '==', 1), limit(2)), + 'doc1', + 'doc4' + ); + + // a == 1, limit 2, b - desc + await checkOnlineAndOfflineResultsMatch( + query(coll, where('a', '==', 1), limit(2), orderBy('b', 'desc')), + 'doc4', + 'doc5' + ); + + // explicit OR: a == 1 || b == 1 with limit 2 + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 1), where('b', '==', 1)), limit(2)), + 'doc1', + 'doc2' + ); + + // only limit 2 + await checkOnlineAndOfflineResultsMatch( + query(coll, limit(2)), + 'doc1', + 'doc2' + ); + + // limit 2 and order by b desc + await checkOnlineAndOfflineResultsMatch( + query(coll, limit(2), orderBy('b', 'desc')), + 'doc4', + 'doc3' + ); + }); + }); + + it('can use or queries', () => { + const testDocs = { + doc1: { a: 1, b: 0 }, + doc2: { a: 2, b: 1 }, + doc3: { a: 3, b: 2 }, + doc4: { a: 1, b: 3 }, + doc5: { a: 1, b: 1 } + }; + + return withTestCollection(persistence, testDocs, async coll => { + // Two equalities: a==1 || b==1. + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 1), where('b', '==', 1))), + 'doc1', + 'doc2', + 'doc4', + 'doc5' + ); + + // with one inequality: a>2 || b==1. + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '>', 2), where('b', '==', 1))), + 'doc5', + 'doc2', + 'doc3' + ); + + // (a==1 && b==0) || (a==3 && b==2) + await checkOnlineAndOfflineResultsMatch( + query( + coll, + or( + and(where('a', '==', 1), where('b', '==', 0)), + and(where('a', '==', 3), where('b', '==', 2)) + ) + ), + 'doc1', + 'doc3' + ); + + // a==1 && (b==0 || b==3). + await checkOnlineAndOfflineResultsMatch( + query( + coll, + and( + where('a', '==', 1), + or(where('b', '==', 0), where('b', '==', 3)) + ) + ), + 'doc1', + 'doc4' + ); + + // (a==2 || b==2) && (a==3 || b==3) + await checkOnlineAndOfflineResultsMatch( + query( + coll, + and( + or(where('a', '==', 2), where('b', '==', 2)), + or(where('a', '==', 3), where('b', '==', 3)) + ) + ), + 'doc3' + ); + + // Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2 + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 1), where('b', '>', 0)), limit(2)), + 'doc1', + 'doc2' + ); + + // Test with limits (explicit order by): (a==1) || (b > 0) LIMIT_TO_LAST 2 + // Note: The public query API does not allow implicit ordering when limitToLast is used. + await checkOnlineAndOfflineResultsMatch( + query( + coll, + or(where('a', '==', 1), where('b', '>', 0)), + limitToLast(2), + orderBy('b') + ), + 'doc3', + 'doc4' + ); + + // Test with limits (explicit order by ASC): (a==2) || (b == 1) ORDER BY a LIMIT 1 + await checkOnlineAndOfflineResultsMatch( + query( + coll, + or(where('a', '==', 2), where('b', '==', 1)), + limit(1), + orderBy('a') + ), + 'doc5' + ); + + // Test with limits (explicit order by DESC): (a==2) || (b == 1) ORDER BY a LIMIT_TO_LAST 1 + await checkOnlineAndOfflineResultsMatch( + query( + coll, + or(where('a', '==', 2), where('b', '==', 1)), + limitToLast(1), + orderBy('a') + ), + 'doc2' + ); + + // Test with limits without orderBy (the __name__ ordering is the tie breaker). + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 2), where('b', '==', 1)), limit(1)), + 'doc2' + ); + }); + }); + + it('can use or queries with in and not-in', () => { + const testDocs = { + doc1: { a: 1, b: 0 }, + doc2: { b: 1 }, + doc3: { a: 3, b: 2 }, + doc4: { a: 1, b: 3 }, + doc5: { a: 1 }, + doc6: { a: 2 } + }; + + return withTestCollection(persistence, testDocs, async coll => { + // a==2 || b in [2,3] + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 2), where('b', 'in', [2, 3]))), + 'doc3', + 'doc4', + 'doc6' + ); + + // a==2 || b not-in [2,3] + // Has implicit orderBy b. + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 2), where('b', 'not-in', [2, 3]))), + 'doc1', + 'doc2' + ); + }); + }); + + it('can use or queries with array membership', () => { + const testDocs = { + doc1: { a: 1, b: [0] }, + doc2: { b: [1] }, + doc3: { a: 3, b: [2, 7] }, + doc4: { a: 1, b: [3, 7] }, + doc5: { a: 1 }, + doc6: { a: 2 } + }; + + return withTestCollection(persistence, testDocs, async coll => { + // a==2 || b array-contains 7 + await checkOnlineAndOfflineResultsMatch( + query(coll, or(where('a', '==', 2), where('b', 'array-contains', 7))), + 'doc3', + 'doc4', + 'doc6' + ); + + // a==2 || b array-contains-any [0, 3] + await checkOnlineAndOfflineResultsMatch( + query( + coll, + or(where('a', '==', 2), where('b', 'array-contains-any', [0, 3])) + ), + 'doc1', + 'doc4', + 'doc6' + ); + }); + }); + }); + // Reproduces https://github.com/firebase/firebase-js-sdk/issues/5873 // eslint-disable-next-line no-restricted-properties (persistence ? describe : describe.skip)('Caching empty results', () => { @@ -1375,3 +1628,25 @@ function verifyDocumentChange( expect(change.oldIndex).to.equal(oldIndex); expect(change.newIndex).to.equal(newIndex); } + +/** + * Checks that running the query while online (against the backend/emulator) results in the same + * documents as running the query while offline. If `expectedDocs` is provided, it also checks + * that both online and offline query result is equal to the expected documents. + * + * @param query The query to check + * @param expectedDocs Ordered list of document keys that are expected to match the query + */ +async function checkOnlineAndOfflineResultsMatch( + query: Query, + ...expectedDocs: string[] +): Promise { + const docsFromServer = await getDocsFromServer(query); + + if (expectedDocs.length !== 0) { + expect(expectedDocs).to.deep.equal(toIds(docsFromServer)); + } + + const docsFromCache = await getDocsFromCache(query); + expect(toIds(docsFromServer)).to.deep.equal(toIds(docsFromCache)); +} diff --git a/packages/firestore/test/integration/api/type.test.ts b/packages/firestore/test/integration/api/type.test.ts index 48b8d0ac4c8..de7614459fa 100644 --- a/packages/firestore/test/integration/api/type.test.ts +++ b/packages/firestore/test/integration/api/type.test.ts @@ -96,7 +96,7 @@ apiDescribe('Firestore', (persistence: boolean) => { const validateSnapshots = !persistence; await expectRoundtrip( db, - { a: 1, b: NaN, c: Infinity, d: persistence ? 0.0 : -0.0 }, + { a: 1, b: NaN, c: Infinity, d: persistence ? 0.0 : 0.0 }, validateSnapshots ); }); diff --git a/packages/firestore/test/integration/api/validation.test.ts b/packages/firestore/test/integration/api/validation.test.ts index 2943a8b0c06..c118e485310 100644 --- a/packages/firestore/test/integration/api/validation.test.ts +++ b/packages/firestore/test/integration/api/validation.test.ts @@ -50,6 +50,8 @@ import { setDoc, updateDoc, where, + or, + and, newTestApp } from '../util/firebase_export'; import { @@ -1317,6 +1319,148 @@ apiDescribe('Validation:', (persistence: boolean) => { 'Function startAt() called with invalid data. Unsupported field value: undefined' ); }); + + validationIt(persistence, 'invalid query filters fail', db => { + // Multiple inequalities, one of which is inside a nested composite filter. + const coll = collection(db, 'test'); + expect(() => + query( + coll, + and( + or( + and(where('a', '==', 'b'), where('c', '>', 'd')), + and(where('e', '==', 'f'), where('g', '==', 'h')) + ), + where('r', '>', 's') + ) + ) + ).to.throw( + "Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on 'c' and 'r'" + ); + + // OrderBy and inequality on different fields. Inequality inside a nested composite filter. + expect(() => + query( + coll, + or( + and(where('a', '==', 'b'), where('c', '>', 'd')), + and(where('e', '==', 'f'), where('g', '==', 'h')) + ), + orderBy('r') + ) + ).to.throw( + "Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field 'c' and so you must also use 'c' as your first argument to orderBy(), but your first orderBy() is on field 'r' instead." + ); + + // Conflicting operations within a composite filter. + expect(() => + query( + coll, + or( + and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), + and(where('e', '==', 'f'), where('c', 'not-in', ['f', 'g'])) + ) + ) + ).to.throw( + "Invalid query. You cannot use 'not-in' filters with 'in' filters." + ); + + // Conflicting operations between a field filter and a composite filter. + expect(() => + query( + coll, + and( + or( + and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), + and(where('e', '==', 'f'), where('g', '==', 'h')) + ), + where('i', 'not-in', ['j', 'k']) + ) + ) + ).to.throw( + "Invalid query. You cannot use 'not-in' filters with 'in' filters." + ); + + // Conflicting operations between two composite filters. + expect(() => + query( + coll, + and( + or( + and(where('a', '==', 'b'), where('c', 'in', ['d', 'e'])), + and(where('e', '==', 'f'), where('g', '==', 'h')) + ), + or( + and(where('i', '==', 'j'), where('l', 'not-in', ['m', 'n'])), + and(where('o', '==', 'p'), where('q', '==', 'r')) + ) + ) + ) + ).to.throw( + "Invalid query. You cannot use 'not-in' filters with 'in' filters." + ); + + // Multiple top level composite filters + expect(() => + // @ts-ignore + query(coll, and(where('a', '==', 'b')), or(where('b', '==', 'a'))) + ).to.throw( + 'InvalidQuery. When using composite filters, you cannot use ' + + 'more than one filter at the top level. Consider nesting the multiple ' + + 'filters within an `and(...)` statement. For example: ' + + 'change `query(query, where(...), or(...))` to ' + + '`query(query, and(where(...), or(...)))`.' + ); + + // Once top level composite filter and one top level field filter + expect(() => + // @ts-ignore + query(coll, or(where('a', '==', 'b')), where('b', '==', 'a')) + ).to.throw( + 'InvalidQuery. When using composite filters, you cannot use ' + + 'more than one filter at the top level. Consider nesting the multiple ' + + 'filters within an `and(...)` statement. For example: ' + + 'change `query(query, where(...), or(...))` to ' + + '`query(query, and(where(...), or(...)))`.' + ); + }); + + validationIt( + persistence, + 'passing non-filters to composite operators fails', + db => { + const compositeOperators = [ + { name: 'or', func: or }, + { name: 'and', func: and } + ]; + const nonFilterOps = [ + limit(1), + limitToLast(2), + startAt(1), + startAfter(1), + endAt(1), + endBefore(1), + orderBy('a') + ]; + + for (const compositeOp of compositeOperators) { + for (const nonFilterOp of nonFilterOps) { + const coll = collection(db, 'test'); + expect(() => + query( + coll, + compositeOp.func( + // @ts-ignore + nonFilterOp + ) + ) + ).to.throw( + `Function ${compositeOp.name}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.` + ); + } + } + } + ); }); }); diff --git a/packages/firestore/test/integration/api_internal/transaction.test.ts b/packages/firestore/test/integration/api_internal/transaction.test.ts index 7eab6d7d53d..54cca274e98 100644 --- a/packages/firestore/test/integration/api_internal/transaction.test.ts +++ b/packages/firestore/test/integration/api_internal/transaction.test.ts @@ -17,6 +17,7 @@ import { expect } from 'chai'; +import { FirestoreError } from '../../../src'; import { DEFAULT_TRANSACTION_OPTIONS } from '../../../src/core/transaction_options'; import { TimerId } from '../../../src/util/async_queue'; import { Deferred } from '../../util/promise'; @@ -155,7 +156,8 @@ apiDescribe( await transaction.set(docRef, { count: 16 }); }); expect.fail('transaction should fail'); - } catch (err) { + } catch (e) { + const err = e as FirestoreError; expect(err).to.exist; expect(err.code).to.equal('aborted'); } @@ -194,7 +196,8 @@ apiDescribe( options ); expect.fail('transaction should fail'); - } catch (err) { + } catch (e) { + const err = e as FirestoreError; expect(err).to.exist; expect(err.code).to.equal('aborted'); } diff --git a/packages/firestore/test/unit/core/filter.test.ts b/packages/firestore/test/unit/core/filter.test.ts new file mode 100644 index 00000000000..3011e3f1647 --- /dev/null +++ b/packages/firestore/test/unit/core/filter.test.ts @@ -0,0 +1,96 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from 'chai'; + +import { + compositeFilterIsConjunction, + compositeFilterIsDisjunction, + compositeFilterIsFlat, + compositeFilterIsFlatConjunction, + FieldFilter, + Operator +} from '../../../src/core/filter'; +import { andFilter, filter, orFilter } from '../../util/helpers'; + +describe('FieldFilter', () => { + it('exposes field filter members', () => { + const f = filter('foo', '==', 'bar'); + + expect(f.field.toString()).to.equal('foo'); + expect(f.value.stringValue).to.equal('bar'); + expect(f.op).to.equal(Operator.EQUAL); + }); +}); + +describe('CompositeFilter', () => { + let a: FieldFilter; + let b: FieldFilter; + let c: FieldFilter; + let d: FieldFilter; + + function nameFilter(name: string): FieldFilter { + return filter('name', '==', name); + } + + beforeEach(async () => { + a = nameFilter('A'); + b = nameFilter('B'); + c = nameFilter('C'); + d = nameFilter('D'); + }); + + it('exposes composite filter members for AND filter', () => { + const f = andFilter(a, b, c); + + expect(compositeFilterIsConjunction(f)).to.be.true; + expect(f.getFilters()).to.deep.equal([a, b, c]); + }); + + it('exposes composite filter members for OR filter', () => { + const f = orFilter(a, b, c); + + expect(compositeFilterIsDisjunction(f)).to.be.true; + expect(f.getFilters()).to.deep.equal([a, b, c]); + }); + + it('has working composite filter nested checks', () => { + const andFilter1 = andFilter(a, b, c); + expect(compositeFilterIsFlat(andFilter1)).true; + expect(compositeFilterIsConjunction(andFilter1)).true; + expect(compositeFilterIsDisjunction(andFilter1)).false; + expect(compositeFilterIsFlatConjunction(andFilter1)).true; + + const orFilter1 = orFilter(a, b, c); + expect(compositeFilterIsConjunction(orFilter1)).false; + expect(compositeFilterIsDisjunction(orFilter1)).true; + expect(compositeFilterIsFlat(orFilter1)).true; + expect(compositeFilterIsFlatConjunction(orFilter1)).false; + + const andFilter2 = andFilter(d, andFilter1); + expect(compositeFilterIsConjunction(andFilter2)).true; + expect(compositeFilterIsDisjunction(andFilter2)).false; + expect(compositeFilterIsFlat(andFilter2)).false; + expect(compositeFilterIsFlatConjunction(andFilter2)).false; + + const orFilter2 = orFilter(d, andFilter1); + expect(compositeFilterIsConjunction(orFilter2)).false; + expect(compositeFilterIsDisjunction(orFilter2)).true; + expect(compositeFilterIsFlat(orFilter2)).false; + expect(compositeFilterIsFlatConjunction(orFilter2)).false; + }); +}); diff --git a/packages/firestore/test/unit/core/query.test.ts b/packages/firestore/test/unit/core/query.test.ts index 2acfbc65cda..c88532474be 100644 --- a/packages/firestore/test/unit/core/query.test.ts +++ b/packages/firestore/test/unit/core/query.test.ts @@ -18,6 +18,8 @@ import { expect } from 'chai'; import { Bytes, GeoPoint, Timestamp } from '../../../src'; +import { Bound, boundEquals } from '../../../src/core/bound'; +import { OrderBy } from '../../../src/core/order_by'; import { canonifyQuery, LimitType, @@ -38,21 +40,19 @@ import { queryCollectionGroup, newQueryForCollectionGroup } from '../../../src/core/query'; -import { - Bound, - boundEquals, - canonifyTarget, - OrderBy -} from '../../../src/core/target'; +import { canonifyTarget } from '../../../src/core/target'; +import { MutableDocument } from '../../../src/model/document'; import { DOCUMENT_KEY_NAME, ResourcePath } from '../../../src/model/path'; import { addEqualityMatcher } from '../../util/equality_matcher'; import { + andFilter, bound, doc, expectCorrectComparisons, expectEqualitySets, filter, orderBy, + orFilter, query, ref, wrap @@ -800,6 +800,71 @@ describe('Query', () => { expect(queryMatchesAllDocuments(query1)).to.be.false; }); + it('matches composite queries', () => { + const doc1 = doc('collection/1', 0, { a: 1, b: 0 }); + const doc2 = doc('collection/2', 0, { a: 2, b: 1 }); + const doc3 = doc('collection/3', 0, { a: 3, b: 2 }); + const doc4 = doc('collection/4', 0, { a: 1, b: 3 }); + const doc5 = doc('collection/5', 0, { a: 1, b: 1 }); + + // Two equalities: a==1 || b==1. + const query1 = query( + 'collection', + orFilter(filter('a', '==', 1), filter('b', '==', 1)) + ); + assertQueryMatches(query1, [doc1, doc2, doc4, doc5], [doc3]); + + // with one inequality: a>2 || b==1. + const query2 = query( + 'collection', + orFilter(filter('a', '>', 2), filter('b', '==', 1)) + ); + assertQueryMatches(query2, [doc2, doc3, doc5], [doc1, doc4]); + + // (a==1 && b==0) || (a==3 && b==2) + const query3 = query( + 'collection', + orFilter( + andFilter(filter('a', '==', 1), filter('b', '==', 0)), + andFilter(filter('a', '==', 3), filter('b', '==', 2)) + ) + ); + assertQueryMatches(query3, [doc1, doc3], [doc2, doc4, doc5]); + + // a==1 && (b==0 || b==3). + const query4 = query( + 'collection', + andFilter( + filter('a', '==', 1), + orFilter(filter('b', '==', 0), filter('b', '==', 3)) + ) + ); + assertQueryMatches(query4, [doc1, doc4], [doc2, doc3, doc5]); + + // (a==2 || b==2) && (a==3 || b==3) + const query5 = query( + 'collection', + andFilter( + orFilter(filter('a', '==', 2), filter('b', '==', 2)), + orFilter(filter('a', '==', 3), filter('b', '==', 3)) + ) + ); + assertQueryMatches(query5, [doc3], [doc1, doc2, doc4, doc5]); + }); + + function assertQueryMatches( + query: Query, + matching: MutableDocument[], + nonMatching: MutableDocument[] + ): void { + for (const doc of matching) { + expect(queryMatches(query, doc)).to.be.true; + } + for (const doc of nonMatching) { + expect(queryMatches(query, doc)).to.be.false; + } + } + function assertImplicitOrderBy(query: Query, ...orderBys: OrderBy[]): void { expect(queryOrderBy(query)).to.deep.equal(orderBys); } diff --git a/packages/firestore/test/unit/local/index_manager.test.ts b/packages/firestore/test/unit/local/index_manager.test.ts index dc8c7225901..1d96ca90e84 100644 --- a/packages/firestore/test/unit/local/index_manager.test.ts +++ b/packages/firestore/test/unit/local/index_manager.test.ts @@ -18,6 +18,7 @@ import { expect } from 'chai'; import { User } from '../../../src/auth/user'; +import { FieldFilter } from '../../../src/core/filter'; import { LimitType, newQueryForCollectionGroup, @@ -29,7 +30,6 @@ import { queryWithLimit, queryWithStartAt } from '../../../src/core/query'; -import { FieldFilter } from '../../../src/core/target'; import { IndexType } from '../../../src/local/index_manager'; import { IndexedDbPersistence } from '../../../src/local/indexeddb_persistence'; import { Persistence } from '../../../src/local/persistence'; @@ -636,6 +636,20 @@ describe('IndexedDbIndexManager', async () => { .be.null; }); + it('handles when no matching filter exists', async () => { + await setUpSingleValueFilter(); + const q = queryWithAddedFilter( + query('coll'), + filter('unknown', '==', true) + ); + + expect(await indexManager.getIndexType(queryToTarget(q))).to.equal( + IndexType.NONE + ); + expect(await indexManager.getDocumentsMatchingTarget(queryToTarget(q))).to + .be.null; + }); + it('returns empty results when no matching documents exists', async () => { await setUpSingleValueFilter(); const q = queryWithAddedFilter(query('coll'), filter('count', '==', -1)); @@ -755,6 +769,19 @@ describe('IndexedDbIndexManager', async () => { await verifyResults(q, 'coll/val2', 'coll/val1b', 'coll/val1a'); }); + it('supports order by filter', async () => { + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['count', IndexKind.ASCENDING]] }) + ); + + await addDoc('coll/val1a', { 'count': 1 }); + await addDoc('coll/val1b', { 'count': 1 }); + await addDoc('coll/val2', { 'count': 2 }); + + const q = queryWithAddedOrderBy(query('coll'), orderBy('count')); + await verifyResults(q, 'coll/val1a', 'coll/val1b', 'coll/val2'); + }); + it('supports ascending order with greater than filter', async () => { await setUpMultipleOrderBys(); diff --git a/packages/firestore/test/unit/local/indexeddb_persistence.test.ts b/packages/firestore/test/unit/local/indexeddb_persistence.test.ts index 674e893fabe..991b149cfc7 100644 --- a/packages/firestore/test/unit/local/indexeddb_persistence.test.ts +++ b/packages/firestore/test/unit/local/indexeddb_persistence.test.ts @@ -1310,8 +1310,8 @@ describe('IndexedDb: canActAsPrimary', () => { after(() => SimpleDb.delete(INDEXEDDB_TEST_DATABASE_NAME)); - const visible: VisibilityState = 'visible'; - const hidden: VisibilityState = 'hidden'; + const visible: DocumentVisibilityState = 'visible'; + const hidden: DocumentVisibilityState = 'hidden'; const networkEnabled = true; const networkDisabled = false; const primary = true; @@ -1319,9 +1319,9 @@ describe('IndexedDb: canActAsPrimary', () => { type ExpectedPrimaryStateTestCase = [ boolean, - VisibilityState, + DocumentVisibilityState, boolean, - VisibilityState, + DocumentVisibilityState, boolean ]; diff --git a/packages/firestore/test/unit/local/query_engine.test.ts b/packages/firestore/test/unit/local/query_engine.test.ts index 44f22e8b234..0762bad2a42 100644 --- a/packages/firestore/test/unit/local/query_engine.test.ts +++ b/packages/firestore/test/unit/local/query_engine.test.ts @@ -41,8 +41,8 @@ import { TargetCache } from '../../../src/local/target_cache'; import { documentKeySet, DocumentMap, - newMutationMap, - documentMap + documentMap, + newMutationMap } from '../../../src/model/collections'; import { Document, MutableDocument } from '../../../src/model/document'; import { DocumentKey } from '../../../src/model/document_key'; @@ -56,14 +56,16 @@ import { import { Mutation } from '../../../src/model/mutation'; import { debugAssert } from '../../../src/util/assert'; import { + andFilter, deleteMutation, doc, + fieldIndex, filter, key, orderBy, - query, - fieldIndex, + orFilter, patchMutation, + query, setMutation, version } from '../../util/helpers'; @@ -107,9 +109,11 @@ class TestLocalDocumentsView extends LocalDocumentsView { } describe('MemoryQueryEngine', async () => { + /* not durable and without client side indexing */ genericQueryEngineTest( - /* durable= */ false, - persistenceHelpers.testMemoryEagerPersistence + false, + persistenceHelpers.testMemoryEagerPersistence, + false ); }); @@ -124,7 +128,11 @@ describe('IndexedDbQueryEngine', async () => { persistencePromise = persistenceHelpers.testIndexedDbPersistence(); }); - genericQueryEngineTest(/* durable= */ true, () => persistencePromise); + /* durable but without client side indexing */ + genericQueryEngineTest(true, () => persistencePromise, false); + + /* durable and with client side indexing */ + genericQueryEngineTest(true, () => persistencePromise, true); }); /** @@ -134,10 +142,13 @@ describe('IndexedDbQueryEngine', async () => { * @param durable Whether the provided persistence is backed by IndexedDB * @param persistencePromise A factory function that returns an initialized * persistence layer. + * @param configureCsi Whether tests should configure client side indexing + * or use full table scans. */ function genericQueryEngineTest( durable: boolean, - persistencePromise: () => Promise + persistencePromise: () => Promise, + configureCsi: boolean ): void { let persistence!: Persistence; let remoteDocumentCache!: RemoteDocumentCache; @@ -279,343 +290,1125 @@ function genericQueryEngineTest( } }); - it('uses target mapping for initial view', async () => { - const query1 = query('coll', filter('matches', '==', true)); - - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - - verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); - }); - - it('filters non-matching changes since initial results', async () => { - const query1 = query('coll', filter('matches', '==', true)); - - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - - // Add a mutation that is not yet part of query's set of remote keys. - await addMutation(patchMutation('coll/a', { 'matches': false })); - - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - - verifyResult(docs, [MATCHING_DOC_B]); - }); - - it('includes changes since initial results', async () => { - const query1 = query('coll', filter('matches', '==', true)); - - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + // Tests in this section do not support client side indexing + if (!configureCsi) { + it('uses target mapping for initial view', async () => { + const query1 = query('coll', filter('matches', '==', true)); - let docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - // Add a mutated document that is not yet part of query's set of remote keys. - await addDocument(UPDATED_MATCHING_DOC_B); + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A, UPDATED_MATCHING_DOC_B]); - }); - - it('does not use initial results without limbo free snapshot version', async () => { - const query1 = query('coll', filter('matches', '==', true)); - - const docs = await expectFullCollectionQuery(() => - runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, []); - }); + verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); + }); - it('does not use initial results for unfiltered collection query', async () => { - const query1 = query('coll'); + it('filters non-matching changes since initial results', async () => { + const query1 = query('coll', filter('matches', '==', true)); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, []); - }); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - it('does not use initial results for limit query with document removal', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true)), - 1, - LimitType.First - ); + // Add a mutation that is not yet part of query's set of remote keys. + await addMutation(patchMutation('coll/a', { 'matches': false })); - // While the backend would never add DocA to the set of remote keys, this - // allows us to easily simulate what would happen when a document no longer - // matches due to an out-of-band update. - await addDocument(NON_MATCHING_DOC_A); - await persistQueryMapping(NON_MATCHING_DOC_A.key); + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - await addDocument(MATCHING_DOC_B); + verifyResult(docs, [MATCHING_DOC_B]); + }); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + it('includes changes since initial results', async () => { + const query1 = query('coll', filter('matches', '==', true)); - verifyResult(docs, [MATCHING_DOC_B]); - }); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); - it('does not use initial results for limitToLast query with document removal', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.Last - ); + let docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A, MATCHING_DOC_B]); - // While the backend would never add DocA to the set of remote keys, this - // allows us to easily simulate what would happen when a document no longer - // matches due to an out-of-band update. - await addDocument(NON_MATCHING_DOC_A); - await persistQueryMapping(NON_MATCHING_DOC_A.key); + // Add a mutated document that is not yet part of query's set of remote keys. + await addDocument(UPDATED_MATCHING_DOC_B); - await addDocument(MATCHING_DOC_B); + docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A, UPDATED_MATCHING_DOC_B]); + }); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); + it('does not use initial results without limbo free snapshot version', async () => { + const query1 = query('coll', filter('matches', '==', true)); - verifyResult(docs, [MATCHING_DOC_B]); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, []); + }); - it('does not use initial results for limit query when last document has pending write', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.First - ); + it('does not use initial results for unfiltered collection query', async () => { + const query1 = query('coll'); - // Add a query mapping for a document that matches, but that sorts below - // another document due to a pending write. - await addDocument(MATCHING_DOC_A); - await addMutation(patchMutation('coll/a', { order: 1 })); - await persistQueryMapping(MATCHING_DOC_A.key); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, []); + }); - await addDocument(MATCHING_DOC_B); + it('does not use initial results for limit query with document removal', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true)), + 1, + LimitType.First + ); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + // While the backend would never add DocA to the set of remote keys, this + // allows us to easily simulate what would happen when a document no longer + // matches due to an out-of-band update. + await addDocument(NON_MATCHING_DOC_A); + await persistQueryMapping(NON_MATCHING_DOC_A.key); - it('does not use initial results for limitToLast query when first document has pending write', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order')), - 1, - LimitType.Last - ); - // Add a query mapping for a document that matches, but that sorts below - // another document due to a pending write. - await addDocument(MATCHING_DOC_A); - await addMutation(patchMutation('coll/a', { order: 2 })); - await persistQueryMapping(MATCHING_DOC_A.key); + await addDocument(MATCHING_DOC_B); - await addDocument(MATCHING_DOC_B); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('does not use initial results for limit query when last document has been updated out of band', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order', 'desc')), - 1, - LimitType.First - ); + it('does not use initial results for limitToLast query with document removal', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.Last + ); - // Add a query mapping for a document that matches, but that sorts below - // another document based on an update that the SDK received after the - // query's snapshot was persisted. - await addDocument(UPDATED_DOC_A); - await persistQueryMapping(UPDATED_DOC_A.key); + // While the backend would never add DocA to the set of remote keys, this + // allows us to easily simulate what would happen when a document no longer + // matches due to an out-of-band update. + await addDocument(NON_MATCHING_DOC_A); + await persistQueryMapping(NON_MATCHING_DOC_A.key); - await addDocument(MATCHING_DOC_B); + await addDocument(MATCHING_DOC_B); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); - it('does not use initial results for limitToLast query when first document in limit has been updated out of band', async () => { - const query1 = queryWithLimit( - query('coll', filter('matches', '==', true), orderBy('order')), - 1, - LimitType.Last - ); - // Add a query mapping for a document that matches, but that sorts below - // another document based on an update that the SDK received after the - // query's snapshot was persisted. - await addDocument(UPDATED_DOC_A); - await persistQueryMapping(UPDATED_DOC_A.key); + verifyResult(docs, [MATCHING_DOC_B]); + }); - await addDocument(MATCHING_DOC_B); + it('does not use initial results for limit query when last document has pending write', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.First + ); + + // Add a query mapping for a document that matches, but that sorts below + // another document due to a pending write. + await addDocument(MATCHING_DOC_A); + await addMutation(patchMutation('coll/a', { order: 1 })); + await persistQueryMapping(MATCHING_DOC_A.key); + + await addDocument(MATCHING_DOC_B); + + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_B]); - }); + it('does not use initial results for limitToLast query when first document has pending write', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order')), + 1, + LimitType.Last + ); + // Add a query mapping for a document that matches, but that sorts below + // another document due to a pending write. + await addDocument(MATCHING_DOC_A); + await addMutation(patchMutation('coll/a', { order: 2 })); + await persistQueryMapping(MATCHING_DOC_A.key); + + await addDocument(MATCHING_DOC_B); + + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - it('uses initial results if last document in limit is unchanged', async () => { - const query1 = queryWithLimit( - query('coll', orderBy('order')), - 2, - LimitType.First - ); + it('does not use initial results for limit query when last document has been updated out of band', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order', 'desc')), + 1, + LimitType.First + ); + + // Add a query mapping for a document that matches, but that sorts below + // another document based on an update that the SDK received after the + // query's snapshot was persisted. + await addDocument(UPDATED_DOC_A); + await persistQueryMapping(UPDATED_DOC_A.key); + + await addDocument(MATCHING_DOC_B); + + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - await addDocument(doc('coll/a', 1, { order: 1 })); - await addDocument(doc('coll/b', 1, { order: 3 })); - await persistQueryMapping(key('coll/a'), key('coll/b')); + it('does not use initial results for limitToLast query when first document in limit has been updated out of band', async () => { + const query1 = queryWithLimit( + query('coll', filter('matches', '==', true), orderBy('order')), + 1, + LimitType.Last + ); + // Add a query mapping for a document that matches, but that sorts below + // another document based on an update that the SDK received after the + // query's snapshot was persisted. + await addDocument(UPDATED_DOC_A); + await persistQueryMapping(UPDATED_DOC_A.key); + + await addDocument(MATCHING_DOC_B); + + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_B]); + }); - // Update "coll/a" but make sure it still sorts before "coll/b" - await addMutation(patchMutation('coll/a', { order: 2 })); + it('uses initial results if last document in limit is unchanged', async () => { + const query1 = queryWithLimit( + query('coll', orderBy('order')), + 2, + LimitType.First + ); + + await addDocument(doc('coll/a', 1, { order: 1 })); + await addDocument(doc('coll/b', 1, { order: 3 })); + await persistQueryMapping(key('coll/a'), key('coll/b')); + + // Update "coll/a" but make sure it still sorts before "coll/b" + await addMutation(patchMutation('coll/a', { order: 2 })); + + // Since the last document in the limit didn't change (and hence we know + // that all documents written prior to query execution still sort after + // "coll/b"), we should use an Index-Free query. + const docs = await expectOptimizedCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [ + doc('coll/a', 1, { order: 2 }).setHasLocalMutations(), + doc('coll/b', 1, { order: 3 }) + ]); + }); - // Since the last document in the limit didn't change (and hence we know - // that all documents written prior to query execution still sort after - // "coll/b"), we should use an Index-Free query. - const docs = await expectOptimizedCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [ - doc('coll/a', 1, { order: 2 }).setHasLocalMutations(), - doc('coll/b', 1, { order: 3 }) - ]); - }); + it('does not include documents deleted by mutation', async () => { + const query1 = query('coll'); + await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); + await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + + // Add an unacknowledged mutation + await addMutation(deleteMutation('coll/b')); + const docs = await expectFullCollectionQuery(() => + runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(docs, [MATCHING_DOC_A]); + }); - it('does not include documents deleted by mutation', async () => { - const query1 = query('coll'); - await addDocument(MATCHING_DOC_A, MATCHING_DOC_B); - await persistQueryMapping(MATCHING_DOC_A.key, MATCHING_DOC_B.key); + it('can perform OR queries using full collection scan', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'a': 2, 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1, 'b': 1 }); + + await addDocument(doc1, doc2, doc3, doc4, doc5); + + // Two equalities: a==1 || b==1. + const query1 = query( + 'coll', + orFilter(filter('a', '==', 1), filter('b', '==', 1)) + ); + const result1 = await expectFullCollectionQuery(() => + runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result1, [doc1, doc2, doc4, doc5]); + + // with one inequality: a>2 || b==1. + const query2 = query( + 'coll', + orFilter(filter('a', '>', 2), filter('b', '==', 1)) + ); + const result2 = await expectFullCollectionQuery(() => + runQuery(query2, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result2, [doc2, doc3, doc5]); + + // (a==1 && b==0) || (a==3 && b==2) + const query3 = query( + 'coll', + orFilter( + andFilter(filter('a', '==', 1), filter('b', '==', 0)), + andFilter(filter('a', '==', 3), filter('b', '==', 2)) + ) + ); + const result3 = await expectFullCollectionQuery(() => + runQuery(query3, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result3, [doc1, doc3]); + + // a==1 && (b==0 || b==3) + const query4 = query( + 'coll', + andFilter( + filter('a', '==', 1), + orFilter(filter('b', '==', 0), filter('b', '==', 3)) + ) + ); + const result4 = await expectFullCollectionQuery(() => + runQuery(query4, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result4, [doc1, doc4]); + + // (a==2 || b==2) && (a==3 || b==3) + const query5 = query( + 'coll', + andFilter( + orFilter(filter('a', '==', 2), filter('b', '==', 2)), + orFilter(filter('a', '==', 3), filter('b', '==', 3)) + ) + ); + const result5 = await expectFullCollectionQuery(() => + runQuery(query5, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result5, [doc3]); + + // Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2 + const query6 = queryWithLimit( + query('coll', orFilter(filter('a', '==', 1), filter('b', '>', 0))), + 2, + LimitType.First + ); + const result6 = await expectFullCollectionQuery(() => + runQuery(query6, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result6, [doc1, doc2]); + + // Test with limits (implicit order by DESC): (a==1) || (b > 0) LIMIT_TO_LAST 2 + const query7 = queryWithLimit( + query('coll', orFilter(filter('a', '==', 1), filter('b', '>', 0))), + 2, + LimitType.Last + ); + const result7 = await expectFullCollectionQuery(() => + runQuery(query7, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result7, [doc3, doc4]); + + // Test with limits (explicit order by ASC): (a==2) || (b == 1) ORDER BY a LIMIT 1 + const query8 = queryWithAddedOrderBy( + queryWithLimit( + query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), + 1, + LimitType.First + ), + orderBy('a', 'asc') + ); + const result8 = await expectFullCollectionQuery(() => + runQuery(query8, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result8, [doc5]); + + // Test with limits (explicit order by DESC): (a==2) || (b == 1) ORDER BY a LIMIT_TO_LAST 1 + const query9 = queryWithAddedOrderBy( + queryWithLimit( + query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), + 1, + LimitType.Last + ), + orderBy('a', 'desc') + ); + const result9 = await expectFullCollectionQuery(() => + runQuery(query9, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result9, [doc5]); + + // Test with limits without orderBy (the __name__ ordering is the tie breaker). + const query10 = queryWithLimit( + query('coll', orFilter(filter('a', '==', 2), filter('b', '==', 1))), + 1, + LimitType.First + ); + const result10 = await expectFullCollectionQuery(() => + runQuery(query10, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result10, [doc2]); + }); - // Add an unacknowledged mutation - await addMutation(deleteMutation('coll/b')); - const docs = await expectFullCollectionQuery(() => - runQuery(query1, LAST_LIMBO_FREE_SNAPSHOT) - ); - verifyResult(docs, [MATCHING_DOC_A]); - }); + it('query does not include documents with missing fields', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + // Query: a==1 || b==1 order by a. + // doc2 should not be included because it's missing the field 'a', and we have "orderBy a". + const query1 = query( + 'coll', + orFilter(filter('a', '==', 1), filter('b', '==', 1)), + orderBy('a', 'asc') + ); + const result1 = await expectFullCollectionQuery(() => + runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result1, [doc1, doc4, doc5]); + + // Query: a==1 || b==1 order by b. + // doc5 should not be included because it's missing the field 'b', and we have "orderBy b". + const query2 = query( + 'coll', + orFilter(filter('a', '==', 1), filter('b', '==', 1)), + orderBy('b', 'asc') + ); + const result2 = await expectFullCollectionQuery(() => + runQuery(query2, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result2, [doc1, doc2, doc4]); + + // Query: a>2 || b==1. + // This query has an implicit 'order by a'. + // doc2 should not be included because it's missing the field 'a'. + const query3 = query( + 'coll', + orFilter(filter('a', '>', 2), filter('b', '==', 1)) + ); + const result3 = await expectFullCollectionQuery(() => + runQuery(query3, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result3, [doc3]); + + // Query: a>1 || b==1 order by a order by b. + // doc6 should not be included because it's missing the field 'b'. + // doc2 should not be included because it's missing the field 'a'. + const query4 = query( + 'coll', + orFilter(filter('a', '>', 1), filter('b', '==', 1)), + orderBy('a', 'asc'), + orderBy('b', 'asc') + ); + const result4 = await expectFullCollectionQuery(() => + runQuery(query4, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result4, [doc3]); + + // Query: a==1 || b==1 + // There's no explicit nor implicit orderBy. Documents with missing 'a' or missing 'b' should be + // allowed if the document matches at least one disjunction term. + const query5 = query( + 'coll', + orFilter(filter('a', '==', 1), filter('b', '==', 1)) + ); + const result5 = await expectFullCollectionQuery(() => + runQuery(query5, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result5, [doc1, doc2, doc4, doc5]); + }); - if (!durable) { - return; - } + // Tests in this section require client side indexing + if (configureCsi) { + it('combines indexed with non-indexed results', async () => { + debugAssert(configureCsi, 'Test requires durable persistence'); + + const doc1 = doc('coll/a', 1, { 'foo': true }); + const doc2 = doc('coll/b', 2, { 'foo': true }); + const doc3 = doc('coll/c', 3, { 'foo': true }); + const doc4 = doc('coll/d', 3, { 'foo': true }).setHasLocalMutations(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['foo', IndexKind.ASCENDING]] }) + ); + + await addDocument(doc1); + await addDocument(doc2); + await indexManager.updateIndexEntries(documentMap(doc1, doc2)); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc2) + ); + + await addDocument(doc3); + await addMutation(setMutation('coll/d', { 'foo': true })); + + const queryWithFilter = queryWithAddedFilter( + query('coll'), + filter('foo', '==', true) + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(queryWithFilter, SnapshotVersion.min()) + ); + + verifyResult(results, [doc1, doc2, doc3, doc4]); + }); + + it('uses partial index for limit queries', async () => { + debugAssert(configureCsi, 'Test requires durable persistence'); + + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'a': 1, 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 1, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 2, 'b': 3 }); + await addDocument(doc1, doc2, doc3, doc4, doc5); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc5) + ); + + const q = queryWithLimit( + queryWithAddedFilter( + queryWithAddedFilter(query('coll'), filter('a', '==', 1)), + filter('b', '==', 1) + ), + 3, + LimitType.First + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(q, SnapshotVersion.min()) + ); + + verifyResult(results, [doc2]); + }); + + it('re-fills indexed limit queries', async () => { + debugAssert(configureCsi, 'Test requires durable persistence'); + + const doc1 = doc('coll/1', 1, { 'a': 1 }); + const doc2 = doc('coll/2', 1, { 'a': 2 }); + const doc3 = doc('coll/3', 1, { 'a': 3 }); + const doc4 = doc('coll/4', 1, { 'a': 4 }); + await addDocument(doc1, doc2, doc3, doc4); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc4) + ); + + await addMutation(patchMutation('coll/3', { 'a': 5 })); + + const q = queryWithLimit( + queryWithAddedOrderBy(query('coll'), orderBy('a')), + 3, + LimitType.First + ); + const results = await expectOptimizedCollectionQuery(() => + runQuery(q, SnapshotVersion.min()) + ); + + verifyResult(results, [doc1, doc2, doc4]); + }); + } - it('combines indexed with non-indexed results', async () => { - debugAssert(durable, 'Test requires durable persistence'); + // Tests below this line execute with and without client side indexing + it('query with multiple ins on the same field', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - const doc1 = doc('coll/a', 1, { 'foo': true }); - const doc2 = doc('coll/b', 2, { 'foo': true }); - const doc3 = doc('coll/c', 3, { 'foo': true }); - const doc4 = doc('coll/d', 3, { 'foo': true }).setHasLocalMutations(); + // a IN [1,2,3] && a IN [0,1,4] should result in "a==1". + const query1 = query( + 'coll', + andFilter(filter('a', 'in', [1, 2, 3]), filter('a', 'in', [0, 1, 4])) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc1, doc4, doc5]); + + // a IN [2,3] && a IN [0,1,4] is never true and so the result should be an empty set. + const query2 = query( + 'coll', + andFilter(filter('a', 'in', [2, 3]), filter('a', 'in', [0, 1, 4])) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, []); + + // a IN [0,3] || a IN [0,2] should union them (similar to: a IN [0,2,3]). + const query3 = query( + 'coll', + orFilter(filter('a', 'in', [0, 3]), filter('a', 'in', [0, 2])) + ); + const result3 = await expectFunction(() => + runQuery(query3, lastLimboFreeSnapshot) + ); + verifyResult(result3, [doc3, doc6]); + + // Nested composite filter: (a IN [0,1,2,3] && (a IN [0,2] || (b>1 && a IN [1,3])) + const query4 = query( + 'coll', + andFilter( + filter('a', 'in', [1, 2, 3]), + orFilter( + filter('a', 'in', [0, 2]), + andFilter(filter('b', '>=', 1), filter('a', 'in', [1, 3])) + ) + ) + ); + const result4 = await expectFunction(() => + runQuery(query4, lastLimboFreeSnapshot) + ); + verifyResult(result4, [doc3, doc4]); + }); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['foo', IndexKind.ASCENDING]] }) - ); + it('query with ins and not-ins on the same field', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - await addDocument(doc1); - await addDocument(doc2); - await indexManager.updateIndexEntries(documentMap(doc1, doc2)); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc2) - ); + // a IN [1,2,3] && a IN [0,1,3,4] && a NOT-IN [1] should result in + // "a==1 && a!=1 || a==3 && a!=1" or just "a == 3" + const query1 = query( + 'coll', + andFilter( + filter('a', 'in', [1, 2, 3]), + filter('a', 'in', [0, 1, 3, 4]), + filter('a', 'not-in', [1]) + ) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc3]); + + // a IN [2,3] && a IN [0,1,2,4] && a NOT-IN [1,2] is never true and so the + // result should be an empty set. + const query2 = query( + 'coll', + andFilter( + filter('a', 'in', [2, 3]), + filter('a', 'in', [0, 1, 2, 4]), + filter('a', 'not-in', [1, 2]) + ) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, []); + + // a IN [] || a NOT-IN [0,1,2] should union them (similar to: a NOT-IN [0,1,2]). + const query3 = query( + 'coll', + orFilter(filter('a', 'in', []), filter('a', 'not-in', [0, 1, 2])) + ); + const result3 = await expectFunction(() => + runQuery(query3, lastLimboFreeSnapshot) + ); + verifyResult(result3, [doc3]); + + const query4 = query( + 'coll', + andFilter( + filter('a', '<=', 1), + filter('a', 'in', [1, 2, 3, 4]), + filter('a', 'not-in', [0, 2]) + ) + ); + const result4 = await expectFunction(() => + runQuery(query4, lastLimboFreeSnapshot) + ); + verifyResult(result4, [doc1, doc4, doc5]); + }); - await addDocument(doc3); - await addMutation(setMutation('coll/d', { 'foo': true })); + it('query with multiple ins on different fields', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - const queryWithFilter = queryWithAddedFilter( - query('coll'), - filter('foo', '==', true) - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(queryWithFilter, SnapshotVersion.min()) - ); + const query1 = query( + 'coll', + orFilter(filter('a', 'in', [2, 3]), filter('b', 'in', [0, 2])) + ); + const result1 = await expectFunction(() => + runQuery(query1, MISSING_LAST_LIMBO_FREE_SNAPSHOT) + ); + verifyResult(result1, [doc1, doc3, doc6]); + + const query2 = query( + 'coll', + andFilter(filter('a', 'in', [2, 3]), filter('b', 'in', [0, 2])) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc3]); + + // Nested composite filter: (a IN [0,1,2,3] && (a IN [0,2] || (b>1 && a IN [1,3])) + const query3 = query( + 'coll', + andFilter( + filter('b', 'in', [0, 3]), + orFilter( + filter('b', 'in', [1]), + andFilter(filter('b', 'in', [2, 3]), filter('a', 'in', [1, 3])) + ) + ) + ); + const result3 = await expectFunction(() => + runQuery(query3, lastLimboFreeSnapshot) + ); + verifyResult(result3, [doc4]); + }); - verifyResult(results, [doc1, doc2, doc3, doc4]); - }); + it('query in with array-contains-any', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); + const doc2 = doc('coll/2', 1, { 'b': [1] }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - it('uses partial index for limit queries', async () => { - debugAssert(durable, 'Test requires durable persistence'); + const query1 = query( + 'coll', + orFilter( + filter('a', 'in', [2, 3]), + filter('b', 'array-contains-any', [0, 7]) + ) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc1, doc3, doc4, doc6]); + + const query2 = query( + 'coll', + andFilter( + filter('a', 'in', [2, 3]), + filter('b', 'array-contains-any', [0, 7]) + ) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc3]); + + const query3 = query( + 'coll', + orFilter( + andFilter(filter('a', 'in', [2, 3]), filter('c', '==', 10)), + filter('b', 'array-contains-any', [0, 7]) + ) + ); + const result3 = await expectFunction(() => + runQuery(query3, lastLimboFreeSnapshot) + ); + verifyResult(result3, [doc1, doc3, doc4]); + + const query4 = query( + 'coll', + andFilter( + filter('a', 'in', [2, 3]), + orFilter( + filter('b', 'array-contains-any', [0, 7]), + filter('c', '==', 20) + ) + ) + ); + const result4 = await expectFunction(() => + runQuery(query4, lastLimboFreeSnapshot) + ); + verifyResult(result4, [doc3, doc6]); + }); - const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); - const doc2 = doc('coll/2', 1, { 'a': 1, 'b': 1 }); - const doc3 = doc('coll/3', 1, { 'a': 1, 'b': 2 }); - const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); - const doc5 = doc('coll/5', 1, { 'a': 2, 'b': 3 }); - await addDocument(doc1, doc2, doc3, doc4, doc5); + it('query in with array-contains', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); + const doc2 = doc('coll/2', 1, { 'b': [1] }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) + ); + + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.updateIndexEntries( - documentMap(doc1, doc2, doc3, doc4, doc5) - ); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc5) - ); + const query1 = query( + 'coll', + orFilter(filter('a', 'in', [2, 3]), filter('b', 'array-contains', 3)) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc3, doc4, doc6]); + + const query2 = query( + 'coll', + andFilter(filter('a', 'in', [2, 3]), filter('b', 'array-contains', 7)) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc3]); + + const query3 = query( + 'coll', + orFilter( + filter('a', 'in', [2, 3]), + andFilter(filter('b', 'array-contains', 3), filter('a', '==', 1)) + ) + ); + const result3 = await expectFunction(() => + runQuery(query3, lastLimboFreeSnapshot) + ); + verifyResult(result3, [doc3, doc4, doc6]); + + const query4 = query( + 'coll', + andFilter( + filter('a', 'in', [2, 3]), + orFilter(filter('b', 'array-contains', 7), filter('a', '==', 1)) + ) + ); + const result4 = await expectFunction(() => + runQuery(query4, lastLimboFreeSnapshot) + ); + verifyResult(result4, [doc3]); + }); - const q = queryWithLimit( - queryWithAddedFilter( - queryWithAddedFilter(query('coll'), filter('a', '==', 1)), - filter('b', '==', 1) - ), - 3, - LimitType.First - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(q, SnapshotVersion.min()) - ); + it('order by equality', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); + const doc2 = doc('coll/2', 1, { 'b': [1] }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7], 'c': 10 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2, 'c': 20 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) + ); + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - verifyResult(results, [doc2]); - }); + const query1 = query('coll', filter('a', '==', 1), orderBy('a')); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc1, doc4, doc5]); - it('re-fills indexed limit queries', async () => { - debugAssert(durable, 'Test requires durable persistence'); + const query2 = query('coll', filter('a', 'in', [2, 3]), orderBy('a')); - const doc1 = doc('coll/1', 1, { 'a': 1 }); - const doc2 = doc('coll/2', 1, { 'a': 2 }); - const doc3 = doc('coll/3', 1, { 'a': 3 }); - const doc4 = doc('coll/4', 1, { 'a': 4 }); - await addDocument(doc1, doc2, doc3, doc4); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc6, doc3]); + }); - await indexManager.addFieldIndex( - fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) - ); - await indexManager.updateIndexEntries(documentMap(doc1, doc2, doc3, doc4)); - await indexManager.updateCollectionGroup( - 'coll', - newIndexOffsetFromDocument(doc4) - ); + it('or query with in and not-in', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': 0 }); + const doc2 = doc('coll/2', 1, { 'b': 1 }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': 2 }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': 3 }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.DESCENDING]] }) + ); + + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - await addMutation(patchMutation('coll/3', { 'a': 5 })); + const query1 = query( + 'coll', + orFilter(filter('a', '==', 2), filter('b', 'in', [2, 3])) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc3, doc4, doc6]); + + // a==2 || (b != 2 && b != 3) + // Has implicit "orderBy b" + const query2 = query( + 'coll', + orFilter(filter('a', '==', 2), filter('b', 'not-in', [2, 3])) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc1, doc2]); + }); - const q = queryWithLimit( - queryWithAddedOrderBy(query('coll'), orderBy('a')), - 3, - LimitType.First - ); - const results = await expectOptimizedCollectionQuery(() => - runQuery(q, SnapshotVersion.min()) - ); + it('query with array membership', async () => { + const doc1 = doc('coll/1', 1, { 'a': 1, 'b': [0] }); + const doc2 = doc('coll/2', 1, { 'b': [1] }); + const doc3 = doc('coll/3', 1, { 'a': 3, 'b': [2, 7] }); + const doc4 = doc('coll/4', 1, { 'a': 1, 'b': [3, 7] }); + const doc5 = doc('coll/5', 1, { 'a': 1 }); + const doc6 = doc('coll/6', 1, { 'a': 2 }); + await addDocument(doc1, doc2, doc3, doc4, doc5, doc6); + + let expectFunction = expectFullCollectionQuery; + let lastLimboFreeSnapshot = MISSING_LAST_LIMBO_FREE_SNAPSHOT; + + if (configureCsi) { + expectFunction = expectOptimizedCollectionQuery; + lastLimboFreeSnapshot = SnapshotVersion.min(); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.ASCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['a', IndexKind.DESCENDING]] }) + ); + await indexManager.addFieldIndex( + fieldIndex('coll', { fields: [['b', IndexKind.CONTAINS]] }) + ); + + await indexManager.updateIndexEntries( + documentMap(doc1, doc2, doc3, doc4, doc5, doc6) + ); + await indexManager.updateCollectionGroup( + 'coll', + newIndexOffsetFromDocument(doc6) + ); + } - verifyResult(results, [doc1, doc2, doc4]); - }); + const query1 = query( + 'coll', + orFilter(filter('a', '==', 2), filter('b', 'array-contains', 7)) + ); + const result1 = await expectFunction(() => + runQuery(query1, lastLimboFreeSnapshot) + ); + verifyResult(result1, [doc3, doc4, doc6]); + + const query2 = query( + 'coll', + orFilter( + filter('a', '==', 2), + filter('b', 'array-contains-any', [0, 3]) + ) + ); + const result2 = await expectFunction(() => + runQuery(query2, lastLimboFreeSnapshot) + ); + verifyResult(result2, [doc1, doc4, doc6]); + }); + } } function verifyResult(actualDocs: DocumentSet, expectedDocs: Document[]): void { diff --git a/packages/firestore/test/unit/model/target.test.ts b/packages/firestore/test/unit/model/target.test.ts index 624dc520660..bbeea5dec83 100644 --- a/packages/firestore/test/unit/model/target.test.ts +++ b/packages/firestore/test/unit/model/target.test.ts @@ -17,13 +17,13 @@ import { expect } from 'chai'; +import { Bound } from '../../../src/core/bound'; import { queryToTarget, queryWithEndAt, queryWithStartAt } from '../../../src/core/query'; import { - Bound, targetGetUpperBound, targetGetLowerBound, targetGetArrayValues diff --git a/packages/firestore/test/unit/remote/serializer.helper.ts b/packages/firestore/test/unit/remote/serializer.helper.ts index 7f9bb3a78b9..1c0a49edda9 100644 --- a/packages/firestore/test/unit/remote/serializer.helper.ts +++ b/packages/firestore/test/unit/remote/serializer.helper.ts @@ -30,29 +30,28 @@ import { } from '../../../src'; import { ExpUserDataWriter } from '../../../src/api/reference_impl'; import { DatabaseId } from '../../../src/core/database_info'; -import { - LimitType, - queryToTarget, - queryWithEndAt, - queryWithLimit, - queryWithStartAt -} from '../../../src/core/query'; -import { SnapshotVersion } from '../../../src/core/snapshot_version'; import { ArrayContainsAnyFilter, ArrayContainsFilter, - Direction, + CompositeFilter, FieldFilter, + Filter, filterEquals, InFilter, KeyFieldFilter, NotInFilter, - Operator, - OrderBy, - Target, - targetEquals, - TargetImpl -} from '../../../src/core/target'; + Operator +} from '../../../src/core/filter'; +import { Direction, OrderBy } from '../../../src/core/order_by'; +import { + LimitType, + queryToTarget, + queryWithEndAt, + queryWithLimit, + queryWithStartAt +} from '../../../src/core/query'; +import { SnapshotVersion } from '../../../src/core/snapshot_version'; +import { Target, targetEquals, TargetImpl } from '../../../src/core/target'; import { parseQueryValue } from '../../../src/lite-api/user_data_reader'; import { TargetData, TargetPurpose } from '../../../src/local/target_data'; import { FieldMask } from '../../../src/model/field_mask'; @@ -94,7 +93,9 @@ import { toQueryTarget, toTarget, toUnaryOrFieldFilter, - toVersion + toVersion, + fromCompositeFilter, + toCompositeFilter } from '../../../src/remote/serializer'; import { DocumentWatchChange, @@ -113,6 +114,8 @@ import { doc, field, filter, + andFilter, + orFilter, key, orderBy, patchMutation, @@ -129,6 +132,8 @@ const userDataWriter = new ExpUserDataWriter(firestore()); const protobufJsonReader = testUserDataReader(/* useProto3Json= */ true); const protoJsReader = testUserDataReader(/* useProto3Json= */ false); +const protoCompositeFilterOrOp: api.CompositeFilterOp = 'OR'; + /** * Runs the serializer test with an optional ProtobufJS verification step * (only provided in Node). @@ -810,7 +815,7 @@ export function serializerTest( expect(fromDocument(s, serialized, undefined).isEqual(d)).to.equal(true); }); - describe('to/from FieldFilter', () => { + describe('to/from UnaryOrieldFilter', () => { addEqualityMatcher({ equalsFn: filterEquals, forType: FieldFilter }); it('makes dotted-property names', () => { @@ -1082,6 +1087,174 @@ export function serializerTest( }); }); + describe('to/from CompositeFilter', () => { + addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); + + /* eslint-disable no-restricted-properties */ + it('converts deep collections', () => { + const input = orFilter( + filter('prop', '<', 42), + andFilter( + filter('author', '==', 'ehsann'), + filter('tags', 'array-contains', 'pending'), + orFilter(filter('version', '==', 4), filter('version', '==', NaN)) + ) + ); + + // Encode + const actual = toCompositeFilter(input); + + const propProtoFilter = { + fieldFilter: { + field: { fieldPath: 'prop' }, + op: 'LESS_THAN', + value: { integerValue: '42' } + } + }; + + const authorProtoFilter = { + fieldFilter: { + field: { fieldPath: 'author' }, + op: 'EQUAL', + value: { stringValue: 'ehsann' } + } + }; + + const tagsProtoFilter = { + fieldFilter: { + field: { fieldPath: 'tags' }, + op: 'ARRAY_CONTAINS', + value: { stringValue: 'pending' } + } + }; + + const versionProtoFilter = { + fieldFilter: { + field: { fieldPath: 'version' }, + op: 'EQUAL', + value: { integerValue: '4' } + } + }; + + const nanVersionProtoFilter = { + unaryFilter: { + field: { fieldPath: 'version' }, + op: 'IS_NAN' + } + }; + + const innerOrProtoFilter = { + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [versionProtoFilter, nanVersionProtoFilter] + } + }; + + const innerAndProtoFilter = { + compositeFilter: { + op: 'AND', + filters: [authorProtoFilter, tagsProtoFilter, innerOrProtoFilter] + } + }; + + expect(actual).to.deep.equal({ + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [propProtoFilter, innerAndProtoFilter] + } + }); + + // Decode + const roundtripped = fromCompositeFilter(actual); + expect(roundtripped).to.deep.equal(input); + expect(roundtripped).to.be.instanceof(CompositeFilter); + }); + }); + + describe('to/from CompositeFilter', () => { + addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); + + /* eslint-disable no-restricted-properties */ + it('converts deep collections', () => { + const input = orFilter( + filter('prop', '<', 42), + andFilter( + filter('author', '==', 'ehsann'), + filter('tags', 'array-contains', 'pending'), + orFilter(filter('version', '==', 4), filter('version', '==', NaN)) + ) + ); + + // Encode + const actual = toCompositeFilter(input); + + const propProtoFilter = { + fieldFilter: { + field: { fieldPath: 'prop' }, + op: 'LESS_THAN', + value: { integerValue: '42' } + } + }; + + const authorProtoFilter = { + fieldFilter: { + field: { fieldPath: 'author' }, + op: 'EQUAL', + value: { stringValue: 'ehsann' } + } + }; + + const tagsProtoFilter = { + fieldFilter: { + field: { fieldPath: 'tags' }, + op: 'ARRAY_CONTAINS', + value: { stringValue: 'pending' } + } + }; + + const versionProtoFilter = { + fieldFilter: { + field: { fieldPath: 'version' }, + op: 'EQUAL', + value: { integerValue: '4' } + } + }; + + const nanVersionProtoFilter = { + unaryFilter: { + field: { fieldPath: 'version' }, + op: 'IS_NAN' + } + }; + + const innerOrProtoFilter = { + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [versionProtoFilter, nanVersionProtoFilter] + } + }; + + const innerAndProtoFilter = { + compositeFilter: { + op: 'AND', + filters: [authorProtoFilter, tagsProtoFilter, innerOrProtoFilter] + } + }; + + expect(actual).to.deep.equal({ + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [propProtoFilter, innerAndProtoFilter] + } + }); + + // Decode + const roundtripped = fromCompositeFilter(actual); + expect(roundtripped).to.deep.equal(input); + expect(roundtripped).to.be.instanceof(CompositeFilter); + }); + }); + it('encodes listen request labels', () => { const target = queryToTarget(query('collection/key')); let targetData = new TargetData(target, 2, TargetPurpose.Listen, 3); @@ -1305,6 +1478,178 @@ export function serializerTest( expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); }); + it('converts multi-layer composite filters with OR at the first layer', () => { + const q = queryToTarget( + query( + 'docs', + orFilter( + filter('prop', '<', 42), + filter('name', '==', 'dimond'), + andFilter( + filter('nan', '==', NaN), + filter('null', '==', null), + filter('tags', 'array-contains', 'pending') + ) + ) + ) + ); + const result = toTarget(s, wrapTargetData(q)); + const expected = { + query: { + parent: 'projects/p/databases/d/documents', + structuredQuery: { + from: [{ collectionId: 'docs' }], + where: { + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [ + { + fieldFilter: { + field: { fieldPath: 'prop' }, + op: 'LESS_THAN', + value: { integerValue: '42' } + } + }, + { + fieldFilter: { + field: { fieldPath: 'name' }, + op: 'EQUAL', + value: { stringValue: 'dimond' } + } + }, + { + compositeFilter: { + op: 'AND', + filters: [ + { + unaryFilter: { + field: { fieldPath: 'nan' }, + op: 'IS_NAN' + } + }, + { + unaryFilter: { + field: { fieldPath: 'null' }, + op: 'IS_NULL' + } + }, + { + fieldFilter: { + field: { fieldPath: 'tags' }, + op: 'ARRAY_CONTAINS', + value: { stringValue: 'pending' } + } + } + ] + } + } + ] + } + }, + orderBy: [ + { + field: { fieldPath: 'prop' }, + direction: 'ASCENDING' + }, + { + field: { fieldPath: DOCUMENT_KEY_NAME }, + direction: 'ASCENDING' + } + ] + } + }, + targetId: 1 + }; + expect(result).to.deep.equal(expected); + expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); + }); + + it('converts multi-layer composite filters with AND at the first layer', () => { + const q = queryToTarget( + query( + 'docs', + andFilter( + filter('prop', '<', 42), + filter('name', '==', 'dimond'), + orFilter( + filter('nan', '==', NaN), + filter('null', '==', null), + filter('tags', 'array-contains', 'pending') + ) + ) + ) + ); + const result = toTarget(s, wrapTargetData(q)); + const expected = { + query: { + parent: 'projects/p/databases/d/documents', + structuredQuery: { + from: [{ collectionId: 'docs' }], + where: { + compositeFilter: { + op: 'AND', + filters: [ + { + fieldFilter: { + field: { fieldPath: 'prop' }, + op: 'LESS_THAN', + value: { integerValue: '42' } + } + }, + { + fieldFilter: { + field: { fieldPath: 'name' }, + op: 'EQUAL', + value: { stringValue: 'dimond' } + } + }, + { + compositeFilter: { + op: protoCompositeFilterOrOp, + filters: [ + { + unaryFilter: { + field: { fieldPath: 'nan' }, + op: 'IS_NAN' + } + }, + { + unaryFilter: { + field: { fieldPath: 'null' }, + op: 'IS_NULL' + } + }, + { + fieldFilter: { + field: { fieldPath: 'tags' }, + op: 'ARRAY_CONTAINS', + value: { stringValue: 'pending' } + } + } + ] + } + } + ] + } + }, + orderBy: [ + { + field: { fieldPath: 'prop' }, + direction: 'ASCENDING' + }, + { + field: { fieldPath: DOCUMENT_KEY_NAME }, + direction: 'ASCENDING' + } + ] + } + }, + targetId: 1 + }; + expect(result).to.deep.equal(expected); + expect(fromQueryTarget(toQueryTarget(s, q))).to.deep.equal(q); + }); + it('converts order bys', () => { const q = queryToTarget(query('docs', orderBy('prop', 'asc'))); const result = toTarget(s, wrapTargetData(q)); diff --git a/packages/firestore/test/unit/specs/spec_builder.ts b/packages/firestore/test/unit/specs/spec_builder.ts index 6f17689a882..fe3f079edb4 100644 --- a/packages/firestore/test/unit/specs/spec_builder.ts +++ b/packages/firestore/test/unit/specs/spec_builder.ts @@ -17,6 +17,7 @@ import { IndexConfiguration } from '../../../src/api/index_configuration'; import { ExpUserDataWriter } from '../../../src/api/reference_impl'; +import { FieldFilter, Filter } from '../../../src/core/filter'; import { LimitType, newQueryForPath, @@ -24,13 +25,7 @@ import { queryEquals, queryToTarget } from '../../../src/core/query'; -import { - canonifyTarget, - FieldFilter, - Filter, - Target, - targetEquals -} from '../../../src/core/target'; +import { canonifyTarget, Target, targetEquals } from '../../../src/core/target'; import { TargetIdGenerator } from '../../../src/core/target_id_generator'; import { TargetId } from '../../../src/core/types'; import { Document } from '../../../src/model/document'; diff --git a/packages/firestore/test/unit/specs/spec_test_runner.ts b/packages/firestore/test/unit/specs/spec_test_runner.ts index 6a649bb213f..8a6909b3f2e 100644 --- a/packages/firestore/test/unit/specs/spec_test_runner.ts +++ b/packages/firestore/test/unit/specs/spec_test_runner.ts @@ -1571,7 +1571,7 @@ export interface SpecWatchEntity { // PORTING NOTE: Only used by web multi-tab tests. export interface SpecClientState { /** The visibility state of the browser tab running the client. */ - visibility?: VisibilityState; + visibility?: DocumentVisibilityState; /** Whether this tab should try to forcefully become primary. */ primary?: true; } diff --git a/packages/firestore/test/unit/util/logic_utils.test.ts b/packages/firestore/test/unit/util/logic_utils.test.ts new file mode 100644 index 00000000000..4d9e74e1b14 --- /dev/null +++ b/packages/firestore/test/unit/util/logic_utils.test.ts @@ -0,0 +1,447 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from 'chai'; + +import { + CompositeFilter, + FieldFilter, + Filter, + filterEquals +} from '../../../src/core/filter'; +import { + applyAssociation, + applyDistribution, + computeDistributedNormalForm, + computeInExpansion, + getDnfTerms +} from '../../../src/util/logic_utils'; +import { addEqualityMatcher } from '../../util/equality_matcher'; +import { filter, andFilter, orFilter } from '../../util/helpers'; + +describe('LogicUtils', () => { + addEqualityMatcher({ equalsFn: filterEquals, forType: Filter }); + + function nameFilter(name: string): FieldFilter { + return filter('name', '==', name); + } + + let A: FieldFilter; + let B: FieldFilter; + let C: FieldFilter; + let D: FieldFilter; + let E: FieldFilter; + let F: FieldFilter; + let G: FieldFilter; + let H: FieldFilter; + let I: FieldFilter; + + beforeEach(() => { + A = nameFilter('A'); + B = nameFilter('B'); + C = nameFilter('C'); + D = nameFilter('D'); + E = nameFilter('E'); + F = nameFilter('F'); + G = nameFilter('G'); + H = nameFilter('H'); + I = nameFilter('I'); + }); + + it('implements field filter associativity', () => { + const f = filter('foo', '==', 'bar'); + expect(f).to.equal(applyAssociation(f)); + }); + + it('implements composite filter associativity', () => { + // AND(AND(X)) --> X + const compositeFilter1 = andFilter(andFilter(A)); + const actualResult1 = applyAssociation(compositeFilter1); + expect(filterEquals(A, actualResult1)).to.be.true; + + // OR(OR(X)) --> X + const compositeFilter2 = orFilter(orFilter(A)); + const actualResult2 = applyAssociation(compositeFilter2); + expect(filterEquals(A, actualResult2)).to.be.true; + + // (A | (B) | ((C) | (D | E)) | (F | (G & (H & I))) --> A | B | C | D | E | F | (G & H & I) + const complexFilter = orFilter( + A, + andFilter(B), + orFilter(orFilter(C), orFilter(D, E)), + orFilter(F, andFilter(G, andFilter(H, I))) + ); + const expectedResult = orFilter(A, B, C, D, E, F, andFilter(G, H, I)); + const actualResult3 = applyAssociation(complexFilter); + expect(filterEquals(expectedResult, actualResult3)).to.be.true; + }); + + it('implements field filter distribution over field filter', () => { + expect(filterEquals(applyDistribution(A, B), andFilter(A, B))).to.be.true; + expect(filterEquals(applyDistribution(B, A), andFilter(B, A))).to.be.true; + }); + + it('implements field filter distribution over and filter', () => { + expect( + filterEquals( + applyDistribution(andFilter(A, B, C), D), + andFilter(A, B, C, D) + ) + ).to.be.true; + }); + + it('implements field filter distribution over or filter', () => { + // A & (B | C | D) = (A & B) | (A & C) | (A & D) + // (B | C | D) & A = (A & B) | (A & C) | (A & D) + const expected = orFilter( + andFilter(A, B), + andFilter(A, C), + andFilter(A, D) + ); + expect(filterEquals(applyDistribution(A, orFilter(B, C, D)), expected)).to + .be.true; + expect(filterEquals(applyDistribution(orFilter(B, C, D), A), expected)).to + .be.true; + }); + + it('implements in expansion for field filters', () => { + const input1: FieldFilter = filter('a', 'in', [1, 2, 3]); + const input2: FieldFilter = filter('a', '<', 1); + const input3: FieldFilter = filter('a', '<=', 1); + const input4: FieldFilter = filter('a', '==', 1); + const input5: FieldFilter = filter('a', '!=', 1); + const input6: FieldFilter = filter('a', '>', 1); + const input7: FieldFilter = filter('a', '>=', 1); + const input8: FieldFilter = filter('a', 'array-contains', 1); + const input9: FieldFilter = filter('a', 'array-contains-any', [1, 2]); + const input10: FieldFilter = filter('a', 'not-in', [1, 2]); + + expect(computeInExpansion(input1)).to.deep.equal( + orFilter(filter('a', '==', 1), filter('a', '==', 2), filter('a', '==', 3)) + ); + + // Other operators should remain the same + expect(computeInExpansion(input2)).to.deep.equal(input2); + expect(computeInExpansion(input3)).to.deep.equal(input3); + expect(computeInExpansion(input4)).to.deep.equal(input4); + expect(computeInExpansion(input5)).to.deep.equal(input5); + expect(computeInExpansion(input6)).to.deep.equal(input6); + expect(computeInExpansion(input7)).to.deep.equal(input7); + expect(computeInExpansion(input8)).to.deep.equal(input8); + expect(computeInExpansion(input9)).to.deep.equal(input9); + expect(computeInExpansion(input10)).to.deep.equal(input10); + }); + + it('implements in expansion for composite filters', () => { + const cf1: CompositeFilter = andFilter( + filter('a', '==', 1), + filter('b', 'in', [2, 3, 4]) + ); + + expect(computeInExpansion(cf1)).to.deep.equal( + andFilter( + filter('a', '==', 1), + orFilter( + filter('b', '==', 2), + filter('b', '==', 3), + filter('b', '==', 4) + ) + ) + ); + + const cf2: CompositeFilter = orFilter( + filter('a', '==', 1), + filter('b', 'in', [2, 3, 4]) + ); + + expect(computeInExpansion(cf2)).to.deep.equal( + orFilter( + filter('a', '==', 1), + orFilter( + filter('b', '==', 2), + filter('b', '==', 3), + filter('b', '==', 4) + ) + ) + ); + + const cf3: CompositeFilter = andFilter( + filter('a', '==', 1), + orFilter(filter('b', '==', 2), filter('c', 'in', [2, 3, 4])) + ); + + expect(computeInExpansion(cf3)).to.deep.equal( + andFilter( + filter('a', '==', 1), + orFilter( + filter('b', '==', 2), + orFilter( + filter('c', '==', 2), + filter('c', '==', 3), + filter('c', '==', 4) + ) + ) + ) + ); + + const cf4: CompositeFilter = orFilter( + filter('a', '==', 1), + andFilter(filter('b', '==', 2), filter('c', 'in', [2, 3, 4])) + ); + + expect(computeInExpansion(cf4)).to.deep.equal( + orFilter( + filter('a', '==', 1), + andFilter( + filter('b', '==', 2), + orFilter( + filter('c', '==', 2), + filter('c', '==', 3), + filter('c', '==', 4) + ) + ) + ) + ); + }); + + it('implements field filter distribution over or filter', () => { + // A & (B | C | D) = (A & B) | (A & C) | (A & D) + // (B | C | D) & A = (A & B) | (A & C) | (A & D) + const expected = orFilter( + andFilter(A, B), + andFilter(A, C), + andFilter(A, D) + ); + expect(filterEquals(applyDistribution(A, orFilter(B, C, D)), expected)).to + .be.true; + expect(filterEquals(applyDistribution(orFilter(B, C, D), A), expected)).to + .be.true; + }); + + // The following four tests cover: + // AND distribution for AND filter and AND filter. + // AND distribution for OR filter and AND filter. + // AND distribution for AND filter and OR filter. + // AND distribution for OR filter and OR filter. + + it('implements and filter distribution with and filter', () => { + // (A & B) & (C & D) --> (A & B & C & D) + const expectedResult = andFilter(A, B, C, D); + expect( + filterEquals( + applyDistribution(andFilter(A, B), andFilter(C, D)), + expectedResult + ) + ).to.be.true; + }); + + it('implements and filter distribution with or filter', () => { + // (A & B) & (C | D) --> (A & B & C) | (A & B & D) + const expectedResult = orFilter(andFilter(A, B, C), andFilter(A, B, D)); + expect( + filterEquals( + applyDistribution(andFilter(A, B), orFilter(C, D)), + expectedResult + ) + ).to.be.true; + }); + + it('implements or filter distribution with and filter', () => { + // (A | B) & (C & D) --> (A & C & D) | (B & C & D) + const expectedResult = orFilter(andFilter(C, D, A), andFilter(C, D, B)); + expect( + filterEquals( + applyDistribution(orFilter(A, B), andFilter(C, D)), + expectedResult + ) + ).to.be.true; + }); + + it('implements or filter distribution with or filter', () => { + // (A | B) & (C | D) --> (A & C) | (A & D) | (B & C) | (B & D) + const expectedResult = orFilter( + andFilter(A, C), + andFilter(A, D), + andFilter(B, C), + andFilter(B, D) + ); + expect( + filterEquals( + applyDistribution(orFilter(A, B), orFilter(C, D)), + expectedResult + ) + ).to.be.true; + }); + + it('implements field filter compute DNF', () => { + expect(computeDistributedNormalForm(A)).to.deep.equal(A); + expect(getDnfTerms(andFilter(A))).to.deep.equal([A]); + expect(getDnfTerms(orFilter(A))).to.deep.equal([A]); + }); + + it('implements compute dnf flat AND filter', () => { + const compositeFilter = andFilter(A, B, C); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + compositeFilter + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal([compositeFilter]); + }); + + it('implements compute dnf flat OR filter', () => { + const compositeFilter = orFilter(A, B, C); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + compositeFilter + ); + const expectedDnfTerms = [A, B, C]; + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF1', () => { + // A & (B | C) --> (A & B) | (A & C) + const compositeFilter = andFilter(A, orFilter(B, C)); + const expectedDnfTerms = [andFilter(A, B), andFilter(A, C)]; + const expectedResult = orFilter(...expectedDnfTerms); + const actualResult = computeDistributedNormalForm(compositeFilter); + expect(actualResult).to.deep.equal(expectedResult); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF2', () => { + // ((A)) & (B & C) --> A & B & C + const compositeFilter = andFilter(andFilter(andFilter(A)), andFilter(B, C)); + const expectedResult = andFilter(A, B, C); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal([expectedResult]); + }); + + it('compute DNF3', () => { + // A | (B & C) + const compositeFilter = orFilter(A, andFilter(B, C)); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + compositeFilter + ); + const expectedDnfTerms = [A, andFilter(B, C)]; + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF4', () => { + // A | (B & C) | ( ((D)) | (E | F) | (G & H) ) --> A | (B & C) | D | E | F | (G & H) + const compositeFilter = orFilter( + A, + andFilter(B, C), + orFilter(andFilter(orFilter(D)), orFilter(E, F), andFilter(G, H)) + ); + const expectedDnfTerms = [A, andFilter(B, C), D, E, F, andFilter(G, H)]; + const expectedResult = orFilter(...expectedDnfTerms); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF5', () => { + // A & (B | C) & ( ((D)) & (E | F) & (G & H) ) + // -> A & (B | C) & D & (E | F) & G & H + // -> ((A & B) | (A & C)) & D & (E | F) & G & H + // -> ((A & B & D) | (A & C & D)) & (E|F) & G & H + // -> ((A & B & D & E) | (A & B & D & F) | (A & C & D & E) | (A & C & D & F)) & G & H + // -> ((A&B&D&E&G) | (A & B & D & F & G) | (A & C & D & E & G) | (A & C & D & F & G)) & H + // -> (A&B&D&E&G&H) | (A&B&D&F&G&H) | (A & C & D & E & G & H) | (A & C & D & F & G & H) + const compositeFilter = andFilter( + A, + orFilter(B, C), + andFilter(andFilter(orFilter(D)), orFilter(E, F), andFilter(G, H)) + ); + const expectedDnfTerms = [ + andFilter(D, E, G, H, A, B), + andFilter(D, F, G, H, A, B), + andFilter(D, E, G, H, A, C), + andFilter(D, F, G, H, A, C) + ]; + const expectedResult = orFilter(...expectedDnfTerms); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF6', () => { + // A & (B | (C & (D | (E & F)))) + // -> A & (B | (C & D) | (C & E & F)) + // -> (A & B) | (A & C & D) | (A & C & E & F) + const compositeFilter = andFilter( + A, + orFilter(B, andFilter(C, orFilter(D, andFilter(E, F)))) + ); + const expectedDnfTerms = [ + andFilter(A, B), + andFilter(C, D, A), + andFilter(E, F, C, A) + ]; + const expectedResult = orFilter(...expectedDnfTerms); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF7', () => { + // ( (A|B) & (C|D) ) | ( (E|F) & (G|H) ) + // -> (A&C)|(A&D)|(B&C)(B&D)|(E&G)|(E&H)|(F&G)|(F&H) + const compositeFilter = orFilter( + andFilter(orFilter(A, B), orFilter(C, D)), + andFilter(orFilter(E, F), orFilter(G, H)) + ); + const expectedDnfTerms = [ + andFilter(A, C), + andFilter(A, D), + andFilter(B, C), + andFilter(B, D), + andFilter(E, G), + andFilter(E, H), + andFilter(F, G), + andFilter(F, H) + ]; + const expectedResult = orFilter(...expectedDnfTerms); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); + + it('compute DNF8', () => { + // ( (A&B) | (C&D) ) & ( (E&F) | (G&H) ) + // -> A&B&E&F | A&B&G&H | C&D&E&F | C&D&G&H + const compositeFilter = andFilter( + orFilter(andFilter(A, B), andFilter(C, D)), + orFilter(andFilter(E, F), andFilter(G, H)) + ); + const expectedDnfTerms = [ + andFilter(E, F, A, B), + andFilter(G, H, A, B), + andFilter(E, F, C, D), + andFilter(G, H, C, D) + ]; + const expectedResult = orFilter(...expectedDnfTerms); + expect(computeDistributedNormalForm(compositeFilter)).to.deep.equal( + expectedResult + ); + expect(getDnfTerms(compositeFilter)).to.deep.equal(expectedDnfTerms); + }); +}); diff --git a/packages/firestore/test/util/helpers.ts b/packages/firestore/test/util/helpers.ts index de06453f685..24cb7bccf0d 100644 --- a/packages/firestore/test/util/helpers.ts +++ b/packages/firestore/test/util/helpers.ts @@ -18,8 +18,17 @@ import { expect } from 'chai'; import { Bytes, DocumentReference, Timestamp } from '../../src'; +import { Bound } from '../../src/core/bound'; import { BundledDocuments } from '../../src/core/bundle'; import { DatabaseId } from '../../src/core/database_info'; +import { + FieldFilter, + CompositeFilter, + Filter, + Operator, + CompositeOperator +} from '../../src/core/filter'; +import { Direction, OrderBy } from '../../src/core/order_by'; import { newQueryForPath, Query, @@ -28,14 +37,6 @@ import { queryWithAddedOrderBy } from '../../src/core/query'; import { SnapshotVersion } from '../../src/core/snapshot_version'; -import { - Bound, - Direction, - FieldFilter, - Filter, - Operator, - OrderBy -} from '../../src/core/target'; import { TargetId } from '../../src/core/types'; import { AddedLimboDocument, @@ -262,6 +263,14 @@ export function filter(path: string, op: string, value: unknown): FieldFilter { return FieldFilter.create(field(path), operator, dataValue); } +export function andFilter(...filters: Filter[]): CompositeFilter { + return CompositeFilter.create(filters, CompositeOperator.AND); +} + +export function orFilter(...filters: Filter[]): CompositeFilter { + return CompositeFilter.create(filters, CompositeOperator.OR); +} + export function setMutation( keyStr: string, json: JsonObject diff --git a/packages/firestore/test/util/test_platform.ts b/packages/firestore/test/util/test_platform.ts index 13b0086b3a4..7803a2fb3c6 100644 --- a/packages/firestore/test/util/test_platform.ts +++ b/packages/firestore/test/util/test_platform.ts @@ -93,10 +93,10 @@ export function testWindow( * `Document` fake that implements the `visibilitychange` API used by Firestore. */ export class FakeDocument implements DocumentLike { - private _visibilityState: VisibilityState = 'hidden'; + private _visibilityState: DocumentVisibilityState = 'hidden'; private visibilityListener: EventListener | null = null; - get visibilityState(): VisibilityState { + get visibilityState(): DocumentVisibilityState { return this._visibilityState; } @@ -114,7 +114,7 @@ export class FakeDocument implements DocumentLike { } } - raiseVisibilityEvent(visibility: VisibilityState): void { + raiseVisibilityEvent(visibility: DocumentVisibilityState): void { this._visibilityState = visibility; if (this.visibilityListener) { this.visibilityListener(new Event('visibilitychange')); diff --git a/scripts/emulator-testing/emulators/database-emulator.ts b/scripts/emulator-testing/emulators/database-emulator.ts index 0caaa0eef8b..e14dd7c00d2 100644 --- a/scripts/emulator-testing/emulators/database-emulator.ts +++ b/scripts/emulator-testing/emulators/database-emulator.ts @@ -21,16 +21,18 @@ import { Emulator } from './emulator'; import rulesJSON from '../../../config/database.rules.json'; +const DATABASE_EMULATOR_VERSION = '4.11.0'; + export class DatabaseEmulator extends Emulator { namespace: string; constructor(port = 8088, namespace = 'test-emulator') { super( - 'firebase-database-emulator-v4.9.0.jar', + `firebase-database-emulator-v${DATABASE_EMULATOR_VERSION}.jar`, // Use locked version of emulator for test to be deterministic. // The latest version can be found from database emulator doc: // https://firebase.google.com/docs/database/security/test-rules-emulator - 'https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v4.9.0.jar', + `https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v${DATABASE_EMULATOR_VERSION}.jar`, port ); this.namespace = namespace; diff --git a/yarn.lock b/yarn.lock index 47ba68aa47f..97f84385334 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1815,13 +1815,6 @@ lodash.snakecase "^4.1.1" p-defer "^3.0.0" -"@grpc/grpc-js@^1.3.2": - version "1.3.7" - resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz#58b687aff93b743aafde237fd2ee9a3259d7f2d8" - integrity sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA== - dependencies: - "@types/node" ">=12.12.47" - "@grpc/grpc-js@~1.6.0": version "1.6.7" resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz#4c4fa998ff719fe859ac19fe977fdef097bb99aa" @@ -1830,6 +1823,14 @@ "@grpc/proto-loader" "^0.6.4" "@types/node" ">=12.12.47" +"@grpc/grpc-js@~1.7.0": + version "1.7.3" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz#f2ea79f65e31622d7f86d4b4c9ae38f13ccab99a" + integrity sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog== + dependencies: + "@grpc/proto-loader" "^0.7.0" + "@types/node" ">=12.12.47" + "@grpc/proto-loader@^0.6.12", "@grpc/proto-loader@^0.6.13", "@grpc/proto-loader@^0.6.4": version "0.6.13" resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" @@ -1841,6 +1842,17 @@ protobufjs "^6.11.3" yargs "^16.2.0" +"@grpc/proto-loader@^0.7.0": + version "0.7.3" + resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz#75a6f95b51b85c5078ac7394da93850c32d36bb8" + integrity sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA== + dependencies: + "@types/long" "^4.0.1" + lodash.camelcase "^4.3.0" + long "^4.0.0" + protobufjs "^7.0.0" + yargs "^16.2.0" + "@gulp-sourcemaps/identity-map@^2.0.1": version "2.0.1" resolved "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" @@ -11889,6 +11901,11 @@ long@^4.0.0: resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +long@^5.0.0: + version "5.2.1" + resolved "https://registry.npmjs.org/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" + integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== + loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -14128,6 +14145,24 @@ protobufjs@6.11.3, protobufjs@^6.11.3: "@types/node" ">=13.7.0" long "^4.0.0" +protobufjs@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz#a0cf6aeaf82f5625bffcf5a38b7cd2a7de05890c" + integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + protocols@^1.1.0, protocols@^1.4.0: version "1.4.8" resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" From 10b1b6771ca1e4214324780f8dc47bc40aa316bd Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Fri, 25 Nov 2022 21:48:09 -0800 Subject: [PATCH 26/31] resolve comments --- packages/firestore/src/remote/bloom_filter.ts | 104 ++++--- .../test/unit/remote/bloom_filter.test.ts | 285 +++++------------- 2 files changed, 131 insertions(+), 258 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 1e9d568bed5..bb7b5420a2d 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -19,73 +19,89 @@ import { Md5, Integer } from '@firebase/webchannel-wrapper'; import { newTextEncoder } from '../platform/serializer'; import { debugAssert } from '../util/assert'; +const MAX_64_BIT_UNSIGNED_INTEGER = Integer.fromNumber(Math.pow(2, 64)); export class BloomFilter { - readonly size: number; + private readonly size: Integer; constructor( private readonly bitmap: Uint8Array, padding: number, private readonly hashCount: number ) { - if (this.bitmap.length === 0) { + const numBits = bitmap.length * 8 - padding; + this.size = Integer.fromNumber(numBits); + + debugAssert(padding >= 0 && padding < 8, `Invalid padding: ${padding}`); + // Empty bloom filter should have 0 padding and 0 hash count. + if (bitmap.length === 0) { debugAssert( - padding === 0, - 'A valid empty bloom filter should have 0 padding.' + padding === 0 && hashCount === 0, + 'A valid empty bloom filter will have all three fields be empty.' ); + } else { + // Only empty bloom filter can have 0 hash count. + debugAssert(this.hashCount > 0, `Invalid hash count: ${hashCount}`); } - this.size = this.bitmap.length * 8 - padding; - debugAssert(padding >= 0, 'Padding is negative.'); - debugAssert(this.size >= 0, 'Bitmap size is negative.'); - // Only empty bloom filter can have 0 hash count - debugAssert( - this.bitmap.length === 0 || this.hashCount > 0, - 'Hash count is 0 or negative' - ); } - mightContain(value: string): boolean { - // Empty bitmap should always return false on membership check - if (this.size === 0) { - return false; - } - - // Hash the string using md5 + // Hash the document path using md5 hashing algorithm. + private getMd5HashValue(value: string): Uint8Array { const md5 = new Md5(); const encodedValue = newTextEncoder().encode(value); md5.update(encodedValue); - const encodedBytes = new Uint8Array(md5.digest()); + return new Uint8Array(md5.digest()); + } + + // Interpret the 16 bytes array as two 64-bit unsigned integers, encoded using 2’s + // complement using little endian. + private get64BitUint(Bytes: Uint8Array): Integer[] { + const dataView = new DataView(Bytes.buffer); + const chunk1 = dataView.getUint32(0, /* littleEndian= */ true); + const chunk2 = dataView.getUint32(4, /* littleEndian= */ true); + const chunk3 = dataView.getUint32(8, /* littleEndian= */ true); + const chunk4 = dataView.getUint32(12, /* littleEndian= */ true); + const integer1 = new Integer([chunk1, chunk2], 0); + const integer2 = new Integer([chunk3, chunk4], 0); + return [integer1, integer2]; + } - // Interpret the hashed value as two 64-bit chunks as unsigned integers, encoded using 2’s - // complement using little endian. - const dataView = new DataView(encodedBytes.buffer); - const firstUint32 = dataView.getUint32(0, /* littleEndian= */ true); - const secondUint32 = dataView.getUint32(4, /* littleEndian= */ true); - const thirdUint32 = dataView.getUint32(8, /* littleEndian= */ true); - const fourthUint32 = dataView.getUint32(12, /* littleEndian= */ true); - const hash1 = new Integer([firstUint32, secondUint32], 0); - const hash2 = new Integer([thirdUint32, fourthUint32], 0); + // Calculate the ith hash value based on the hashed 64bit integers, + // and calculate its corresponding bit index in the bitmap to be checked. + private getBitIndex(num1: Integer, num2: Integer, index: number): number { + // Calculate hashed value h(i) = h1 + (i * h2). + let hashValue = num1.add(num2.multiply(Integer.fromNumber(index))); + // Wrap if hash value overflow 64bit. + if (hashValue.compare(MAX_64_BIT_UNSIGNED_INTEGER) === 1) { + hashValue = new Integer([hashValue.getBits(0), hashValue.getBits(1)], 0); + } + return hashValue.modulo(this.size).toNumber(); + } - const sizeInInteger = Integer.fromNumber(this.size); - const max64BitInteger = Integer.fromNumber(Math.pow(2, 64)); + // Return whether the bit on the given index in the bitmap is set to 1. + private isBitSet(index: number): boolean { + // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). + const byte = this.bitmap[Math.floor(index / 8)]; + return (byte & (0x01 << index % 8)) !== 0; + } + mightContain(value: string): boolean { + // Empty bitmap should always return false on membership check. + if (this.size.toNumber() === 0) { + return false; + } + const encodedBytes = this.getMd5HashValue(value); + const [hash1, hash2] = this.get64BitUint(encodedBytes); for (let i = 0; i < this.hashCount; i++) { - // Calculate hashed value h(i) = h1 + (i * h2), wrap if hash value overflow - let combinedHash = hash1.add(hash2.multiply(Integer.fromNumber(i))); - if (combinedHash.compare(max64BitInteger) === 1) { - combinedHash = new Integer( - [combinedHash.getBits(0), combinedHash.getBits(1)], - 0 - ); - } - // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). - const modulo = Number(combinedHash.modulo(sizeInInteger)); - const byte = this.bitmap[Math.floor(modulo / 8)]; - - if (!(byte & (0x01 << modulo % 8))) { + const index = this.getBitIndex(hash1, hash2, i); + if (!this.isBitSet(index)) { return false; } } return true; } + + getSize(): number { + return this.size.toNumber(); + } } diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index e9e7c664e71..b81ebeaac31 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -19,42 +19,12 @@ import { expect } from 'chai'; import { BloomFilter } from '../../../src/remote/bloom_filter'; import { ByteString } from '../../../src/util/byte_string'; -import { - testDataCount1Rate0001, - testDataCount1Rate01, - testDataCount1Rate1, - testDataCount50000Rate0001, - testDataCount50000Rate01, - testDataCount50000Rate1, - testDataCount5000Rate0001, - testDataCount5000Rate01, - testDataCount5000Rate1, - testDataCount500Rate0001, - testDataCount500Rate01, - testDataCount500Rate1, - testResultCount1Rate0001, - testResultCount1Rate01, - testResultCount1Rate1, - testResultCount50000Rate0001, - testResultCount50000Rate01, - testResultCount50000Rate1, - testResultCount5000Rate0001, - testResultCount5000Rate01, - testResultCount5000Rate1, - testResultCount500Rate0001, - testResultCount500Rate01, - testResultCount500Rate1 -} from './bloom_filter_golden_test_data'; +import * as TEST_DATA from './bloom_filter_golden_test_data'; describe('BloomFilter', () => { - it('can initiate an empty bloom filter', () => { + it('can instantiate an empty bloom filter', () => { const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); - expect(bloomFilter.size).to.equal(0); - }); - - it('empty bloom filter can have positive hash count', () => { - const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 1); - expect(bloomFilter.size).to.equal(0); + expect(bloomFilter.getSize()).to.equal(0); }); it('should throw error if empty bloom filter inputs are invalid', () => { @@ -64,42 +34,49 @@ describe('BloomFilter', () => { } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter should have 0 padding.' + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter will have all three fields be empty.' + ) + ).to.be.true; + } + try { + new BloomFilter(new Uint8Array(0), 0, 1); + expect.fail(); + } catch (error) { + expect( + (error as Error)?.message.includes( + 'INTERNAL ASSERTION FAILED: A valid empty bloom filter will have all three fields be empty.' ) ).to.be.true; } }); - it('can initiate a non empty bloom filter', () => { + it('can instantiate a non empty bloom filter', () => { const bloomFilter = new BloomFilter( new Uint8Array([151, 153, 236, 116, 7]), 3, 13 ); - expect(bloomFilter.size).to.equal(37); + expect(bloomFilter.getSize()).to.equal(37); }); - it('should throw error if padding is negative', () => { + it('should throw error if padding is invalid', () => { try { new BloomFilter(new Uint8Array(1), -1, 1); expect.fail(); } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Padding is negative.' + 'INTERNAL ASSERTION FAILED: Invalid padding: -1' ) ).to.be.true; } - }); - - it('should throw error if bitmap size is negative', () => { try { new BloomFilter(new Uint8Array(1), 9, 1); expect.fail(); } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Bitmap size is negative.' + 'INTERNAL ASSERTION FAILED: Invalid padding: 9' ) ).to.be.true; } @@ -112,7 +89,7 @@ describe('BloomFilter', () => { } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Hash count is 0 or negative' + 'INTERNAL ASSERTION FAILED: Invalid hash count: -1' ) ).to.be.true; } @@ -125,7 +102,7 @@ describe('BloomFilter', () => { } catch (error) { expect( (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Hash count is 0 or negative' + 'INTERNAL ASSERTION FAILED: Invalid hash count: 0' ) ).to.be.true; } @@ -140,9 +117,9 @@ describe('BloomFilter', () => { it('mightContain should always return false for empty string', () => { const emptyBloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); const nonEmptyBloomFilter = new BloomFilter( - new Uint8Array([151, 153, 236, 116, 7]), - 3, - 13 + new Uint8Array([70, 204, 25]), + 1, + 16 ); expect(emptyBloomFilter.mightContain('')).to.be.false; expect(nonEmptyBloomFilter.mightContain('')).to.be.false; @@ -183,9 +160,12 @@ describe('BloomFilter', () => { return ByteString.fromBase64String(encoded).toUint8Array(); } - it('mightContain result for 1 document with 1 false positive rate', () => { - const { bits, hashCount } = testDataCount1Rate1 as TestDataType; - const { membershipTestResults } = testResultCount1Rate1 as TestResultType; + function testBloomFilterAgainstExpectedResult( + bloomFilterInputs: TestDataType, + expectedResult: TestResultType + ): void { + const { bits, hashCount } = bloomFilterInputs; + const { membershipTestResults } = expectedResult; const bloomFilter = new BloomFilter( decodeBase64ToUint8Array(bits.bitmap || ''), @@ -198,195 +178,72 @@ describe('BloomFilter', () => { const mightContain = bloomFilter.mightContain(documentPrefix + i); expect(mightContain).to.equal(backendMembershipResult); } + } + + it('mightContain result for 1 document with 1 false positive rate', () => { + const testData = TEST_DATA.testDataCount1Rate1 as TestDataType; + const testResult = TEST_DATA.testResultCount1Rate1 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 1 document with 0.01 false positive rate', () => { - const { bits, hashCount } = testDataCount1Rate01 as TestDataType; - const { membershipTestResults } = - testResultCount1Rate01 as TestResultType; + const testData = TEST_DATA.testDataCount1Rate01 as TestDataType; + const testResult = TEST_DATA.testResultCount1Rate01 as TestResultType; - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 1 document with 0.0001 false positive rate', () => { - const { bits, hashCount } = testDataCount1Rate0001 as TestDataType; - const { membershipTestResults } = - testResultCount1Rate0001 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount1Rate0001 as TestDataType; + const testResult = TEST_DATA.testResultCount1Rate0001 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 documents with 1 false positive rate', () => { - const { bits, hashCount } = testDataCount500Rate1 as TestDataType; - const { membershipTestResults } = - testResultCount500Rate1 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount500Rate1 as TestDataType; + const testResult = TEST_DATA.testResultCount500Rate1 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 documents with 0.01 false positive rate', () => { - const { bits, hashCount } = testDataCount500Rate01 as TestDataType; - const { membershipTestResults } = - testResultCount500Rate01 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount500Rate01 as TestDataType; + const testResult = TEST_DATA.testResultCount500Rate01 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 document with 0.0001 false positive rate', () => { - const { bits, hashCount } = testDataCount500Rate0001 as TestDataType; - const { membershipTestResults } = - testResultCount500Rate0001 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount500Rate0001 as TestDataType; + const testResult = TEST_DATA.testResultCount500Rate0001 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documents with 1 false positive rate', () => { - const { bits, hashCount } = testDataCount5000Rate1 as TestDataType; - const { membershipTestResults } = - testResultCount5000Rate1 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount5000Rate1 as TestDataType; + const testResult = TEST_DATA.testResultCount5000Rate1 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documenta with 0.01 false positive rate', () => { - const { bits, hashCount } = testDataCount5000Rate01 as TestDataType; - const { membershipTestResults } = - testResultCount5000Rate01 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount5000Rate01 as TestDataType; + const testResult = TEST_DATA.testResultCount5000Rate01 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documenta with 0.0001 false positive rate', () => { - const { bits, hashCount } = testDataCount5000Rate0001 as TestDataType; - const { membershipTestResults } = - testResultCount5000Rate0001 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount5000Rate0001 as TestDataType; + const testResult = + TEST_DATA.testResultCount5000Rate0001 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 50000 documents with 1 false positive rate', () => { - const { bits, hashCount } = testDataCount50000Rate1 as TestDataType; - const { membershipTestResults } = - testResultCount50000Rate1 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount50000Rate1 as TestDataType; + const testResult = TEST_DATA.testResultCount50000Rate1 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 50000 documents with 0.01 false positive rate', () => { - const { bits, hashCount } = testDataCount50000Rate01 as TestDataType; - const { membershipTestResults } = - testResultCount50000Rate01 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount50000Rate01 as TestDataType; + const testResult = TEST_DATA.testResultCount50000Rate01 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); //Extend default timeout(2000) }).timeout(10_000); it('mightContain result for 50000 documents with 0.0001 false positive rate', () => { - const { bits, hashCount } = testDataCount50000Rate0001 as TestDataType; - const { membershipTestResults } = - testResultCount50000Rate0001 as TestResultType; - - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 - ); - for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = - membershipTestResults[i] === '1' ? true : false; - const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); - } + const testData = TEST_DATA.testDataCount50000Rate0001 as TestDataType; + const testResult = + TEST_DATA.testResultCount50000Rate0001 as TestResultType; + testBloomFilterAgainstExpectedResult(testData, testResult); //Extend default timeout(2000) }).timeout(10_000); }); From 06f6400763278fdc8210fa1ff918afec53719d21 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Sun, 27 Nov 2022 11:51:00 -0800 Subject: [PATCH 27/31] remove type casting on TEST_DATA --- .../test/unit/remote/bloom_filter.test.ts | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index b81ebeaac31..f8b7d9ee933 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -181,68 +181,66 @@ describe('BloomFilter', () => { } it('mightContain result for 1 document with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate1 as TestDataType; - const testResult = TEST_DATA.testResultCount1Rate1 as TestResultType; + const testData = TEST_DATA.testDataCount1Rate1; + const testResult = TEST_DATA.testResultCount1Rate1; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 1 document with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate01 as TestDataType; - const testResult = TEST_DATA.testResultCount1Rate01 as TestResultType; + const testData = TEST_DATA.testDataCount1Rate01; + const testResult = TEST_DATA.testResultCount1Rate01; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 1 document with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate0001 as TestDataType; - const testResult = TEST_DATA.testResultCount1Rate0001 as TestResultType; + const testData = TEST_DATA.testDataCount1Rate0001; + const testResult = TEST_DATA.testResultCount1Rate0001; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate1 as TestDataType; - const testResult = TEST_DATA.testResultCount500Rate1 as TestResultType; + const testData = TEST_DATA.testDataCount500Rate1; + const testResult = TEST_DATA.testResultCount500Rate1; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 documents with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate01 as TestDataType; - const testResult = TEST_DATA.testResultCount500Rate01 as TestResultType; + const testData = TEST_DATA.testDataCount500Rate01; + const testResult = TEST_DATA.testResultCount500Rate01; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 500 document with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate0001 as TestDataType; - const testResult = TEST_DATA.testResultCount500Rate0001 as TestResultType; + const testData = TEST_DATA.testDataCount500Rate0001; + const testResult = TEST_DATA.testResultCount500Rate0001; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate1 as TestDataType; - const testResult = TEST_DATA.testResultCount5000Rate1 as TestResultType; + const testData = TEST_DATA.testDataCount5000Rate1; + const testResult = TEST_DATA.testResultCount5000Rate1; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documenta with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate01 as TestDataType; - const testResult = TEST_DATA.testResultCount5000Rate01 as TestResultType; + const testData = TEST_DATA.testDataCount5000Rate01; + const testResult = TEST_DATA.testResultCount5000Rate01; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 5000 documenta with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate0001 as TestDataType; - const testResult = - TEST_DATA.testResultCount5000Rate0001 as TestResultType; + const testData = TEST_DATA.testDataCount5000Rate0001; + const testResult = TEST_DATA.testResultCount5000Rate0001; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 50000 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate1 as TestDataType; - const testResult = TEST_DATA.testResultCount50000Rate1 as TestResultType; + const testData = TEST_DATA.testDataCount50000Rate1; + const testResult = TEST_DATA.testResultCount50000Rate1; testBloomFilterAgainstExpectedResult(testData, testResult); }); it('mightContain result for 50000 documents with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate01 as TestDataType; - const testResult = TEST_DATA.testResultCount50000Rate01 as TestResultType; + const testData = TEST_DATA.testDataCount50000Rate01; + const testResult = TEST_DATA.testResultCount50000Rate01; testBloomFilterAgainstExpectedResult(testData, testResult); //Extend default timeout(2000) }).timeout(10_000); it('mightContain result for 50000 documents with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate0001 as TestDataType; - const testResult = - TEST_DATA.testResultCount50000Rate0001 as TestResultType; + const testData = TEST_DATA.testDataCount50000Rate0001; + const testResult = TEST_DATA.testResultCount50000Rate0001; testBloomFilterAgainstExpectedResult(testData, testResult); //Extend default timeout(2000) }).timeout(10_000); From b3a77844ae25d80536969839c9b0e13ec3671788 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 28 Nov 2022 16:07:51 -0800 Subject: [PATCH 28/31] resolve comments --- packages/firestore/src/remote/bloom_filter.ts | 50 ++-- .../test/unit/remote/bloom_filter.test.ts | 219 ++++++++---------- ...FilterTest_MD5_1_1_bloom_filter_proto.json | 2 +- ...erTest_MD5_50000_1_bloom_filter_proto.json | 2 +- ...terTest_MD5_5000_1_bloom_filter_proto.json | 2 +- ...lterTest_MD5_500_1_bloom_filter_proto.json | 2 +- .../bloom_filter_golden_test_data/index.ts | 48 ++-- 7 files changed, 148 insertions(+), 177 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index bb7b5420a2d..95c746f5b30 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -20,32 +20,36 @@ import { newTextEncoder } from '../platform/serializer'; import { debugAssert } from '../util/assert'; const MAX_64_BIT_UNSIGNED_INTEGER = Integer.fromNumber(Math.pow(2, 64)); + export class BloomFilter { - private readonly size: Integer; + readonly size: number; + private readonly sizeInInteger: Integer; constructor( private readonly bitmap: Uint8Array, padding: number, private readonly hashCount: number ) { - const numBits = bitmap.length * 8 - padding; - this.size = Integer.fromNumber(numBits); - debugAssert(padding >= 0 && padding < 8, `Invalid padding: ${padding}`); - // Empty bloom filter should have 0 padding and 0 hash count. - if (bitmap.length === 0) { - debugAssert( - padding === 0 && hashCount === 0, - 'A valid empty bloom filter will have all three fields be empty.' - ); + if (bitmap.length > 0) { + debugAssert(this.hashCount > 0, `Invalid hash count: ${hashCount}`); } else { // Only empty bloom filter can have 0 hash count. - debugAssert(this.hashCount > 0, `Invalid hash count: ${hashCount}`); + debugAssert(this.hashCount >= 0, `Invalid hash count: ${hashCount}`); + + // Empty bloom filter should have 0 padding. + debugAssert( + padding === 0, + `Invalid padding when bitmap length is 0: ${padding}` + ); } + + this.size = bitmap.length * 8 - padding; + this.sizeInInteger = Integer.fromNumber(this.size); } - // Hash the document path using md5 hashing algorithm. - private getMd5HashValue(value: string): Uint8Array { + // Hash a string using md5 hashing algorithm. + private static getMd5HashValue(value: string): Uint8Array { const md5 = new Md5(); const encodedValue = newTextEncoder().encode(value); md5.update(encodedValue); @@ -54,7 +58,7 @@ export class BloomFilter { // Interpret the 16 bytes array as two 64-bit unsigned integers, encoded using 2’s // complement using little endian. - private get64BitUint(Bytes: Uint8Array): Integer[] { + private static get64BitUints(Bytes: Uint8Array): [Integer, Integer] { const dataView = new DataView(Bytes.buffer); const chunk1 = dataView.getUint32(0, /* littleEndian= */ true); const chunk2 = dataView.getUint32(4, /* littleEndian= */ true); @@ -74,34 +78,30 @@ export class BloomFilter { if (hashValue.compare(MAX_64_BIT_UNSIGNED_INTEGER) === 1) { hashValue = new Integer([hashValue.getBits(0), hashValue.getBits(1)], 0); } - return hashValue.modulo(this.size).toNumber(); + return hashValue.modulo(this.sizeInInteger).toNumber(); } // Return whether the bit on the given index in the bitmap is set to 1. private isBitSet(index: number): boolean { // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). const byte = this.bitmap[Math.floor(index / 8)]; - return (byte & (0x01 << index % 8)) !== 0; + return (byte & (0x01 << (index % 8))) !== 0; } mightContain(value: string): boolean { - // Empty bitmap should always return false on membership check. - if (this.size.toNumber() === 0) { + // Empty bitmap and empty value should always return false on membership check. + if (this.size === 0 || value === '') { return false; } - const encodedBytes = this.getMd5HashValue(value); - const [hash1, hash2] = this.get64BitUint(encodedBytes); + + const md5HashedValue = BloomFilter.getMd5HashValue(value); + const [hash1, hash2] = BloomFilter.get64BitUints(md5HashedValue); for (let i = 0; i < this.hashCount; i++) { const index = this.getBitIndex(hash1, hash2, i); if (!this.isBitSet(index)) { return false; } } - return true; } - - getSize(): number { - return this.size.toNumber(); - } } diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index f8b7d9ee933..4612ffa6fde 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -24,88 +24,49 @@ import * as TEST_DATA from './bloom_filter_golden_test_data'; describe('BloomFilter', () => { it('can instantiate an empty bloom filter', () => { const bloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); - expect(bloomFilter.getSize()).to.equal(0); + expect(bloomFilter.size).to.equal(0); }); it('should throw error if empty bloom filter inputs are invalid', () => { - try { - new BloomFilter(new Uint8Array(0), 1, 0); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter will have all three fields be empty.' - ) - ).to.be.true; - } - try { - new BloomFilter(new Uint8Array(0), 0, 1); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: A valid empty bloom filter will have all three fields be empty.' - ) - ).to.be.true; - } + expect(() => new BloomFilter(new Uint8Array(0), 1, 0)).to.throw( + 'Invalid padding when bitmap length is 0: 1' + ); + expect(() => new BloomFilter(new Uint8Array(0), 0, -1)).to.throw( + 'Invalid hash count: -1' + ); }); it('can instantiate a non empty bloom filter', () => { - const bloomFilter = new BloomFilter( - new Uint8Array([151, 153, 236, 116, 7]), - 3, - 13 - ); - expect(bloomFilter.getSize()).to.equal(37); + const bloomFilter = new BloomFilter(new Uint8Array([255, 255, 124]), 3, 13); + expect(bloomFilter.size).to.equal(21); }); it('should throw error if padding is invalid', () => { - try { - new BloomFilter(new Uint8Array(1), -1, 1); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Invalid padding: -1' - ) - ).to.be.true; - } - try { - new BloomFilter(new Uint8Array(1), 9, 1); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Invalid padding: 9' - ) - ).to.be.true; - } + expect(() => new BloomFilter(new Uint8Array(1), -1, 1)).to.throw( + 'Invalid padding: -1' + ); + expect(() => new BloomFilter(new Uint8Array(1), 9, 1)).to.throw( + 'Invalid padding: 9' + ); }); it('should throw error if hash count is negative', () => { - try { - new BloomFilter(new Uint8Array(1), 1, -1); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Invalid hash count: -1' - ) - ).to.be.true; - } + expect(() => new BloomFilter(new Uint8Array(1), 1, -1)).to.throw( + 'Invalid hash count: -1' + ); }); it('should throw error if hash count is 0 for non empty bloom filter', () => { - try { - new BloomFilter(new Uint8Array(1), 1, 0); - expect.fail(); - } catch (error) { - expect( - (error as Error)?.message.includes( - 'INTERNAL ASSERTION FAILED: Invalid hash count: 0' - ) - ).to.be.true; - } + expect(() => new BloomFilter(new Uint8Array(1), 1, 0)).to.throw( + 'Invalid hash count: 0' + ); + }); + + it('should be able to process non standard characters', () => { + // A non-empty BloomFilter object with 1 insertion : "ÀÒ∑" + const bloomFilter = new BloomFilter(new Uint8Array([237, 5]), 5, 8); + expect(bloomFilter.mightContain('ÀÒ∑')).to.be.true; + expect(bloomFilter.mightContain('Ò∑À')).to.be.false; }); it('mightContain in empty bloom filter should always return false', () => { @@ -117,7 +78,7 @@ describe('BloomFilter', () => { it('mightContain should always return false for empty string', () => { const emptyBloomFilter = new BloomFilter(new Uint8Array(0), 0, 0); const nonEmptyBloomFilter = new BloomFilter( - new Uint8Array([70, 204, 25]), + new Uint8Array([255, 255, 255]), 1, 16 ); @@ -127,29 +88,26 @@ describe('BloomFilter', () => { /** * Golden tests are generated by backend based on inserting n number of - * documents path into a bloom filter. + * document paths into a bloom filter. * - * Full document path is generated by concating documentPrefix and number n, - * ie, projects/project-1/databases/database-1/documents/coll/doc12 + * Full document path is generated by concatenating documentPrefix and number + * n, eg, projects/project-1/databases/database-1/documents/coll/doc12. * * The test result is generated by checking the membership of documents from * documentPrefix+0 to documentPrefix+2n. The membership results from 0 to n - * is expected to be true (1), and the membership results from n to 2n is - * expected to be false (0) with some false positive results (1). - * - * The test result of BloomFilter.mightContain() should match the backend - * result exactly. + * is expected to be true, and the membership results from n to 2n is + * expected to be false with some false positive results. */ - describe('BloomFilter membership test', () => { + describe('BloomFilter golden tests', () => { const documentPrefix = 'projects/project-1/databases/database-1/documents/coll/doc'; interface TestDataType { bits: { - bitmap?: string; - padding?: number; + bitmap: string; + padding: number; }; - hashCount?: number; + hashCount: number; } interface TestResultType { @@ -164,84 +122,97 @@ describe('BloomFilter', () => { bloomFilterInputs: TestDataType, expectedResult: TestResultType ): void { - const { bits, hashCount } = bloomFilterInputs; + const { + bits: { bitmap, padding }, + hashCount + } = bloomFilterInputs; const { membershipTestResults } = expectedResult; const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bits.bitmap || ''), - bits.padding || 0, - hashCount || 0 + decodeBase64ToUint8Array(bitmap), + padding, + hashCount ); for (let i = 0; i < membershipTestResults.length; i++) { - const backendMembershipResult = + const expectedMembershipResult = membershipTestResults[i] === '1' ? true : false; const mightContain = bloomFilter.mightContain(documentPrefix + i); - expect(mightContain).to.equal(backendMembershipResult); + expect(mightContain).to.equal(expectedMembershipResult); } } it('mightContain result for 1 document with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate1; - const testResult = TEST_DATA.testResultCount1Rate1; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count1Rate1TestData, + TEST_DATA.count1Rate1TestResult + ); }); it('mightContain result for 1 document with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate01; - const testResult = TEST_DATA.testResultCount1Rate01; - - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count1Rate01TestData, + TEST_DATA.count1Rate01TestResult + ); }); it('mightContain result for 1 document with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount1Rate0001; - const testResult = TEST_DATA.testResultCount1Rate0001; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count1Rate0001TestData, + TEST_DATA.count1Rate0001TestResult + ); }); it('mightContain result for 500 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate1; - const testResult = TEST_DATA.testResultCount500Rate1; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count500Rate1TestData, + TEST_DATA.count500Rate1TestResult + ); }); it('mightContain result for 500 documents with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate01; - const testResult = TEST_DATA.testResultCount500Rate01; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count500Rate01TestData, + TEST_DATA.count500Rate01TestResult + ); }); it('mightContain result for 500 document with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount500Rate0001; - const testResult = TEST_DATA.testResultCount500Rate0001; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count500Rate0001TestData, + TEST_DATA.count500Rate0001TestResult + ); }); it('mightContain result for 5000 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate1; - const testResult = TEST_DATA.testResultCount5000Rate1; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count5000Rate1TestData, + TEST_DATA.count5000Rate1TestResult + ); }); it('mightContain result for 5000 documenta with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate01; - const testResult = TEST_DATA.testResultCount5000Rate01; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count5000Rate01TestData, + TEST_DATA.count5000Rate01TestResult + ); }); it('mightContain result for 5000 documenta with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount5000Rate0001; - const testResult = TEST_DATA.testResultCount5000Rate0001; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count5000Rate0001TestData, + TEST_DATA.count5000Rate0001TestResult + ); }); it('mightContain result for 50000 documents with 1 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate1; - const testResult = TEST_DATA.testResultCount50000Rate1; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count50000Rate1TestData, + TEST_DATA.count50000Rate1TestResult + ); }); it('mightContain result for 50000 documents with 0.01 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate01; - const testResult = TEST_DATA.testResultCount50000Rate01; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count50000Rate01TestData, + TEST_DATA.count50000Rate01TestResult + ); //Extend default timeout(2000) }).timeout(10_000); - it('mightContain result for 50000 documents with 0.0001 false positive rate', () => { - const testData = TEST_DATA.testDataCount50000Rate0001; - const testResult = TEST_DATA.testResultCount50000Rate0001; - testBloomFilterAgainstExpectedResult(testData, testResult); + testBloomFilterAgainstExpectedResult( + TEST_DATA.count50000Rate0001TestData, + TEST_DATA.count50000Rate0001TestResult + ); //Extend default timeout(2000) }).timeout(10_000); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json index f2e5c92de0c..c03535eafc3 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json @@ -1 +1 @@ -{"bits":{}} \ No newline at end of file +{"bits":{"bitmap":"","padding":0},"hashCount":0} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json index 19a61b8efc5..c03535eafc3 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json @@ -1 +1 @@ -{"bits":{}} +{"bits":{"bitmap":"","padding":0},"hashCount":0} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json index 19a61b8efc5..c03535eafc3 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json @@ -1 +1 @@ -{"bits":{}} +{"bits":{"bitmap":"","padding":0},"hashCount":0} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json index 19a61b8efc5..c03535eafc3 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json @@ -1 +1 @@ -{"bits":{}} +{"bits":{"bitmap":"","padding":0},"hashCount":0} \ No newline at end of file diff --git a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts index 2af4551507c..410dededf6a 100644 --- a/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts +++ b/packages/firestore/test/unit/remote/bloom_filter_golden_test_data/index.ts @@ -15,27 +15,27 @@ * limitations under the License. */ -export { default as testDataCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json'; -export { default as testResultCount1Rate1 } from './Validation_BloomFilterTest_MD5_1_1_membership_test_result.json'; -export { default as testDataCount1Rate01 } from './Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'; -export { default as testResultCount1Rate01 } from './Validation_BloomFilterTest_MD5_1_01_membership_test_result.json'; -export { default as testDataCount1Rate0001 } from './Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json'; -export { default as testResultCount1Rate0001 } from './Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json'; -export { default as testDataCount500Rate1 } from './Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json'; -export { default as testResultCount500Rate1 } from './Validation_BloomFilterTest_MD5_500_1_membership_test_result.json'; -export { default as testDataCount500Rate01 } from './Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json'; -export { default as testResultCount500Rate01 } from './Validation_BloomFilterTest_MD5_500_01_membership_test_result.json'; -export { default as testDataCount500Rate0001 } from './Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json'; -export { default as testResultCount500Rate0001 } from './Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json'; -export { default as testDataCount5000Rate1 } from './Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json'; -export { default as testResultCount5000Rate1 } from './Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json'; -export { default as testDataCount5000Rate01 } from './Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json'; -export { default as testResultCount5000Rate01 } from './Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json'; -export { default as testDataCount5000Rate0001 } from './Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json'; -export { default as testResultCount5000Rate0001 } from './Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json'; -export { default as testDataCount50000Rate1 } from './Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json'; -export { default as testResultCount50000Rate1 } from './Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json'; -export { default as testDataCount50000Rate01 } from './Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json'; -export { default as testResultCount50000Rate01 } from './Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json'; -export { default as testDataCount50000Rate0001 } from './Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json'; -export { default as testResultCount50000Rate0001 } from './Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json'; +export { default as count1Rate1TestData } from './Validation_BloomFilterTest_MD5_1_1_bloom_filter_proto.json'; +export { default as count1Rate1TestResult } from './Validation_BloomFilterTest_MD5_1_1_membership_test_result.json'; +export { default as count1Rate01TestData } from './Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json'; +export { default as count1Rate01TestResult } from './Validation_BloomFilterTest_MD5_1_01_membership_test_result.json'; +export { default as count1Rate0001TestData } from './Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json'; +export { default as count1Rate0001TestResult } from './Validation_BloomFilterTest_MD5_1_0001_membership_test_result.json'; +export { default as count500Rate1TestData } from './Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json'; +export { default as count500Rate1TestResult } from './Validation_BloomFilterTest_MD5_500_1_membership_test_result.json'; +export { default as count500Rate01TestData } from './Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json'; +export { default as count500Rate01TestResult } from './Validation_BloomFilterTest_MD5_500_01_membership_test_result.json'; +export { default as count500Rate0001TestData } from './Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json'; +export { default as count500Rate0001TestResult } from './Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json'; +export { default as count5000Rate1TestData } from './Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json'; +export { default as count5000Rate1TestResult } from './Validation_BloomFilterTest_MD5_5000_1_membership_test_result.json'; +export { default as count5000Rate01TestData } from './Validation_BloomFilterTest_MD5_5000_01_bloom_filter_proto.json'; +export { default as count5000Rate01TestResult } from './Validation_BloomFilterTest_MD5_5000_01_membership_test_result.json'; +export { default as count5000Rate0001TestData } from './Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json'; +export { default as count5000Rate0001TestResult } from './Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json'; +export { default as count50000Rate1TestData } from './Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json'; +export { default as count50000Rate1TestResult } from './Validation_BloomFilterTest_MD5_50000_1_membership_test_result.json'; +export { default as count50000Rate01TestData } from './Validation_BloomFilterTest_MD5_50000_01_bloom_filter_proto.json'; +export { default as count50000Rate01TestResult } from './Validation_BloomFilterTest_MD5_50000_01_membership_test_result.json'; +export { default as count50000Rate0001TestData } from './Validation_BloomFilterTest_MD5_50000_0001_bloom_filter_proto.json'; +export { default as count50000Rate0001TestResult } from './Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json'; From 4aaecdab4ae56e85d15fbe131d894607abfddb82 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Mon, 28 Nov 2022 16:18:06 -0800 Subject: [PATCH 29/31] run yarn format --- packages/firestore/src/remote/bloom_filter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index 95c746f5b30..c3a4c40c4b7 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -85,7 +85,7 @@ export class BloomFilter { private isBitSet(index: number): boolean { // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). const byte = this.bitmap[Math.floor(index / 8)]; - return (byte & (0x01 << (index % 8))) !== 0; + return (byte & (0x01 << index % 8)) !== 0; } mightContain(value: string): boolean { From 9a11614a30103a92bf1fc2dea17024bfa8673716 Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Tue, 29 Nov 2022 14:19:36 -0800 Subject: [PATCH 30/31] resolve comments --- packages/firestore/src/remote/bloom_filter.ts | 55 ++++++++++--------- .../test/unit/core/webchannel_wrapper.test.ts | 13 +++++ .../test/unit/remote/bloom_filter.test.ts | 45 ++++++++------- packages/webchannel-wrapper/src/index.d.ts | 2 + 4 files changed, 70 insertions(+), 45 deletions(-) diff --git a/packages/firestore/src/remote/bloom_filter.ts b/packages/firestore/src/remote/bloom_filter.ts index c3a4c40c4b7..041848ef35b 100644 --- a/packages/firestore/src/remote/bloom_filter.ts +++ b/packages/firestore/src/remote/bloom_filter.ts @@ -19,7 +19,28 @@ import { Md5, Integer } from '@firebase/webchannel-wrapper'; import { newTextEncoder } from '../platform/serializer'; import { debugAssert } from '../util/assert'; -const MAX_64_BIT_UNSIGNED_INTEGER = Integer.fromNumber(Math.pow(2, 64)); +const MAX_64_BIT_UNSIGNED_INTEGER = new Integer([0xffffffff, 0xffffffff], 0); + +// Hash a string using md5 hashing algorithm. +function getMd5HashValue(value: string): Uint8Array { + const encodedValue = newTextEncoder().encode(value); + const md5 = new Md5(); + md5.update(encodedValue); + return new Uint8Array(md5.digest()); +} + +// Interpret the 16 bytes array as two 64-bit unsigned integers, encoded using +// 2’s complement using little endian. +function get64BitUints(Bytes: Uint8Array): [Integer, Integer] { + const dataView = new DataView(Bytes.buffer); + const chunk1 = dataView.getUint32(0, /* littleEndian= */ true); + const chunk2 = dataView.getUint32(4, /* littleEndian= */ true); + const chunk3 = dataView.getUint32(8, /* littleEndian= */ true); + const chunk4 = dataView.getUint32(12, /* littleEndian= */ true); + const integer1 = new Integer([chunk1, chunk2], 0); + const integer2 = new Integer([chunk3, chunk4], 0); + return [integer1, integer2]; +} export class BloomFilter { readonly size: number; @@ -45,30 +66,10 @@ export class BloomFilter { } this.size = bitmap.length * 8 - padding; + // Set the size in Integer to avoid repeated calculation in mightContain(). this.sizeInInteger = Integer.fromNumber(this.size); } - // Hash a string using md5 hashing algorithm. - private static getMd5HashValue(value: string): Uint8Array { - const md5 = new Md5(); - const encodedValue = newTextEncoder().encode(value); - md5.update(encodedValue); - return new Uint8Array(md5.digest()); - } - - // Interpret the 16 bytes array as two 64-bit unsigned integers, encoded using 2’s - // complement using little endian. - private static get64BitUints(Bytes: Uint8Array): [Integer, Integer] { - const dataView = new DataView(Bytes.buffer); - const chunk1 = dataView.getUint32(0, /* littleEndian= */ true); - const chunk2 = dataView.getUint32(4, /* littleEndian= */ true); - const chunk3 = dataView.getUint32(8, /* littleEndian= */ true); - const chunk4 = dataView.getUint32(12, /* littleEndian= */ true); - const integer1 = new Integer([chunk1, chunk2], 0); - const integer2 = new Integer([chunk3, chunk4], 0); - return [integer1, integer2]; - } - // Calculate the ith hash value based on the hashed 64bit integers, // and calculate its corresponding bit index in the bitmap to be checked. private getBitIndex(num1: Integer, num2: Integer, index: number): number { @@ -85,17 +86,19 @@ export class BloomFilter { private isBitSet(index: number): boolean { // To retrieve bit n, calculate: (bitmap[n / 8] & (0x01 << (n % 8))). const byte = this.bitmap[Math.floor(index / 8)]; - return (byte & (0x01 << index % 8)) !== 0; + const offset = index % 8; + return (byte & (0x01 << offset)) !== 0; } mightContain(value: string): boolean { - // Empty bitmap and empty value should always return false on membership check. + // Empty bitmap and empty value should always return false on membership + // check. if (this.size === 0 || value === '') { return false; } - const md5HashedValue = BloomFilter.getMd5HashValue(value); - const [hash1, hash2] = BloomFilter.get64BitUints(md5HashedValue); + const md5HashedValue = getMd5HashValue(value); + const [hash1, hash2] = get64BitUints(md5HashedValue); for (let i = 0; i < this.hashCount; i++) { const index = this.getBitIndex(hash1, hash2, i); if (!this.isBitSet(index)) { diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index 08376a607cc..a82813a69ae 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -348,4 +348,17 @@ describe('Integer', () => { expect(Integer.fromString('125715', 8).toNumber()).equals(43981); expect(Integer.fromString('1010101111001101', 2).toNumber()).equals(43981); }); + + it('getBits() create a new Integer with the given value', () => { + expect(new Integer([1, 2], 0).getBits(0)).equals(1); + expect(new Integer([1, 2], 0).getBits(1)).equals(2); + expect(new Integer([-1, -2], -1).getBits(0)).equals(-1); + expect(new Integer([-1, -2], -1).getBits(1)).equals(-2); + expect(new Integer([0xff, 0xffff], 0).getBits(0)).equals( + Integer.fromNumber(0xff).toNumber() + ); + expect(new Integer([0xff, 0xffff], 0).getBits(1)).equals( + Integer.fromNumber(0xffff).toNumber() + ); + }); }); diff --git a/packages/firestore/test/unit/remote/bloom_filter.test.ts b/packages/firestore/test/unit/remote/bloom_filter.test.ts index 4612ffa6fde..d33c4521a58 100644 --- a/packages/firestore/test/unit/remote/bloom_filter.test.ts +++ b/packages/firestore/test/unit/remote/bloom_filter.test.ts @@ -37,16 +37,31 @@ describe('BloomFilter', () => { }); it('can instantiate a non empty bloom filter', () => { - const bloomFilter = new BloomFilter(new Uint8Array([255, 255, 124]), 3, 13); - expect(bloomFilter.size).to.equal(21); + const bloomFilter0 = new BloomFilter(new Uint8Array(1), 0, 1); + const bloomFilter1 = new BloomFilter(new Uint8Array(1), 1, 1); + const bloomFilter2 = new BloomFilter(new Uint8Array(1), 2, 1); + const bloomFilter3 = new BloomFilter(new Uint8Array(1), 3, 1); + const bloomFilter4 = new BloomFilter(new Uint8Array(1), 4, 1); + const bloomFilter5 = new BloomFilter(new Uint8Array(1), 5, 1); + const bloomFilter6 = new BloomFilter(new Uint8Array(1), 6, 1); + const bloomFilter7 = new BloomFilter(new Uint8Array(1), 7, 1); + + expect(bloomFilter0.size).to.equal(8); + expect(bloomFilter1.size).to.equal(7); + expect(bloomFilter2.size).to.equal(6); + expect(bloomFilter3.size).to.equal(5); + expect(bloomFilter4.size).to.equal(4); + expect(bloomFilter5.size).to.equal(3); + expect(bloomFilter6.size).to.equal(2); + expect(bloomFilter7.size).to.equal(1); }); it('should throw error if padding is invalid', () => { expect(() => new BloomFilter(new Uint8Array(1), -1, 1)).to.throw( 'Invalid padding: -1' ); - expect(() => new BloomFilter(new Uint8Array(1), 9, 1)).to.throw( - 'Invalid padding: 9' + expect(() => new BloomFilter(new Uint8Array(1), 8, 1)).to.throw( + 'Invalid padding: 8' ); }); @@ -102,7 +117,7 @@ describe('BloomFilter', () => { const documentPrefix = 'projects/project-1/databases/database-1/documents/coll/doc'; - interface TestDataType { + interface GoldenTestInput { bits: { bitmap: string; padding: number; @@ -110,17 +125,13 @@ describe('BloomFilter', () => { hashCount: number; } - interface TestResultType { + interface GoldenTestExpectedResult { membershipTestResults: string; } - function decodeBase64ToUint8Array(encoded: string): Uint8Array { - return ByteString.fromBase64String(encoded).toUint8Array(); - } - function testBloomFilterAgainstExpectedResult( - bloomFilterInputs: TestDataType, - expectedResult: TestResultType + bloomFilterInputs: GoldenTestInput, + expectedResult: GoldenTestExpectedResult ): void { const { bits: { bitmap, padding }, @@ -128,14 +139,10 @@ describe('BloomFilter', () => { } = bloomFilterInputs; const { membershipTestResults } = expectedResult; - const bloomFilter = new BloomFilter( - decodeBase64ToUint8Array(bitmap), - padding, - hashCount - ); + const byteArray = ByteString.fromBase64String(bitmap).toUint8Array(); + const bloomFilter = new BloomFilter(byteArray, padding, hashCount); for (let i = 0; i < membershipTestResults.length; i++) { - const expectedMembershipResult = - membershipTestResults[i] === '1' ? true : false; + const expectedMembershipResult = membershipTestResults[i] === '1'; const mightContain = bloomFilter.mightContain(documentPrefix + i); expect(mightContain).to.equal(expectedMembershipResult); } diff --git a/packages/webchannel-wrapper/src/index.d.ts b/packages/webchannel-wrapper/src/index.d.ts index aee1000baeb..59e1e45f56f 100644 --- a/packages/webchannel-wrapper/src/index.d.ts +++ b/packages/webchannel-wrapper/src/index.d.ts @@ -138,6 +138,8 @@ export class FetchXmlHttpFactory { } // See https://google.github.io/closure-library/api/goog.crypt.Md5.html +// Unit test are written in +// packages/firestore/test/unit/core/webchannel_wrapper.test.ts export class Md5 { reset(): void; digest(): Array; From 144090860c40ff1b199978d5299f27cedd91193e Mon Sep 17 00:00:00 2001 From: milaGGL <107142260+milaGGL@users.noreply.github.com> Date: Tue, 29 Nov 2022 23:18:59 -0800 Subject: [PATCH 31/31] resolve comments --- .../firestore/test/unit/core/webchannel_wrapper.test.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts index a82813a69ae..9d1f924735c 100644 --- a/packages/firestore/test/unit/core/webchannel_wrapper.test.ts +++ b/packages/firestore/test/unit/core/webchannel_wrapper.test.ts @@ -354,11 +354,7 @@ describe('Integer', () => { expect(new Integer([1, 2], 0).getBits(1)).equals(2); expect(new Integer([-1, -2], -1).getBits(0)).equals(-1); expect(new Integer([-1, -2], -1).getBits(1)).equals(-2); - expect(new Integer([0xff, 0xffff], 0).getBits(0)).equals( - Integer.fromNumber(0xff).toNumber() - ); - expect(new Integer([0xff, 0xffff], 0).getBits(1)).equals( - Integer.fromNumber(0xffff).toNumber() - ); + expect(new Integer([0xff, 0xffff], 0).getBits(0)).equals(0xff); + expect(new Integer([0xff, 0xffff], 0).getBits(1)).equals(0xffff); }); });