├── .gitignore ├── cli.js ├── index.js ├── license ├── package.json ├── readme.md ├── test.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const contrast = require("."); 4 | 5 | if (process.argv.length <= 2) { 6 | console.error("usage: contrast [color2 (default: #fff)]"); 7 | process.exit(); 8 | } 9 | 10 | const color1 = process.argv[2]; 11 | const color2 = process.argv[3] || "#fff"; 12 | 13 | console.log("Ratio:", contrast.ratio(color1, color2)); 14 | console.log("Score:", contrast.score(color1, color2)); 15 | 16 | if (!contrast.isAccessible(color1, color2)) { 17 | console.log("The contrast is not accessible."); 18 | process.exit(1); 19 | } 20 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const rgb = require("rgb"); 2 | const wcag = require("wcag-contrast"); 3 | const isBlank = require("is-blank"); 4 | const isNamedCssColor = require("is-named-css-color"); 5 | const cssColorNames = require("css-color-names"); 6 | 7 | module.exports.ratio = ratio; 8 | module.exports.score = score; 9 | module.exports.isAccessible = isAccessible; 10 | module.exports.isNotTransparent = isNotTransparent; 11 | 12 | function ratio(colorOne, colorTwo, options) { 13 | colorOne = getRgbTriplet(colorOne, options); 14 | colorTwo = getRgbTriplet(colorTwo, options); 15 | 16 | return wcag.rgb(colorOne, colorTwo); 17 | } 18 | 19 | function score(colorOne, colorTwo, options) { 20 | var wcagScore = wcag.score(ratio(colorOne, colorTwo, options)); 21 | 22 | if (isBlank(wcagScore)) { 23 | return "F"; 24 | } else { 25 | return wcagScore; 26 | } 27 | } 28 | 29 | function isAccessible(colorOne, colorTwo, options) { 30 | return ratio(colorOne, colorTwo, options) > 4.5; 31 | } 32 | 33 | function getRgbTriplet(providedColor, options) { 34 | if (typeof providedColor !== "string") { 35 | throw new TypeError("get-contrast expects colors as strings"); 36 | } 37 | 38 | let color = providedColor.toLowerCase() 39 | 40 | if (isNamedCssColor(color)) { 41 | color = cssColorNames[color]; 42 | } 43 | 44 | color = isNotTransparent(color, options); 45 | return color 46 | .match(/\((.*)\)/)[1] 47 | .split(",") 48 | .slice(0, 3); 49 | } 50 | 51 | function isNotTransparent(color, options) { 52 | options = options || {}; 53 | 54 | // Convert to RGB. 55 | color = rgb(color); 56 | // Check if the rgb returned color is rgba and if the 'a' value is 0. 57 | const cArray = color.match(/\((.*)\)/)[1].split(","); 58 | if (cArray.length == 4 && cArray[3] == "0" && !options.ignoreAlpha) { 59 | throw new TypeError("get-contrast cannot contrast transparent colors"); 60 | } else { 61 | return color; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2021 John Otander 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "get-contrast", 3 | "version": "3.0.1", 4 | "description": "Get the contrast ratio and WCAG score between common CSS color types.", 5 | "main": "index.js", 6 | "files": [ 7 | "cli.js", 8 | "index.js" 9 | ], 10 | "bin": { 11 | "contrast": "./cli.js" 12 | }, 13 | "scripts": { 14 | "test": "ava -v" 15 | }, 16 | "repository": "johno/get-contrast", 17 | "keywords": [ 18 | "wcag", 19 | "color", 20 | "contrast", 21 | "contrast-ratio" 22 | ], 23 | "author": "John Otander (http://johnotander.com/)", 24 | "license": "MIT", 25 | "dependencies": { 26 | "css-color-names": "1.0.1", 27 | "is-blank": "2.1.0", 28 | "is-named-css-color": "1.0.0", 29 | "rgb": "^0.1.0", 30 | "wcag-contrast": "3.0.0" 31 | }, 32 | "devDependencies": { 33 | "ava": "^4.3.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # get-contrast 2 | 3 | Get the contrast ratio and WCAG score for two colors based on 4 | [W3C Accessibility Standards](http://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast). 5 | It handles rgb, rgba, hex, hsl, hsla, and named CSS colors. 6 | 7 | ## Installation 8 | 9 | ``` 10 | npm i --save get-contrast 11 | # yarn add get-contrast 12 | ``` 13 | 14 | ## Usage 15 | 16 | ```javascript 17 | const contrast = require("get-contrast"); 18 | 19 | contrast.ratio("#fafafa", "rgba(0,0,0,.75)"); // => 10 20 | contrast.score("#fafafa", "rgba(0,0,0,.75)"); // => 'AAA' 21 | contrast.isAccessible("#fafafa", "rgba(0,0,0,.75)"); // => true 22 | contrast.isAccessible("#fafafa", "#fff"); // => false 23 | contrast.score("rebeccapurple", "tomato"); // => 'F' 24 | ``` 25 | 26 | #### Options 27 | 28 | - `ignoreAlpha` (default: `false`) - Don't raise an error when transparent values are passed (`rgba(0, 0, 0, 0)`) 29 | 30 | ```js 31 | contrast.score("rgba(0, 0, 0, 0)", "rgba(255, 255, 255, 0)", { 32 | ignoreAlpha: true, 33 | }); // => 'AAA' 34 | ``` 35 | 36 | ## CLI 37 | 38 | This module includes a command line interface `contrast`. 39 | 40 | ```sh 41 | $ npm i get-contrast -g 42 | $ contrast "#000" "#fff" 43 | Ratio: 21 44 | Score: AAA 45 | # The second parameter defaults to #fff 46 | $ contrast white 47 | Ratio: 1 48 | Score: F 49 | The contrast is not accessible. 50 | # Contrast will exit with an error code, when the values are not accessible. 51 | $ contrast "#ff0" "#fff" && ./deploy.sh 52 | Ratio: 1.0738392309265699 53 | Score: F 54 | The contrast is not accessible. 55 | ``` 56 | 57 | ## Related 58 | 59 | Uses the following packages: 60 | 61 | - 62 | - 63 | 64 | Inspired by: 65 | 66 | - 67 | 68 | ## License 69 | 70 | MIT 71 | 72 | ## Contributing 73 | 74 | 1. Fork it 75 | 2. Create your feature branch (`git checkout -b my-new-feature`) 76 | 3. Commit your changes (`git commit -am 'Add some feature'`) 77 | 4. Push to the branch (`git push origin my-new-feature`) 78 | 5. Create new Pull Request 79 | 80 | > Authored by [John Otander](http://johno.com) ([@4lpine](https://twitter.com/4lpine)). 81 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | const test = require("ava"); 2 | const contrast = require("."); 3 | 4 | test("ratio", (t) => { 5 | t.deepEqual(Math.round(contrast.ratio("#fafafa", "rgba(0,0,0,.75)")), 20); 6 | t.truthy(contrast.ratio("tomato", "rebeccapurple")); 7 | }); 8 | 9 | test("score", (t) => { 10 | t.deepEqual(contrast.score("#fafafa", "rgba(0,0,0,.75)"), "AAA"); 11 | t.deepEqual(contrast.score("#fafafa", "#fff"), "Fail"); 12 | t.deepEqual(contrast.score("tomato", "DarkSlateGray"), "AA Large"); 13 | }); 14 | 15 | test("isAccessible", (t) => { 16 | t.falsy(contrast.isAccessible("#fafafa", "#fff")); 17 | t.truthy(contrast.isAccessible("#fafafa", "rgba(0,0,0,.75)")); 18 | }); 19 | 20 | test("isNotTransparent", (t) => { 21 | t.throws(() => contrast.isNotTransparent("rgba(255,255,255,0)")); 22 | t.throws(() => contrast.isNotTransparent("hsl(100,100,100,0)")); 23 | t.throws(() => contrast.isNotTransparent("transparent")); 24 | t.throws(() => contrast.isNotTransparent("#FFFFFF00")); 25 | 26 | t.truthy( 27 | contrast.isNotTransparent("rgba(0, 0, 0, 0)", { ignoreAlpha: true }) 28 | ); 29 | }); 30 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@nodelib/fs.scandir@2.1.5": 6 | version "2.1.5" 7 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 8 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 9 | dependencies: 10 | "@nodelib/fs.stat" "2.0.5" 11 | run-parallel "^1.1.9" 12 | 13 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 14 | version "2.0.5" 15 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 16 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 17 | 18 | "@nodelib/fs.walk@^1.2.3": 19 | version "1.2.8" 20 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 21 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 22 | dependencies: 23 | "@nodelib/fs.scandir" "2.1.5" 24 | fastq "^1.6.0" 25 | 26 | acorn-walk@^8.2.0: 27 | version "8.2.0" 28 | resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" 29 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 30 | 31 | acorn@^8.7.1: 32 | version "8.7.1" 33 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz" 34 | integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== 35 | 36 | aggregate-error@^3.0.0: 37 | version "3.1.0" 38 | resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" 39 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 40 | dependencies: 41 | clean-stack "^2.0.0" 42 | indent-string "^4.0.0" 43 | 44 | aggregate-error@^4.0.0: 45 | version "4.0.1" 46 | resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz" 47 | integrity sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== 48 | dependencies: 49 | clean-stack "^4.0.0" 50 | indent-string "^5.0.0" 51 | 52 | ansi-regex@^5.0.1: 53 | version "5.0.1" 54 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 55 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 56 | 57 | ansi-regex@^6.0.1: 58 | version "6.0.1" 59 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" 60 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 61 | 62 | ansi-styles@^4.0.0: 63 | version "4.3.0" 64 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 65 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 66 | dependencies: 67 | color-convert "^2.0.1" 68 | 69 | ansi-styles@^6.0.0, ansi-styles@^6.1.0: 70 | version "6.1.0" 71 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" 72 | integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== 73 | 74 | anymatch@~3.1.2: 75 | version "3.1.2" 76 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" 77 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 78 | dependencies: 79 | normalize-path "^3.0.0" 80 | picomatch "^2.0.4" 81 | 82 | argparse@^1.0.7: 83 | version "1.0.10" 84 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 85 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 86 | dependencies: 87 | sprintf-js "~1.0.2" 88 | 89 | array-find-index@^1.0.1: 90 | version "1.0.2" 91 | resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" 92 | integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= 93 | 94 | array-union@^2.1.0: 95 | version "2.1.0" 96 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 97 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 98 | 99 | arrgv@^1.0.2: 100 | version "1.0.2" 101 | resolved "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz" 102 | integrity sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw== 103 | 104 | arrify@^3.0.0: 105 | version "3.0.0" 106 | resolved "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz" 107 | integrity sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== 108 | 109 | ava@^4.3.0: 110 | version "4.3.0" 111 | resolved "https://registry.npmjs.org/ava/-/ava-4.3.0.tgz" 112 | integrity sha512-Ap0u8rp8wOBN6CxshgxrPSe191e8g52RWGoXeDB57ubo4fyZyStfI6OxQi/bl0yxIDEOYHhCiGwihbzlMNJw3Q== 113 | dependencies: 114 | acorn "^8.7.1" 115 | acorn-walk "^8.2.0" 116 | ansi-styles "^6.1.0" 117 | arrgv "^1.0.2" 118 | arrify "^3.0.0" 119 | callsites "^4.0.0" 120 | cbor "^8.1.0" 121 | chalk "^5.0.1" 122 | chokidar "^3.5.3" 123 | chunkd "^2.0.1" 124 | ci-info "^3.3.1" 125 | ci-parallel-vars "^1.0.1" 126 | clean-yaml-object "^0.1.0" 127 | cli-truncate "^3.1.0" 128 | code-excerpt "^4.0.0" 129 | common-path-prefix "^3.0.0" 130 | concordance "^5.0.4" 131 | currently-unhandled "^0.4.1" 132 | debug "^4.3.4" 133 | del "^6.1.1" 134 | emittery "^0.11.0" 135 | figures "^4.0.1" 136 | globby "^13.1.1" 137 | ignore-by-default "^2.1.0" 138 | indent-string "^5.0.0" 139 | is-error "^2.2.2" 140 | is-plain-object "^5.0.0" 141 | is-promise "^4.0.0" 142 | matcher "^5.0.0" 143 | mem "^9.0.2" 144 | ms "^2.1.3" 145 | p-event "^5.0.1" 146 | p-map "^5.4.0" 147 | picomatch "^2.3.1" 148 | pkg-conf "^4.0.0" 149 | plur "^5.1.0" 150 | pretty-ms "^7.0.1" 151 | resolve-cwd "^3.0.0" 152 | slash "^3.0.0" 153 | stack-utils "^2.0.5" 154 | strip-ansi "^7.0.1" 155 | supertap "^3.0.1" 156 | temp-dir "^2.0.0" 157 | write-file-atomic "^4.0.1" 158 | yargs "^17.5.1" 159 | 160 | balanced-match@^1.0.0: 161 | version "1.0.2" 162 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 163 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 164 | 165 | binary-extensions@^2.0.0: 166 | version "2.2.0" 167 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" 168 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 169 | 170 | blueimp-md5@^2.10.0: 171 | version "2.18.0" 172 | resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz" 173 | integrity sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q== 174 | 175 | brace-expansion@^1.1.7: 176 | version "1.1.11" 177 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 178 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 179 | dependencies: 180 | balanced-match "^1.0.0" 181 | concat-map "0.0.1" 182 | 183 | braces@^3.0.2, braces@~3.0.2: 184 | version "3.0.2" 185 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 186 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 187 | dependencies: 188 | fill-range "^7.0.1" 189 | 190 | callsites@^4.0.0: 191 | version "4.0.0" 192 | resolved "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz" 193 | integrity sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ== 194 | 195 | cbor@^8.1.0: 196 | version "8.1.0" 197 | resolved "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz" 198 | integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== 199 | dependencies: 200 | nofilter "^3.1.0" 201 | 202 | chalk@^5.0.1: 203 | version "5.0.1" 204 | resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" 205 | integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== 206 | 207 | chokidar@^3.5.3: 208 | version "3.5.3" 209 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" 210 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 211 | dependencies: 212 | anymatch "~3.1.2" 213 | braces "~3.0.2" 214 | glob-parent "~5.1.2" 215 | is-binary-path "~2.1.0" 216 | is-glob "~4.0.1" 217 | normalize-path "~3.0.0" 218 | readdirp "~3.6.0" 219 | optionalDependencies: 220 | fsevents "~2.3.2" 221 | 222 | chunkd@^2.0.1: 223 | version "2.0.1" 224 | resolved "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz" 225 | integrity sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ== 226 | 227 | ci-info@^3.3.1: 228 | version "3.3.2" 229 | resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz" 230 | integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== 231 | 232 | ci-parallel-vars@^1.0.1: 233 | version "1.0.1" 234 | resolved "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.1.tgz" 235 | integrity sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg== 236 | 237 | clean-stack@^2.0.0: 238 | version "2.2.0" 239 | resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" 240 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 241 | 242 | clean-stack@^4.0.0: 243 | version "4.2.0" 244 | resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz" 245 | integrity sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== 246 | dependencies: 247 | escape-string-regexp "5.0.0" 248 | 249 | clean-yaml-object@^0.1.0: 250 | version "0.1.0" 251 | resolved "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz" 252 | integrity sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g= 253 | 254 | cli-truncate@^3.1.0: 255 | version "3.1.0" 256 | resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" 257 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 258 | dependencies: 259 | slice-ansi "^5.0.0" 260 | string-width "^5.0.0" 261 | 262 | cliui@^7.0.2: 263 | version "7.0.4" 264 | resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" 265 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 266 | dependencies: 267 | string-width "^4.2.0" 268 | strip-ansi "^6.0.0" 269 | wrap-ansi "^7.0.0" 270 | 271 | code-excerpt@^4.0.0: 272 | version "4.0.0" 273 | resolved "https://registry.npmjs.org/code-excerpt/-/code-excerpt-4.0.0.tgz" 274 | integrity sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA== 275 | dependencies: 276 | convert-to-spaces "^2.0.1" 277 | 278 | color-convert@^2.0.1: 279 | version "2.0.1" 280 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 281 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 282 | dependencies: 283 | color-name "~1.1.4" 284 | 285 | color-name@~1.1.4: 286 | version "1.1.4" 287 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 288 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 289 | 290 | common-path-prefix@^3.0.0: 291 | version "3.0.0" 292 | resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" 293 | integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== 294 | 295 | concat-map@0.0.1: 296 | version "0.0.1" 297 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 298 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 299 | 300 | concordance@^5.0.4: 301 | version "5.0.4" 302 | resolved "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz" 303 | integrity sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw== 304 | dependencies: 305 | date-time "^3.1.0" 306 | esutils "^2.0.3" 307 | fast-diff "^1.2.0" 308 | js-string-escape "^1.0.1" 309 | lodash "^4.17.15" 310 | md5-hex "^3.0.1" 311 | semver "^7.3.2" 312 | well-known-symbols "^2.0.0" 313 | 314 | convert-to-spaces@^2.0.1: 315 | version "2.0.1" 316 | resolved "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-2.0.1.tgz" 317 | integrity sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ== 318 | 319 | css-color-list@0.0.1: 320 | version "0.0.1" 321 | resolved "https://registry.npmjs.org/css-color-list/-/css-color-list-0.0.1.tgz" 322 | integrity sha1-hxjoaVrnosyHh76HFfHACKfyixU= 323 | dependencies: 324 | css-color-names "0.0.1" 325 | 326 | css-color-names@0.0.1: 327 | version "0.0.1" 328 | resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.1.tgz" 329 | integrity sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE= 330 | 331 | css-color-names@1.0.1: 332 | version "1.0.1" 333 | resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz" 334 | integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== 335 | 336 | currently-unhandled@^0.4.1: 337 | version "0.4.1" 338 | resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" 339 | integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= 340 | dependencies: 341 | array-find-index "^1.0.1" 342 | 343 | date-time@^3.1.0: 344 | version "3.1.0" 345 | resolved "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz" 346 | integrity sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg== 347 | dependencies: 348 | time-zone "^1.0.0" 349 | 350 | debug@^4.3.4: 351 | version "4.3.4" 352 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 353 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 354 | dependencies: 355 | ms "2.1.2" 356 | 357 | del@^6.1.1: 358 | version "6.1.1" 359 | resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" 360 | integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== 361 | dependencies: 362 | globby "^11.0.1" 363 | graceful-fs "^4.2.4" 364 | is-glob "^4.0.1" 365 | is-path-cwd "^2.2.0" 366 | is-path-inside "^3.0.2" 367 | p-map "^4.0.0" 368 | rimraf "^3.0.2" 369 | slash "^3.0.0" 370 | 371 | dir-glob@^3.0.1: 372 | version "3.0.1" 373 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 374 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 375 | dependencies: 376 | path-type "^4.0.0" 377 | 378 | eastasianwidth@^0.2.0: 379 | version "0.2.0" 380 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" 381 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 382 | 383 | emittery@^0.11.0: 384 | version "0.11.0" 385 | resolved "https://registry.npmjs.org/emittery/-/emittery-0.11.0.tgz" 386 | integrity sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g== 387 | 388 | emoji-regex@^8.0.0: 389 | version "8.0.0" 390 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 391 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 392 | 393 | emoji-regex@^9.2.2: 394 | version "9.2.2" 395 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" 396 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 397 | 398 | escalade@^3.1.1: 399 | version "3.1.1" 400 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 401 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 402 | 403 | escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0: 404 | version "5.0.0" 405 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" 406 | integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== 407 | 408 | escape-string-regexp@^2.0.0: 409 | version "2.0.0" 410 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" 411 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 412 | 413 | esm@^3.0.84: 414 | version "3.2.25" 415 | resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz" 416 | integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== 417 | 418 | esprima@^4.0.0: 419 | version "4.0.1" 420 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 421 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 422 | 423 | esutils@^2.0.3: 424 | version "2.0.3" 425 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 426 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 427 | 428 | fast-diff@^1.2.0: 429 | version "1.2.0" 430 | resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" 431 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 432 | 433 | fast-glob@^3.2.11, fast-glob@^3.2.9: 434 | version "3.2.11" 435 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" 436 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 437 | dependencies: 438 | "@nodelib/fs.stat" "^2.0.2" 439 | "@nodelib/fs.walk" "^1.2.3" 440 | glob-parent "^5.1.2" 441 | merge2 "^1.3.0" 442 | micromatch "^4.0.4" 443 | 444 | fastq@^1.6.0: 445 | version "1.13.0" 446 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 447 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 448 | dependencies: 449 | reusify "^1.0.4" 450 | 451 | figures@^4.0.1: 452 | version "4.0.1" 453 | resolved "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz" 454 | integrity sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== 455 | dependencies: 456 | escape-string-regexp "^5.0.0" 457 | is-unicode-supported "^1.2.0" 458 | 459 | fill-range@^7.0.1: 460 | version "7.0.1" 461 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 462 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 463 | dependencies: 464 | to-regex-range "^5.0.1" 465 | 466 | find-up@^6.0.0: 467 | version "6.3.0" 468 | resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" 469 | integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== 470 | dependencies: 471 | locate-path "^7.1.0" 472 | path-exists "^5.0.0" 473 | 474 | fs.realpath@^1.0.0: 475 | version "1.0.0" 476 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 477 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 478 | 479 | fsevents@~2.3.2: 480 | version "2.3.2" 481 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" 482 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 483 | 484 | get-caller-file@^2.0.5: 485 | version "2.0.5" 486 | resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" 487 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 488 | 489 | glob-parent@^5.1.2, glob-parent@~5.1.2: 490 | version "5.1.2" 491 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 492 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 493 | dependencies: 494 | is-glob "^4.0.1" 495 | 496 | glob@^7.1.3: 497 | version "7.2.3" 498 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" 499 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 500 | dependencies: 501 | fs.realpath "^1.0.0" 502 | inflight "^1.0.4" 503 | inherits "2" 504 | minimatch "^3.1.1" 505 | once "^1.3.0" 506 | path-is-absolute "^1.0.0" 507 | 508 | globby@^11.0.1: 509 | version "11.1.0" 510 | resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" 511 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 512 | dependencies: 513 | array-union "^2.1.0" 514 | dir-glob "^3.0.1" 515 | fast-glob "^3.2.9" 516 | ignore "^5.2.0" 517 | merge2 "^1.4.1" 518 | slash "^3.0.0" 519 | 520 | globby@^13.1.1: 521 | version "13.1.2" 522 | resolved "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz" 523 | integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== 524 | dependencies: 525 | dir-glob "^3.0.1" 526 | fast-glob "^3.2.11" 527 | ignore "^5.2.0" 528 | merge2 "^1.4.1" 529 | slash "^4.0.0" 530 | 531 | graceful-fs@^4.2.4: 532 | version "4.2.10" 533 | resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" 534 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 535 | 536 | ignore-by-default@^2.1.0: 537 | version "2.1.0" 538 | resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-2.1.0.tgz" 539 | integrity sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw== 540 | 541 | ignore@^5.2.0: 542 | version "5.2.0" 543 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" 544 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 545 | 546 | imurmurhash@^0.1.4: 547 | version "0.1.4" 548 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 549 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 550 | 551 | indent-string@^4.0.0: 552 | version "4.0.0" 553 | resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" 554 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 555 | 556 | indent-string@^5.0.0: 557 | version "5.0.0" 558 | resolved "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz" 559 | integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== 560 | 561 | inflight@^1.0.4: 562 | version "1.0.6" 563 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 564 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 565 | dependencies: 566 | once "^1.3.0" 567 | wrappy "1" 568 | 569 | inherits@2: 570 | version "2.0.4" 571 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 572 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 573 | 574 | irregular-plurals@^3.3.0: 575 | version "3.3.0" 576 | resolved "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz" 577 | integrity sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g== 578 | 579 | is-binary-path@~2.1.0: 580 | version "2.1.0" 581 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" 582 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 583 | dependencies: 584 | binary-extensions "^2.0.0" 585 | 586 | is-blank@2.1.0: 587 | version "2.1.0" 588 | resolved "https://registry.npmjs.org/is-blank/-/is-blank-2.1.0.tgz" 589 | integrity sha1-aac9PA1PQX3/+yB6J5XA8OV23gQ= 590 | dependencies: 591 | is-empty latest 592 | is-whitespace latest 593 | 594 | is-empty@latest: 595 | version "1.2.0" 596 | resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" 597 | integrity sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w== 598 | 599 | is-error@^2.2.2: 600 | version "2.2.2" 601 | resolved "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz" 602 | integrity sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg== 603 | 604 | is-extglob@^2.1.1: 605 | version "2.1.1" 606 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 607 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 608 | 609 | is-fullwidth-code-point@^3.0.0: 610 | version "3.0.0" 611 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 612 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 613 | 614 | is-fullwidth-code-point@^4.0.0: 615 | version "4.0.0" 616 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" 617 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 618 | 619 | is-glob@^4.0.1, is-glob@~4.0.1: 620 | version "4.0.3" 621 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 622 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 623 | dependencies: 624 | is-extglob "^2.1.1" 625 | 626 | is-named-css-color@1.0.0: 627 | version "1.0.0" 628 | resolved "https://registry.npmjs.org/is-named-css-color/-/is-named-css-color-1.0.0.tgz" 629 | integrity sha1-O1+JvcSlFf9O0lcU/8ZBKaJVmbc= 630 | dependencies: 631 | css-color-list "0.0.1" 632 | 633 | is-number@^7.0.0: 634 | version "7.0.0" 635 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 636 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 637 | 638 | is-path-cwd@^2.2.0: 639 | version "2.2.0" 640 | resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" 641 | integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== 642 | 643 | is-path-inside@^3.0.2: 644 | version "3.0.3" 645 | resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" 646 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 647 | 648 | is-plain-object@^5.0.0: 649 | version "5.0.0" 650 | resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" 651 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== 652 | 653 | is-promise@^4.0.0: 654 | version "4.0.0" 655 | resolved "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz" 656 | integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== 657 | 658 | is-unicode-supported@^1.2.0: 659 | version "1.2.0" 660 | resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.2.0.tgz" 661 | integrity sha512-wH+U77omcRzevfIG8dDhTS0V9zZyweakfD01FULl97+0EHiJTTZtJqxPSkIIo/SDPv/i07k/C9jAPY+jwLLeUQ== 662 | 663 | is-whitespace@latest: 664 | version "0.3.0" 665 | resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" 666 | integrity sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg== 667 | 668 | js-string-escape@^1.0.1: 669 | version "1.0.1" 670 | resolved "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz" 671 | integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8= 672 | 673 | js-yaml@^3.14.1: 674 | version "3.14.1" 675 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 676 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 677 | dependencies: 678 | argparse "^1.0.7" 679 | esprima "^4.0.0" 680 | 681 | load-json-file@^7.0.0: 682 | version "7.0.1" 683 | resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz" 684 | integrity sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ== 685 | 686 | locate-path@^7.1.0: 687 | version "7.1.1" 688 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.1.1.tgz" 689 | integrity sha512-vJXaRMJgRVD3+cUZs3Mncj2mxpt5mP0EmNOsxRSZRMlbqjvxzDEOIUWXGmavo0ZC9+tNZCBLQ66reA11nbpHZg== 690 | dependencies: 691 | p-locate "^6.0.0" 692 | 693 | lodash@^4.17.15: 694 | version "4.17.21" 695 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" 696 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 697 | 698 | lru-cache@^6.0.0: 699 | version "6.0.0" 700 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 701 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 702 | dependencies: 703 | yallist "^4.0.0" 704 | 705 | map-age-cleaner@^0.1.3: 706 | version "0.1.3" 707 | resolved "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz" 708 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 709 | dependencies: 710 | p-defer "^1.0.0" 711 | 712 | matcher@^5.0.0: 713 | version "5.0.0" 714 | resolved "https://registry.npmjs.org/matcher/-/matcher-5.0.0.tgz" 715 | integrity sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw== 716 | dependencies: 717 | escape-string-regexp "^5.0.0" 718 | 719 | md5-hex@^3.0.1: 720 | version "3.0.1" 721 | resolved "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz" 722 | integrity sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw== 723 | dependencies: 724 | blueimp-md5 "^2.10.0" 725 | 726 | mem@^9.0.2: 727 | version "9.0.2" 728 | resolved "https://registry.npmjs.org/mem/-/mem-9.0.2.tgz" 729 | integrity sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A== 730 | dependencies: 731 | map-age-cleaner "^0.1.3" 732 | mimic-fn "^4.0.0" 733 | 734 | merge2@^1.3.0, merge2@^1.4.1: 735 | version "1.4.1" 736 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 737 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 738 | 739 | micromatch@^4.0.4: 740 | version "4.0.5" 741 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 742 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 743 | dependencies: 744 | braces "^3.0.2" 745 | picomatch "^2.3.1" 746 | 747 | mimic-fn@^4.0.0: 748 | version "4.0.0" 749 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" 750 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 751 | 752 | minimatch@^3.1.1: 753 | version "3.1.2" 754 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 755 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 756 | dependencies: 757 | brace-expansion "^1.1.7" 758 | 759 | ms@2.1.2: 760 | version "2.1.2" 761 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 762 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 763 | 764 | ms@^2.1.3: 765 | version "2.1.3" 766 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" 767 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 768 | 769 | nofilter@^3.1.0: 770 | version "3.1.0" 771 | resolved "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz" 772 | integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== 773 | 774 | normalize-path@^3.0.0, normalize-path@~3.0.0: 775 | version "3.0.0" 776 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 777 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 778 | 779 | once@^1.3.0: 780 | version "1.4.0" 781 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 782 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 783 | dependencies: 784 | wrappy "1" 785 | 786 | p-defer@^1.0.0: 787 | version "1.0.0" 788 | resolved "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz" 789 | integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== 790 | 791 | p-event@^5.0.1: 792 | version "5.0.1" 793 | resolved "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz" 794 | integrity sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== 795 | dependencies: 796 | p-timeout "^5.0.2" 797 | 798 | p-limit@^4.0.0: 799 | version "4.0.0" 800 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" 801 | integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== 802 | dependencies: 803 | yocto-queue "^1.0.0" 804 | 805 | p-locate@^6.0.0: 806 | version "6.0.0" 807 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" 808 | integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== 809 | dependencies: 810 | p-limit "^4.0.0" 811 | 812 | p-map@^4.0.0: 813 | version "4.0.0" 814 | resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" 815 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 816 | dependencies: 817 | aggregate-error "^3.0.0" 818 | 819 | p-map@^5.4.0: 820 | version "5.5.0" 821 | resolved "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz" 822 | integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== 823 | dependencies: 824 | aggregate-error "^4.0.0" 825 | 826 | p-timeout@^5.0.2: 827 | version "5.1.0" 828 | resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz" 829 | integrity sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== 830 | 831 | parse-ms@^2.1.0: 832 | version "2.1.0" 833 | resolved "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz" 834 | integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== 835 | 836 | path-exists@^5.0.0: 837 | version "5.0.0" 838 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" 839 | integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== 840 | 841 | path-is-absolute@^1.0.0: 842 | version "1.0.1" 843 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 844 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 845 | 846 | path-type@^4.0.0: 847 | version "4.0.0" 848 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 849 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 850 | 851 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 852 | version "2.3.1" 853 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 854 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 855 | 856 | pkg-conf@^4.0.0: 857 | version "4.0.0" 858 | resolved "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz" 859 | integrity sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w== 860 | dependencies: 861 | find-up "^6.0.0" 862 | load-json-file "^7.0.0" 863 | 864 | plur@^5.1.0: 865 | version "5.1.0" 866 | resolved "https://registry.npmjs.org/plur/-/plur-5.1.0.tgz" 867 | integrity sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg== 868 | dependencies: 869 | irregular-plurals "^3.3.0" 870 | 871 | pretty-ms@^7.0.1: 872 | version "7.0.1" 873 | resolved "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz" 874 | integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== 875 | dependencies: 876 | parse-ms "^2.1.0" 877 | 878 | queue-microtask@^1.2.2: 879 | version "1.2.3" 880 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 881 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 882 | 883 | readdirp@~3.6.0: 884 | version "3.6.0" 885 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" 886 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 887 | dependencies: 888 | picomatch "^2.2.1" 889 | 890 | relative-luminance@^2.0.0: 891 | version "2.0.1" 892 | resolved "https://registry.npmjs.org/relative-luminance/-/relative-luminance-2.0.1.tgz" 893 | integrity sha512-wFuITNthJilFPwkK7gNJcULxXBcfFZvZORsvdvxeOdO44wCeZnuQkf3nFFzOR/dpJNxYsdRZJLsepWbyKhnMww== 894 | dependencies: 895 | esm "^3.0.84" 896 | 897 | require-directory@^2.1.1: 898 | version "2.1.1" 899 | resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" 900 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 901 | 902 | resolve-cwd@^3.0.0: 903 | version "3.0.0" 904 | resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" 905 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 906 | dependencies: 907 | resolve-from "^5.0.0" 908 | 909 | resolve-from@^5.0.0: 910 | version "5.0.0" 911 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" 912 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 913 | 914 | reusify@^1.0.4: 915 | version "1.0.4" 916 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 917 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 918 | 919 | rgb@^0.1.0: 920 | version "0.1.0" 921 | resolved "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz" 922 | integrity sha1-vieykej+/+rBvZlylyG/pA/AN7U= 923 | 924 | rimraf@^3.0.2: 925 | version "3.0.2" 926 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 927 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 928 | dependencies: 929 | glob "^7.1.3" 930 | 931 | run-parallel@^1.1.9: 932 | version "1.2.0" 933 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 934 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 935 | dependencies: 936 | queue-microtask "^1.2.2" 937 | 938 | semver@^7.3.2: 939 | version "7.3.5" 940 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" 941 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 942 | dependencies: 943 | lru-cache "^6.0.0" 944 | 945 | serialize-error@^7.0.1: 946 | version "7.0.1" 947 | resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz" 948 | integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== 949 | dependencies: 950 | type-fest "^0.13.1" 951 | 952 | signal-exit@^3.0.7: 953 | version "3.0.7" 954 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" 955 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 956 | 957 | slash@^3.0.0: 958 | version "3.0.0" 959 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 960 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 961 | 962 | slash@^4.0.0: 963 | version "4.0.0" 964 | resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" 965 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 966 | 967 | slice-ansi@^5.0.0: 968 | version "5.0.0" 969 | resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" 970 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 971 | dependencies: 972 | ansi-styles "^6.0.0" 973 | is-fullwidth-code-point "^4.0.0" 974 | 975 | sprintf-js@~1.0.2: 976 | version "1.0.3" 977 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 978 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 979 | 980 | stack-utils@^2.0.5: 981 | version "2.0.5" 982 | resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" 983 | integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== 984 | dependencies: 985 | escape-string-regexp "^2.0.0" 986 | 987 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 988 | version "4.2.3" 989 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 990 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 991 | dependencies: 992 | emoji-regex "^8.0.0" 993 | is-fullwidth-code-point "^3.0.0" 994 | strip-ansi "^6.0.1" 995 | 996 | string-width@^5.0.0: 997 | version "5.1.2" 998 | resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" 999 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1000 | dependencies: 1001 | eastasianwidth "^0.2.0" 1002 | emoji-regex "^9.2.2" 1003 | strip-ansi "^7.0.1" 1004 | 1005 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1006 | version "6.0.1" 1007 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1008 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1009 | dependencies: 1010 | ansi-regex "^5.0.1" 1011 | 1012 | strip-ansi@^7.0.1: 1013 | version "7.0.1" 1014 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" 1015 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 1016 | dependencies: 1017 | ansi-regex "^6.0.1" 1018 | 1019 | supertap@^3.0.1: 1020 | version "3.0.1" 1021 | resolved "https://registry.npmjs.org/supertap/-/supertap-3.0.1.tgz" 1022 | integrity sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw== 1023 | dependencies: 1024 | indent-string "^5.0.0" 1025 | js-yaml "^3.14.1" 1026 | serialize-error "^7.0.1" 1027 | strip-ansi "^7.0.1" 1028 | 1029 | temp-dir@^2.0.0: 1030 | version "2.0.0" 1031 | resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" 1032 | integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== 1033 | 1034 | time-zone@^1.0.0: 1035 | version "1.0.0" 1036 | resolved "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz" 1037 | integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= 1038 | 1039 | to-regex-range@^5.0.1: 1040 | version "5.0.1" 1041 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1042 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1043 | dependencies: 1044 | is-number "^7.0.0" 1045 | 1046 | type-fest@^0.13.1: 1047 | version "0.13.1" 1048 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" 1049 | integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== 1050 | 1051 | wcag-contrast@3.0.0: 1052 | version "3.0.0" 1053 | resolved "https://registry.npmjs.org/wcag-contrast/-/wcag-contrast-3.0.0.tgz" 1054 | integrity sha512-RWbpg/S7FOXDCwqC2oFhN/vh8dHzj0OS6dpyOSDHyQFSmqmR+lAUStV/ziTT1GzDqL9wol+nZQB4vCi5yEak+w== 1055 | dependencies: 1056 | relative-luminance "^2.0.0" 1057 | 1058 | well-known-symbols@^2.0.0: 1059 | version "2.0.0" 1060 | resolved "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz" 1061 | integrity sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q== 1062 | 1063 | wrap-ansi@^7.0.0: 1064 | version "7.0.0" 1065 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" 1066 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1067 | dependencies: 1068 | ansi-styles "^4.0.0" 1069 | string-width "^4.1.0" 1070 | strip-ansi "^6.0.0" 1071 | 1072 | wrappy@1: 1073 | version "1.0.2" 1074 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1075 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1076 | 1077 | write-file-atomic@^4.0.1: 1078 | version "4.0.1" 1079 | resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz" 1080 | integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== 1081 | dependencies: 1082 | imurmurhash "^0.1.4" 1083 | signal-exit "^3.0.7" 1084 | 1085 | y18n@^5.0.5: 1086 | version "5.0.8" 1087 | resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" 1088 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1089 | 1090 | yallist@^4.0.0: 1091 | version "4.0.0" 1092 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1093 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1094 | 1095 | yargs-parser@^21.0.0: 1096 | version "21.0.1" 1097 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" 1098 | integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== 1099 | 1100 | yargs@^17.5.1: 1101 | version "17.5.1" 1102 | resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" 1103 | integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== 1104 | dependencies: 1105 | cliui "^7.0.2" 1106 | escalade "^3.1.1" 1107 | get-caller-file "^2.0.5" 1108 | require-directory "^2.1.1" 1109 | string-width "^4.2.3" 1110 | y18n "^5.0.5" 1111 | yargs-parser "^21.0.0" 1112 | 1113 | yocto-queue@^1.0.0: 1114 | version "1.0.0" 1115 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" 1116 | integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== 1117 | --------------------------------------------------------------------------------