├── .gitignore ├── circle.yml ├── .npmignore ├── rollup.config.js ├── index.js ├── package.json ├── README.md ├── test └── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | version: 6.0.0 4 | 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | .gitignore 4 | circle.yml 5 | index.js 6 | rollup.config.js 7 | yarn.lock 8 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import commonjs from '@rollup/plugin-commonjs'; 2 | import { nodeResolve } from '@rollup/plugin-node-resolve'; 3 | 4 | export default { 5 | input: 'index.js', 6 | output: { 7 | dir: 'dist', 8 | format: 'umd', 9 | name: 'namehash' 10 | }, 11 | plugins: [commonjs(), nodeResolve({ browser: true })] 12 | }; -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var sha3 = require('js-sha3').keccak_256 2 | var uts46 = require('idna-uts46-hx') 3 | 4 | function namehash (inputName) { 5 | // Reject empty names: 6 | var node = '' 7 | for (var i = 0; i < 32; i++) { 8 | node += '00' 9 | } 10 | 11 | var name = normalize(inputName) 12 | 13 | if (name) { 14 | var labels = name.split('.') 15 | 16 | for(var i = labels.length - 1; i >= 0; i--) { 17 | var labelSha = sha3(labels[i]) 18 | node = sha3(new Buffer(node + labelSha, 'hex')) 19 | } 20 | } 21 | 22 | return '0x' + node 23 | } 24 | 25 | function normalize(name) { 26 | return name ? uts46.toUnicode(name, {useStd3ASCII: true, transitional: false}) : name 27 | } 28 | 29 | module.exports = { 30 | hash: namehash, 31 | normalize 32 | } 33 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ensdomains/eth-ens-namehash", 3 | "version": "2.0.15", 4 | "description": "A simple module for generating ENS namehashes per spec https://github.com/ethereum/EIPs/issues/137", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "bundle": "rollup --config rollup.config.js", 8 | "test": "node test" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/ensdomains/eth-ens-namehash.git" 13 | }, 14 | "keywords": [ 15 | "Ethereum", 16 | "ENS" 17 | ], 18 | "author": "Dan Finlay ", 19 | "license": "ISC", 20 | "bugs": { 21 | "url": "https://github.com/ensdomains/eth-ens-namehash/issues" 22 | }, 23 | "homepage": "https://github.com/ensdomains/eth-ens-namehash#readme", 24 | "devDependencies": { 25 | "@rollup/plugin-commonjs": "^20.0.0", 26 | "@rollup/plugin-node-resolve": "^13.0.5", 27 | "idna-uts46-hx": "^3.4.0", 28 | "js-sha3": "^0.5.7", 29 | "rollup": "^2.57.0", 30 | "tape": "^4.6.3" 31 | }, 32 | "directories": { 33 | "test": "test" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Eth ENS Namehash (Fork) 2 | 3 | A javascript library for generating Ethereum Name Service (ENS) namehashes per [spec](https://github.com/ethereum/EIPs/issues/137). 4 | 5 | [Available on NPM](https://www.npmjs.com/package/@ensdomains/eth-ens-namehash) 6 | 7 | ## Installation 8 | 9 | `npm install @ensdomains/eth-ens-namehash -S` 10 | 11 | ## Usage 12 | 13 | ```javascript 14 | var namehash = require('@ensdomains/eth-ens-namehash') 15 | var hash = namehash.hash('foo.eth') 16 | // '0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f' 17 | 18 | // Also supports normalizing strings to ENS compatibility: 19 | var input = getUserInput() 20 | var normalized = namehash.normalize(input) 21 | ``` 22 | 23 | ## Security Warning 24 | 25 | ENS Supports UTF-8 characters, and so many duplicate names are possible. For example: 26 | 27 | - faceboоk.eth 28 | - facebook.eth 29 | 30 | The first one has non-ascii chars. (control+F on this page and search for facebook, only the second one will match). 31 | 32 | namehash.normalize() doesn't automagically remap those, and so other precautions should be taken to avoid user phishing. 33 | 34 | ## Development 35 | 36 | This module supports advanced JavaScript syntax, but exports an ES5-compatible module. To re-build the exported module after making changes, run `npm run bundle` (must have [browserify](http://browserify.org/) installed). 37 | 38 | -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- 1 | const test = require('tape') 2 | const namehash = require('../dist') 3 | 4 | // Test results specified in original ENS Proposal: 5 | // https://github.com/ethereum/EIPs/issues/137 6 | 7 | test('empty name', (t) => { 8 | t.plan(1) 9 | const input = '' 10 | const expected = '0x0000000000000000000000000000000000000000000000000000000000000000' 11 | const output = namehash.hash(input) 12 | t.equal(output, expected) 13 | }) 14 | 15 | test('empty param', (t) => { 16 | t.plan(1) 17 | const expected = '0x0000000000000000000000000000000000000000000000000000000000000000' 18 | const output = namehash.hash() 19 | t.equal(output, expected) 20 | }) 21 | 22 | test('TLD eth', (t) => { 23 | t.plan(1) 24 | const input = 'eth' 25 | const expected = '0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae' 26 | const output = namehash.hash(input) 27 | t.equal(output, expected) 28 | }) 29 | 30 | test('foo.eth', (t) => { 31 | t.plan(1) 32 | const input = 'foo.eth' 33 | const expected = '0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f' 34 | const output = namehash.hash(input) 35 | t.equal(output, expected) 36 | }) 37 | 38 | test('normalize ascii domain', (t) => { 39 | t.plan(1) 40 | const input = 'foo.eth' // latin chars only 41 | const expected = 'foo.eth' 42 | const output = namehash.normalize(input) 43 | t.equal(output, expected) 44 | }) 45 | 46 | 47 | test('normalize international domain', (t) => { 48 | t.plan(1) 49 | const input = 'fоо.eth' // with cyrillic 'o' 50 | const expected = 'fоо.eth' 51 | const output = namehash.normalize(input) 52 | t.equal(output, expected) 53 | }) 54 | 55 | test('normalize capitalized domain', (t) => { 56 | t.plan(1) 57 | const input = 'Foo.eth' // latin chars only 58 | const expected = 'foo.eth' 59 | const output = namehash.normalize(input) 60 | t.equal(output, expected) 61 | }) 62 | 63 | test('normalize emoji domain', (t) => { 64 | t.plan(1) 65 | const input = '🦚.eth' 66 | const expected = '🦚.eth' 67 | const output = namehash.normalize(input) 68 | t.equal(output, expected) 69 | }) 70 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@rollup/plugin-commonjs@^20.0.0": 6 | version "20.0.0" 7 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" 8 | integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== 9 | dependencies: 10 | "@rollup/pluginutils" "^3.1.0" 11 | commondir "^1.0.1" 12 | estree-walker "^2.0.1" 13 | glob "^7.1.6" 14 | is-reference "^1.2.1" 15 | magic-string "^0.25.7" 16 | resolve "^1.17.0" 17 | 18 | "@rollup/plugin-node-resolve@^13.0.5": 19 | version "13.0.5" 20 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.5.tgz#016abe58796a4ff544d6beac7818921e3d3777fc" 21 | integrity sha512-mVaw6uxtvuGx/XCI4qBQXsDZJUfyx5vp39iE0J/7Hd6wDhEbjHr6aES7Nr9yWbuE0BY+oKp6N7Bq6jX5NCGNmQ== 22 | dependencies: 23 | "@rollup/pluginutils" "^3.1.0" 24 | "@types/resolve" "1.17.1" 25 | builtin-modules "^3.1.0" 26 | deepmerge "^4.2.2" 27 | is-module "^1.0.0" 28 | resolve "^1.19.0" 29 | 30 | "@rollup/pluginutils@^3.1.0": 31 | version "3.1.0" 32 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 33 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 34 | dependencies: 35 | "@types/estree" "0.0.39" 36 | estree-walker "^1.0.1" 37 | picomatch "^2.2.2" 38 | 39 | "@types/estree@*": 40 | version "0.0.50" 41 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 42 | integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 43 | 44 | "@types/estree@0.0.39": 45 | version "0.0.39" 46 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 47 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 48 | 49 | "@types/node@*": 50 | version "16.10.1" 51 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.1.tgz#f3647623199ca920960006b3dccf633ea905f243" 52 | integrity sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w== 53 | 54 | "@types/resolve@1.17.1": 55 | version "1.17.1" 56 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 57 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 58 | dependencies: 59 | "@types/node" "*" 60 | 61 | balanced-match@^1.0.0: 62 | version "1.0.2" 63 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 64 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 65 | 66 | brace-expansion@^1.1.7: 67 | version "1.1.11" 68 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 69 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 70 | dependencies: 71 | balanced-match "^1.0.0" 72 | concat-map "0.0.1" 73 | 74 | builtin-modules@^3.1.0: 75 | version "3.2.0" 76 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 77 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 78 | 79 | call-bind@^1.0.0, call-bind@^1.0.2, call-bind@~1.0.2: 80 | version "1.0.2" 81 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 82 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 83 | dependencies: 84 | function-bind "^1.1.1" 85 | get-intrinsic "^1.0.2" 86 | 87 | commondir@^1.0.1: 88 | version "1.0.1" 89 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 90 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 91 | 92 | concat-map@0.0.1: 93 | version "0.0.1" 94 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 95 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 96 | 97 | deep-equal@~1.1.1: 98 | version "1.1.1" 99 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" 100 | integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== 101 | dependencies: 102 | is-arguments "^1.0.4" 103 | is-date-object "^1.0.1" 104 | is-regex "^1.0.4" 105 | object-is "^1.0.1" 106 | object-keys "^1.1.1" 107 | regexp.prototype.flags "^1.2.0" 108 | 109 | deepmerge@^4.2.2: 110 | version "4.2.2" 111 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 112 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 113 | 114 | define-properties@^1.1.3: 115 | version "1.1.3" 116 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 117 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 118 | dependencies: 119 | object-keys "^1.0.12" 120 | 121 | defined@~1.0.0: 122 | version "1.0.0" 123 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 124 | integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= 125 | 126 | dotignore@~0.1.2: 127 | version "0.1.2" 128 | resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" 129 | integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== 130 | dependencies: 131 | minimatch "^3.0.4" 132 | 133 | es-abstract@^1.18.0-next.2: 134 | version "1.18.6" 135 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" 136 | integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== 137 | dependencies: 138 | call-bind "^1.0.2" 139 | es-to-primitive "^1.2.1" 140 | function-bind "^1.1.1" 141 | get-intrinsic "^1.1.1" 142 | get-symbol-description "^1.0.0" 143 | has "^1.0.3" 144 | has-symbols "^1.0.2" 145 | internal-slot "^1.0.3" 146 | is-callable "^1.2.4" 147 | is-negative-zero "^2.0.1" 148 | is-regex "^1.1.4" 149 | is-string "^1.0.7" 150 | object-inspect "^1.11.0" 151 | object-keys "^1.1.1" 152 | object.assign "^4.1.2" 153 | string.prototype.trimend "^1.0.4" 154 | string.prototype.trimstart "^1.0.4" 155 | unbox-primitive "^1.0.1" 156 | 157 | es-to-primitive@^1.2.1: 158 | version "1.2.1" 159 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 160 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 161 | dependencies: 162 | is-callable "^1.1.4" 163 | is-date-object "^1.0.1" 164 | is-symbol "^1.0.2" 165 | 166 | estree-walker@^1.0.1: 167 | version "1.0.1" 168 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 169 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 170 | 171 | estree-walker@^2.0.1: 172 | version "2.0.2" 173 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 174 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 175 | 176 | for-each@~0.3.3: 177 | version "0.3.3" 178 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 179 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 180 | dependencies: 181 | is-callable "^1.1.3" 182 | 183 | fs.realpath@^1.0.0: 184 | version "1.0.0" 185 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 186 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 187 | 188 | fsevents@~2.3.2: 189 | version "2.3.2" 190 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 191 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 192 | 193 | function-bind@^1.1.1: 194 | version "1.1.1" 195 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 196 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 197 | 198 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 199 | version "1.1.1" 200 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 201 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 202 | dependencies: 203 | function-bind "^1.1.1" 204 | has "^1.0.3" 205 | has-symbols "^1.0.1" 206 | 207 | get-symbol-description@^1.0.0: 208 | version "1.0.0" 209 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 210 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 211 | dependencies: 212 | call-bind "^1.0.2" 213 | get-intrinsic "^1.1.1" 214 | 215 | glob@^7.1.6: 216 | version "7.2.0" 217 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 218 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 219 | dependencies: 220 | fs.realpath "^1.0.0" 221 | inflight "^1.0.4" 222 | inherits "2" 223 | minimatch "^3.0.4" 224 | once "^1.3.0" 225 | path-is-absolute "^1.0.0" 226 | 227 | glob@~7.1.7: 228 | version "7.1.7" 229 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 230 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 231 | dependencies: 232 | fs.realpath "^1.0.0" 233 | inflight "^1.0.4" 234 | inherits "2" 235 | minimatch "^3.0.4" 236 | once "^1.3.0" 237 | path-is-absolute "^1.0.0" 238 | 239 | has-bigints@^1.0.1: 240 | version "1.0.1" 241 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 242 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 243 | 244 | has-symbols@^1.0.1, has-symbols@^1.0.2: 245 | version "1.0.2" 246 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 247 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 248 | 249 | has-tostringtag@^1.0.0: 250 | version "1.0.0" 251 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 252 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 253 | dependencies: 254 | has-symbols "^1.0.2" 255 | 256 | has@^1.0.3, has@~1.0.3: 257 | version "1.0.3" 258 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 259 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 260 | dependencies: 261 | function-bind "^1.1.1" 262 | 263 | idna-uts46-hx@^3.4.0: 264 | version "3.4.0" 265 | resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-3.4.0.tgz#aa380e7c04d6bce4f5e26da742c613ea2996f470" 266 | integrity sha512-b1I4qYTcJcX1TANn8OhOGrQUIWOfZUWrLKWDeKbV6posVLjp7OTqFKX3N20efrIMzQM1KhiphOEazBEEUFR9bg== 267 | dependencies: 268 | punycode "^2.1.1" 269 | 270 | inflight@^1.0.4: 271 | version "1.0.6" 272 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 273 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 274 | dependencies: 275 | once "^1.3.0" 276 | wrappy "1" 277 | 278 | inherits@2, inherits@~2.0.4: 279 | version "2.0.4" 280 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 281 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 282 | 283 | internal-slot@^1.0.3: 284 | version "1.0.3" 285 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 286 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 287 | dependencies: 288 | get-intrinsic "^1.1.0" 289 | has "^1.0.3" 290 | side-channel "^1.0.4" 291 | 292 | is-arguments@^1.0.4: 293 | version "1.1.1" 294 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" 295 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== 296 | dependencies: 297 | call-bind "^1.0.2" 298 | has-tostringtag "^1.0.0" 299 | 300 | is-bigint@^1.0.1: 301 | version "1.0.4" 302 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 303 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 304 | dependencies: 305 | has-bigints "^1.0.1" 306 | 307 | is-boolean-object@^1.1.0: 308 | version "1.1.2" 309 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 310 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 311 | dependencies: 312 | call-bind "^1.0.2" 313 | has-tostringtag "^1.0.0" 314 | 315 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: 316 | version "1.2.4" 317 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 318 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 319 | 320 | is-core-module@^2.2.0: 321 | version "2.6.0" 322 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" 323 | integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== 324 | dependencies: 325 | has "^1.0.3" 326 | 327 | is-date-object@^1.0.1: 328 | version "1.0.5" 329 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 330 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 331 | dependencies: 332 | has-tostringtag "^1.0.0" 333 | 334 | is-module@^1.0.0: 335 | version "1.0.0" 336 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 337 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 338 | 339 | is-negative-zero@^2.0.1: 340 | version "2.0.1" 341 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 342 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 343 | 344 | is-number-object@^1.0.4: 345 | version "1.0.6" 346 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" 347 | integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== 348 | dependencies: 349 | has-tostringtag "^1.0.0" 350 | 351 | is-reference@^1.2.1: 352 | version "1.2.1" 353 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 354 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 355 | dependencies: 356 | "@types/estree" "*" 357 | 358 | is-regex@^1.0.4, is-regex@^1.1.4, is-regex@~1.1.3: 359 | version "1.1.4" 360 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 361 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 362 | dependencies: 363 | call-bind "^1.0.2" 364 | has-tostringtag "^1.0.0" 365 | 366 | is-string@^1.0.5, is-string@^1.0.7: 367 | version "1.0.7" 368 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 369 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 370 | dependencies: 371 | has-tostringtag "^1.0.0" 372 | 373 | is-symbol@^1.0.2, is-symbol@^1.0.3: 374 | version "1.0.4" 375 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 376 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 377 | dependencies: 378 | has-symbols "^1.0.2" 379 | 380 | js-sha3@^0.5.7: 381 | version "0.5.7" 382 | resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" 383 | integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= 384 | 385 | magic-string@^0.25.7: 386 | version "0.25.7" 387 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 388 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 389 | dependencies: 390 | sourcemap-codec "^1.4.4" 391 | 392 | minimatch@^3.0.4: 393 | version "3.0.4" 394 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 395 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 396 | dependencies: 397 | brace-expansion "^1.1.7" 398 | 399 | minimist@~1.2.5: 400 | version "1.2.5" 401 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 402 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 403 | 404 | object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.11.0: 405 | version "1.11.0" 406 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" 407 | integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== 408 | 409 | object-is@^1.0.1: 410 | version "1.1.5" 411 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 412 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 413 | dependencies: 414 | call-bind "^1.0.2" 415 | define-properties "^1.1.3" 416 | 417 | object-keys@^1.0.12, object-keys@^1.1.1: 418 | version "1.1.1" 419 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 420 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 421 | 422 | object.assign@^4.1.2: 423 | version "4.1.2" 424 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 425 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 426 | dependencies: 427 | call-bind "^1.0.0" 428 | define-properties "^1.1.3" 429 | has-symbols "^1.0.1" 430 | object-keys "^1.1.1" 431 | 432 | once@^1.3.0: 433 | version "1.4.0" 434 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 435 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 436 | dependencies: 437 | wrappy "1" 438 | 439 | path-is-absolute@^1.0.0: 440 | version "1.0.1" 441 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 442 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 443 | 444 | path-parse@^1.0.6: 445 | version "1.0.7" 446 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 447 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 448 | 449 | picomatch@^2.2.2: 450 | version "2.3.0" 451 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 452 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 453 | 454 | punycode@^2.1.1: 455 | version "2.1.1" 456 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 457 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 458 | 459 | regexp.prototype.flags@^1.2.0: 460 | version "1.3.1" 461 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" 462 | integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== 463 | dependencies: 464 | call-bind "^1.0.2" 465 | define-properties "^1.1.3" 466 | 467 | resolve@^1.17.0, resolve@^1.19.0, resolve@~1.20.0: 468 | version "1.20.0" 469 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 470 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 471 | dependencies: 472 | is-core-module "^2.2.0" 473 | path-parse "^1.0.6" 474 | 475 | resumer@~0.0.0: 476 | version "0.0.0" 477 | resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" 478 | integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k= 479 | dependencies: 480 | through "~2.3.4" 481 | 482 | rollup@^2.57.0: 483 | version "2.57.0" 484 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.57.0.tgz#c1694475eb22e1022477c0f4635fd0ac80713173" 485 | integrity sha512-bKQIh1rWKofRee6mv8SrF2HdP6pea5QkwBZSMImJysFj39gQuiV8MEPBjXOCpzk3wSYp63M2v2wkWBmFC8O/rg== 486 | optionalDependencies: 487 | fsevents "~2.3.2" 488 | 489 | side-channel@^1.0.4: 490 | version "1.0.4" 491 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 492 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 493 | dependencies: 494 | call-bind "^1.0.0" 495 | get-intrinsic "^1.0.2" 496 | object-inspect "^1.9.0" 497 | 498 | sourcemap-codec@^1.4.4: 499 | version "1.4.8" 500 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 501 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 502 | 503 | string.prototype.trim@~1.2.4: 504 | version "1.2.4" 505 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz#6014689baf5efaf106ad031a5fa45157666ed1bd" 506 | integrity sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q== 507 | dependencies: 508 | call-bind "^1.0.2" 509 | define-properties "^1.1.3" 510 | es-abstract "^1.18.0-next.2" 511 | 512 | string.prototype.trimend@^1.0.4: 513 | version "1.0.4" 514 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 515 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 516 | dependencies: 517 | call-bind "^1.0.2" 518 | define-properties "^1.1.3" 519 | 520 | string.prototype.trimstart@^1.0.4: 521 | version "1.0.4" 522 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 523 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 524 | dependencies: 525 | call-bind "^1.0.2" 526 | define-properties "^1.1.3" 527 | 528 | tape@^4.6.3: 529 | version "4.14.0" 530 | resolved "https://registry.yarnpkg.com/tape/-/tape-4.14.0.tgz#e4d46097e129817175b90925f2385f6b1bcfa826" 531 | integrity sha512-z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ== 532 | dependencies: 533 | call-bind "~1.0.2" 534 | deep-equal "~1.1.1" 535 | defined "~1.0.0" 536 | dotignore "~0.1.2" 537 | for-each "~0.3.3" 538 | glob "~7.1.7" 539 | has "~1.0.3" 540 | inherits "~2.0.4" 541 | is-regex "~1.1.3" 542 | minimist "~1.2.5" 543 | object-inspect "~1.11.0" 544 | resolve "~1.20.0" 545 | resumer "~0.0.0" 546 | string.prototype.trim "~1.2.4" 547 | through "~2.3.8" 548 | 549 | through@~2.3.4, through@~2.3.8: 550 | version "2.3.8" 551 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 552 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 553 | 554 | unbox-primitive@^1.0.1: 555 | version "1.0.1" 556 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 557 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 558 | dependencies: 559 | function-bind "^1.1.1" 560 | has-bigints "^1.0.1" 561 | has-symbols "^1.0.2" 562 | which-boxed-primitive "^1.0.2" 563 | 564 | which-boxed-primitive@^1.0.2: 565 | version "1.0.2" 566 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 567 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 568 | dependencies: 569 | is-bigint "^1.0.1" 570 | is-boolean-object "^1.1.0" 571 | is-number-object "^1.0.4" 572 | is-string "^1.0.5" 573 | is-symbol "^1.0.3" 574 | 575 | wrappy@1: 576 | version "1.0.2" 577 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 578 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 579 | --------------------------------------------------------------------------------