├── .github ├── FUNDING.yml └── workflows │ └── node.yml ├── Package.resolved ├── Package.swift ├── license ├── package.json ├── .gitignore ├── Sources └── audio-devices │ ├── util.swift │ ├── main.swift │ └── AudioDevices.swift ├── index.js ├── index.test-d.ts ├── readme.md ├── index.d.ts └── yarn.lock /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: karaggeorge 2 | -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | { 5 | "package": "SwiftCLI", 6 | "repositoryURL": "https://github.com/jakeheis/SwiftCLI", 7 | "state": { 8 | "branch": null, 9 | "revision": "8393df12aa79af125a21be0daf726bb91a0bfefb", 10 | "version": "6.0.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "version": 1 16 | } 17 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.1 2 | import PackageDescription 3 | 4 | let package = Package( 5 | name: "audio-devices", 6 | platforms: [ 7 | .macOS(.v10_12) 8 | ], 9 | dependencies: [ 10 | .package(url: "https://github.com/jakeheis/SwiftCLI", from: "6.0.0") 11 | ], 12 | targets: [ 13 | .target( 14 | name: "audio-devices", 15 | dependencies: [ 16 | "SwiftCLI" 17 | ] 18 | ) 19 | ] 20 | ) -------------------------------------------------------------------------------- /.github/workflows/node.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | strategy: 11 | matrix: 12 | node-version: [8.x, 10.x, 12.x] 13 | 14 | steps: 15 | - uses: actions/checkout@v1 16 | - name: Use Node.js ${{ matrix.node-version }} 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: ${{ matrix.node-version }} 20 | 21 | - name: Cache 22 | uses: actions/cache@v1.0.3 23 | with: 24 | path: node_modules 25 | key: ${{ runner.OS }}-build-${{ hashFiles('package.json') }} 26 | - name: npm install, build, and test 27 | run: | 28 | npm i 29 | npm test 30 | env: 31 | CI: true -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) George Karagkiaouris (https://gkaragkiaouris.tech) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "macos-audio-devices", 3 | "version": "1.3.3", 4 | "description": "Get, set and configure the audio devices on macOS", 5 | "repository": "https://github.com/karaggeorge/macos-audio-devices", 6 | "funding": "https://github.com/sponsors/karaggeorge", 7 | "author": { 8 | "name": "George Karagkiaouris", 9 | "email": "gkaragkiaouris2@gmail.com", 10 | "url": "https://gkaragkiaouris.tech" 11 | }, 12 | "bin": { 13 | "macos-audio-devices": "./audio-devices", 14 | "audio-devices": "./audio-devices" 15 | }, 16 | "license": "MIT", 17 | "files": [ 18 | "index.js", 19 | "index.d.ts", 20 | "audio-devices" 21 | ], 22 | "scripts": { 23 | "test": "xo && tsd", 24 | "build": "swift build --configuration=release && mv .build/release/audio-devices .", 25 | "prepublishOnly": "npm run build" 26 | }, 27 | "keywords": [ 28 | "macos", 29 | "swift", 30 | "audio", 31 | "devices", 32 | "input", 33 | "output", 34 | "volume", 35 | "mute", 36 | "microphone", 37 | "speaker", 38 | "list", 39 | "default" 40 | ], 41 | "engines": { 42 | "node": ">=8" 43 | }, 44 | "dependencies": { 45 | "electron-util": "^0.13.1", 46 | "execa": "^4.0.0", 47 | "macos-version": "^5.2.0" 48 | }, 49 | "devDependencies": { 50 | "tsd": "^0.11.0", 51 | "xo": "^0.25.3" 52 | }, 53 | "xo": { 54 | "space": 2 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/node 3 | # Edit at https://www.gitignore.io/?templates=node 4 | 5 | /audio-devices 6 | /.build 7 | /*.xcodeproj 8 | xcuserdata 9 | project.xcworkspace 10 | .swiftpm 11 | 12 | ### Node ### 13 | # Logs 14 | logs 15 | *.log 16 | npm-debug.log* 17 | yarn-debug.log* 18 | yarn-error.log* 19 | lerna-debug.log* 20 | 21 | # Diagnostic reports (https://nodejs.org/api/report.html) 22 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 23 | 24 | # Runtime data 25 | pids 26 | *.pid 27 | *.seed 28 | *.pid.lock 29 | 30 | # Directory for instrumented libs generated by jscoverage/JSCover 31 | lib-cov 32 | 33 | # Coverage directory used by tools like istanbul 34 | coverage 35 | *.lcov 36 | 37 | # nyc test coverage 38 | .nyc_output 39 | 40 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 41 | .grunt 42 | 43 | # Bower dependency directory (https://bower.io/) 44 | bower_components 45 | 46 | # node-waf configuration 47 | .lock-wscript 48 | 49 | # Compiled binary addons (https://nodejs.org/api/addons.html) 50 | build/Release 51 | 52 | # Dependency directories 53 | node_modules/ 54 | jspm_packages/ 55 | 56 | # TypeScript v1 declaration files 57 | typings/ 58 | 59 | # TypeScript cache 60 | *.tsbuildinfo 61 | 62 | # Optional npm cache directory 63 | .npm 64 | 65 | # Optional eslint cache 66 | .eslintcache 67 | 68 | # Optional REPL history 69 | .node_repl_history 70 | 71 | # Output of 'npm pack' 72 | *.tgz 73 | 74 | # Yarn Integrity file 75 | .yarn-integrity 76 | 77 | # dotenv environment variables file 78 | .env 79 | .env.test 80 | 81 | # parcel-bundler cache (https://parceljs.org/) 82 | .cache 83 | 84 | # next.js build output 85 | .next 86 | 87 | # nuxt.js build output 88 | .nuxt 89 | 90 | # react / gatsby 91 | public/ 92 | 93 | # vuepress build output 94 | .vuepress/dist 95 | 96 | # Serverless directories 97 | .serverless/ 98 | 99 | # FuseBox cache 100 | .fusebox/ 101 | 102 | # DynamoDB Local files 103 | .dynamodb/ 104 | 105 | # End of https://www.gitignore.io/api/node -------------------------------------------------------------------------------- /Sources/audio-devices/util.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import Cocoa 3 | 4 | 5 | func toJson(_ data: T) throws -> String { 6 | let jsonData = try JSONEncoder().encode(data) 7 | return String(data: jsonData, encoding: .utf8)! 8 | } 9 | 10 | 11 | enum PrintOutputTarget { 12 | case standardOutput 13 | case standardError 14 | } 15 | 16 | 17 | extension FileHandle: TextOutputStream { 18 | public func write(_ string: String) { 19 | write(string.data(using: .utf8)!) 20 | } 21 | } 22 | 23 | 24 | struct CLITargets { 25 | static var standardInput = FileHandle.standardOutput 26 | static var standardOutput = FileHandle.standardOutput 27 | static var standardError = FileHandle.standardError 28 | } 29 | 30 | 31 | /// Make `print()` accept an array of items. 32 | /// Since Swift doesn't support spreading... 33 | private func print( 34 | _ items: [Any], 35 | separator: String = " ", 36 | terminator: String = "\n", 37 | to output: inout Target 38 | ) where Target: TextOutputStream { 39 | let item = items.map { "\($0)" }.joined(separator: separator) 40 | Swift.print(item, terminator: terminator, to: &output) 41 | } 42 | 43 | 44 | func print( 45 | _ items: Any..., 46 | separator: String = " ", 47 | terminator: String = "\n", 48 | to output: PrintOutputTarget = .standardOutput 49 | ) { 50 | switch output { 51 | case .standardOutput: 52 | print(items, separator: separator, terminator: terminator) 53 | case .standardError: 54 | print(items, separator: separator, terminator: terminator, to: &CLITargets.standardError) 55 | } 56 | } 57 | 58 | 59 | extension NSError { 60 | /// Execute the given closure and throw an error if the status code is non-zero. 61 | static func checkOSStatus(_ closure: () -> OSStatus) throws { 62 | guard let error = NSError(osstatus: closure()) else { 63 | return 64 | } 65 | 66 | throw error 67 | } 68 | 69 | /// Create an `NSError` from a `OSStatus`. 70 | convenience init?(osstatus: OSStatus) { 71 | guard osstatus != 0 else { 72 | return nil 73 | } 74 | 75 | self.init(domain: NSOSStatusErrorDomain, code: Int(osstatus), userInfo: nil) 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const path = require('path'); 3 | const execa = require('execa'); 4 | const electronUtil = require('electron-util/node'); 5 | 6 | const binary = path.join(electronUtil.fixPathForAsarUnpack(__dirname), 'audio-devices'); 7 | 8 | const generateExport = (name, getArgs, callback) => { 9 | module.exports[name] = async (...inputs) => { 10 | const result = await execa(binary, getArgs(...inputs)); 11 | return callback(result); 12 | }; 13 | 14 | module.exports[name].sync = (...inputs) => { 15 | const result = execa.sync(binary, getArgs(...inputs)); 16 | return callback(result); 17 | }; 18 | }; 19 | 20 | const throwIfStderr = ({stderr}) => { 21 | if (stderr) { 22 | throw new Error(stderr); 23 | } 24 | }; 25 | 26 | const parseStdout = ({stdout, stderr}) => { 27 | throwIfStderr({stderr}); 28 | return JSON.parse(stdout); 29 | }; 30 | 31 | generateExport('getAllDevices', () => ['list', '--json'], parseStdout); 32 | 33 | generateExport('getInputDevices', () => ['list', '--input', '--json'], parseStdout); 34 | 35 | generateExport('getOutputDevices', () => ['list', '--output', '--json'], parseStdout); 36 | 37 | generateExport('getDevice', deviceId => ['get', '--json', deviceId], parseStdout); 38 | 39 | generateExport('getDefaultOutputDevice', () => ['output', 'get', '--json'], parseStdout); 40 | 41 | generateExport('getDefaultInputDevice', () => ['input', 'get', '--json'], parseStdout); 42 | 43 | generateExport('getDefaultSystemDevice', () => ['system', 'get', '--json'], parseStdout); 44 | 45 | generateExport('setDefaultOutputDevice', deviceId => ['output', 'set', deviceId], throwIfStderr); 46 | 47 | generateExport('setDefaultInputDevice', deviceId => ['input', 'set', deviceId], throwIfStderr); 48 | 49 | generateExport('setDefaultSystemDevice', deviceId => ['system', 'set', deviceId], throwIfStderr); 50 | 51 | generateExport('getOutputDeviceVolume', deviceId => ['volume', 'get', deviceId], ({stdout, stderr}) => stderr ? undefined : stdout); 52 | 53 | generateExport('setOutputDeviceVolume', (deviceId, volume) => ['volume', 'set', deviceId, volume], throwIfStderr); 54 | 55 | generateExport( 56 | 'createAggregateDevice', 57 | (name, mainDeviceId, otherDeviceIds, {multiOutput} = {}) => [ 58 | 'aggregate', 'create', '--json', (multiOutput && '--multi-output'), name, mainDeviceId, ...otherDeviceIds 59 | ].filter(Boolean), 60 | parseStdout 61 | ); 62 | 63 | generateExport('destroyAggregateDevice', deviceId => ['aggregate', 'destroy', deviceId], throwIfStderr); 64 | -------------------------------------------------------------------------------- /index.test-d.ts: -------------------------------------------------------------------------------- 1 | import { expectType, expectError } from 'tsd'; 2 | 3 | import { 4 | Device, 5 | getAllDevices, 6 | getInputDevices, 7 | getOutputDevices, 8 | getDefaultInputDevice, 9 | getDefaultOutputDevice, 10 | getDefaultSystemDevice, 11 | setDefaultInputDevice, 12 | setDefaultOutputDevice, 13 | setDefaultSystemDevice, 14 | getOutputDeviceVolume, 15 | setOutputDeviceVolume, 16 | createAggregateDevice, 17 | destroyAggregateDevice, 18 | } from '.'; 19 | 20 | expectType(getAllDevices.sync()) 21 | expectType>(getAllDevices()) 22 | expectType(getInputDevices.sync()) 23 | expectType>(getInputDevices()) 24 | expectType(getOutputDevices.sync()) 25 | expectType>(getOutputDevices()) 26 | 27 | expectType(getDefaultInputDevice.sync()) 28 | expectType>(getDefaultInputDevice()) 29 | 30 | expectType(getDefaultOutputDevice.sync()) 31 | expectType>(getDefaultOutputDevice()) 32 | 33 | expectType(getDefaultSystemDevice.sync()) 34 | expectType>(getDefaultSystemDevice()) 35 | 36 | expectType(setDefaultInputDevice.sync(1)) 37 | expectType>(setDefaultInputDevice(1)) 38 | expectError(setDefaultInputDevice.sync()) 39 | expectError(setDefaultInputDevice.sync('1')) 40 | 41 | expectType(setDefaultOutputDevice.sync(1)) 42 | expectType>(setDefaultOutputDevice(1)) 43 | expectError(setDefaultOutputDevice.sync()) 44 | expectError(setDefaultOutputDevice.sync('1')) 45 | 46 | expectType(setDefaultSystemDevice.sync(1)) 47 | expectType>(setDefaultSystemDevice(1)) 48 | expectError(setDefaultSystemDevice.sync()) 49 | expectError(setDefaultSystemDevice.sync('1')) 50 | 51 | expectType(getOutputDeviceVolume.sync(1)) 52 | expectType>(getOutputDeviceVolume(1)) 53 | expectError(getOutputDeviceVolume.sync()) 54 | expectError(getOutputDeviceVolume.sync('1')) 55 | 56 | expectType(setOutputDeviceVolume.sync(1, 0.5)) 57 | expectType>(setOutputDeviceVolume(1, 0.5)) 58 | expectError(setOutputDeviceVolume.sync()) 59 | expectError(setOutputDeviceVolume.sync(1)) 60 | expectError(setOutputDeviceVolume('1', 1)) 61 | expectError(setOutputDeviceVolume(1, '1')) 62 | 63 | expectType(createAggregateDevice.sync('name', 74, [32], { multiOutput: true })) 64 | expectType(createAggregateDevice.sync('name', 74, [32, 72])) 65 | expectType>(createAggregateDevice('name', 74, [32, 72])) 66 | expectError(createAggregateDevice.sync()) 67 | expectError(createAggregateDevice.sync(74)) 68 | expectError(createAggregateDevice.sync('name', 74, 32)) 69 | 70 | expectType(destroyAggregateDevice.sync(1)) 71 | expectType>(destroyAggregateDevice(1)) 72 | expectError(destroyAggregateDevice.sync()) 73 | expectError(destroyAggregateDevice.sync('1')) 74 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # macos-audio-devices [![Actions Status](https://github.com/karaggeorge/macos-audio-devices/workflows/Node%20CI/badge.svg)](https://github.com/karaggeorge/macos-audio-devices/actions) 2 | 3 | > Get, set and configure the audio devices on macOS 4 | 5 | Requires macOS 10.12 or later. macOS 10.13 or earlier needs to download the [Swift runtime support libraries](https://support.apple.com/kb/DL1998). 6 | 7 | ## Run as CLI 8 | 9 | ### Using [npx](https://github.com/npm/npx) 10 | 11 | ``` 12 | $ npx macos-audio-devices 13 | ``` 14 | 15 | ### Installing 16 | 17 | ``` 18 | $ npm install -g macos-audio-devices 19 | $ audio-devices 20 | ``` 21 | 22 | ### Usage 23 | 24 | ``` 25 | Usage: audio-devices [options] 26 | 27 | Groups: 28 | output Get or set the default output device 29 | input Get or set the default input device 30 | system Get or set the default device for system sounds 31 | volume Get or set the volume of an output device 32 | aggregate Create or delete aggregate audio devices 33 | 34 | Commands: 35 | list List the available audio devices 36 | get Get a device by its ID 37 | help Prints help information 38 | ``` 39 | 40 | ## Node API 41 | 42 | ### Installation 43 | 44 | ``` 45 | $ npm install macos-audio-devices 46 | ``` 47 | 48 | ### Usage 49 | 50 | ```js 51 | const audioDevices = require('macos-audio-devices'); 52 | 53 | const outputDevices = audioDevices.getOutputDevices.sync(); 54 | const targetDevice = outputDevices[0]; 55 | 56 | const defaultDevice = audioDevices.getDefaultOutputDevice.sync(); 57 | 58 | if (defaultDevice.id !== targetDevice.id) { 59 | setDefaultOutputDevice(targetDevice.id) 60 | } 61 | 62 | if (targetDevice.hasVolume) { 63 | setOutputDeviceVolume(targetDevice.id, 0.5); // 50% 64 | } 65 | ``` 66 | 67 | ### API 68 | 69 | #### `Device` 70 | 71 | ##### `id: number` 72 | 73 | The unique ID of the device. 74 | 75 | ##### `uid: string` 76 | 77 | The UID of the device for the [`AVCaptureDevice`](https://developer.apple.com/documentation/avfoundation/avcapturedevice) API. 78 | 79 | ##### `name: string` 80 | 81 | The human readable name of the device. 82 | 83 | ##### `isOutput: bool` 84 | 85 | Whether the device is an output device. 86 | 87 | ##### `isInput: bool` 88 | 89 | Whether the device is an input device. 90 | 91 | ##### `volume: number` 92 | 93 | A number between 0 and 1 representing the volume setting of the device. Only applicable on output devices that support it. It will be undefined otherwise. 94 | 95 | ##### `transportType: TransportType` 96 | 97 | The value of this property represents the [transport type](https://developer.apple.com/documentation/avfoundation/avcapturedevice/1387804-transporttype) of the device (USB, PCI, etc). 98 | 99 | #### `TransportType: string` 100 | 101 | Can be one of: 102 | - `avb` 103 | - `aggregate` 104 | - `airplay` 105 | - `autoaggregate` 106 | - `bluetooth` 107 | - `bluetoothle` 108 | - `builtin` 109 | - `displayport` 110 | - `firewire` 111 | - `hdmi` 112 | - `pci` 113 | - `thunderbolt` 114 | - `usb` 115 | - `virtual` 116 | - `unknown` 117 | 118 | #### Sync 119 | 120 | Each method described below is asynchronous, but can be called synchronously, by calling `.sync` on it instead. For example: 121 | 122 | ```js 123 | getDevice(73).then(device => {…}); // async 124 | 125 | const device = getDevice.sync(73); // sync 126 | ``` 127 | 128 | #### `getAllDevices(): Promise` 129 | 130 | Get all the audio devices. 131 | 132 | #### `getOutputDevices(): Promise` 133 | 134 | Get all the output devices. 135 | 136 | #### `getInputDevices(): Promise` 137 | 138 | Get all the input devices. 139 | 140 | #### `getDevice(deviceId: number): Promise` 141 | 142 | Get an audio device by its ID. 143 | 144 | ##### `deviceId: number` 145 | 146 | The [unique ID](#id-number) of the device. 147 | 148 | #### `getDefaultOutputDevice(): Promise` 149 | 150 | Get all the default output device. 151 | 152 | #### `getDefaultInputDevice(): Promise` 153 | 154 | Get all the default input device. 155 | 156 | #### `getDefaultSystemDevice(): Promise` 157 | 158 | Get all the default input device. 159 | 160 | #### `setDefaultOutputDevice(deviceId: number): Promise` 161 | 162 | Set the default output device. 163 | 164 | ##### `deviceId: number` 165 | 166 | The [unique ID](#id-number) of an output device. 167 | 168 | #### `setDefaultInputDevice(deviceId: number): Promise` 169 | 170 | Set the default input device. 171 | 172 | ##### `deviceId: number` 173 | 174 | The [unique ID](#id-number) of an input device. 175 | 176 | #### `setDefaultSystemDevice(deviceId: number): Promise` 177 | 178 | Set the default input device. Can only be an output device. 179 | 180 | ##### `deviceId: number` 181 | 182 | The [unique ID](#id-number) of an output device. 183 | 184 | #### `getOutputDeviceVolume(deviceId: number): Promise` 185 | 186 | Get the volume level of an output device that [supports it](#volume-number). 187 | 188 | Throws an error if the device is not an output device or if it doesn't support volume. 189 | 190 | ##### `deviceId: number` 191 | 192 | The [unique ID](#id-number) of the supported output device. 193 | 194 | #### `setOutputDeviceVolume(deviceId: number, volume: number): Promise` 195 | 196 | Set the volume level of an output device that [supports it](#volume-number). 197 | 198 | Throws an error if the device is not an output device or if it doesn't support volume. 199 | 200 | ##### `deviceId: number` 201 | 202 | The [unique ID](#id-number) of the supported output device. 203 | 204 | ##### `volume: number` 205 | 206 | The volume level to set the device to. Must be between 0 and 1, otherwise and error will be thrown. 207 | 208 | #### `createAggregateDevice(name: string, mainDeviceId: number, otherDeviceIds: number[], options: object): Promise` 209 | 210 | Create an [aggregate device](https://support.apple.com/en-us/HT202000) from other existing devices. 211 | 212 | Note that aggregate devices do not support volume, so make sure to update the volume on the devices used to create it instead. 213 | 214 | ##### `name: string` 215 | 216 | Human-readable name for the new device. 217 | 218 | ##### `mainDeviceId: number` 219 | 220 | The [unique ID](#id-number) of the main device. 221 | 222 | ##### `otherDeviceIds: number[]` 223 | 224 | An array od [unique IDs](#id-number) of the rest of the devices. Needs to have at least one. 225 | 226 | ##### `options: object` 227 | 228 | ###### `options.multiOutput: boolean` 229 | 230 | Whether or not to create a [Multi-Output Device](https://support.apple.com/guide/audio-midi-setup/play-audio-through-multiple-devices-at-once-ams7c093f372/mac). 231 | 232 | If this is enabled, all the devices need to be output devices. 233 | 234 | #### `destroyAggregateDevice(deviceId: number): Promise` 235 | 236 | Destroy an aggregate device. 237 | 238 | ##### `deviceId: number` 239 | 240 | The [unique ID](#id-number) of an aggregate device. 241 | 242 | ## Contributing 243 | 244 | If you want to use this and need more features or find a bug, please open an issue and I'll do my best to implement. 245 | 246 | PRs are always welcome as well 😃 247 | -------------------------------------------------------------------------------- /Sources/audio-devices/main.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import SwiftCLI 3 | 4 | func printDevice(_ device: AudioDevice) { 5 | print("\(device.id) - \(device.name)") 6 | } 7 | 8 | func getDevice(deviceId: Int) throws -> AudioDevice { 9 | do { 10 | return try AudioDevice(withId: UInt32(deviceId)) 11 | } catch AudioDevice.Error.invalidDeviceId { 12 | print("No device exists with id \(deviceId)", to: .standardError) 13 | exit(1) 14 | } catch { 15 | throw error 16 | } 17 | } 18 | 19 | final class ListCommand: Command { 20 | let name = "list" 21 | let shortDescription = "List the available audio devices" 22 | 23 | @Flag("--input", description: "Only list input devices") 24 | var inputOnly: Bool 25 | 26 | @Flag("--output", description: "Only list output devices") 27 | var outputOnly: Bool 28 | 29 | @Flag("--json", description: "Print the result in JSON format") 30 | var json: Bool 31 | 32 | var optionGroups: [OptionGroup] { [.atMostOne($inputOnly, $outputOnly)] } 33 | 34 | func execute() throws { 35 | var devices = AudioDevice.all 36 | 37 | if inputOnly { 38 | devices = devices.filter { $0.isInput } 39 | } 40 | 41 | if outputOnly { 42 | devices = devices.filter { $0.isOutput } 43 | } 44 | 45 | if json { 46 | do { 47 | print(try toJson(devices)) 48 | } catch { 49 | print("[]") 50 | } 51 | 52 | return 53 | } 54 | 55 | if !outputOnly { 56 | print("Input Devices\n") 57 | devices.filter { $0.isInput }.forEach { printDevice($0) } 58 | 59 | if !inputOnly { 60 | print("\n") 61 | } 62 | } 63 | 64 | if !inputOnly { 65 | print("Output Devices\n") 66 | devices.filter { $0.isOutput }.forEach { printDevice($0) } 67 | } 68 | } 69 | } 70 | 71 | final class GetCommand: Command { 72 | let name = "get" 73 | let shortDescription = "Get a device by its ID" 74 | 75 | @Flag("--json", description: "Print the result in JSON format") 76 | var json: Bool 77 | 78 | @Param var deviceId: Int 79 | 80 | func execute() throws { 81 | let device = try getDevice(deviceId: deviceId) 82 | 83 | if json { 84 | do { 85 | print(try toJson(device)) 86 | } catch { 87 | print("{}") 88 | } 89 | 90 | return 91 | } 92 | 93 | printDevice(device) 94 | } 95 | } 96 | 97 | final class OutputGroup: CommandGroup { 98 | let shortDescription = "Get or set the default output device" 99 | let name = "output" 100 | let children = [GetOutputCommand(), SetOutputCommand()] as [Routable] 101 | } 102 | 103 | final class GetOutputCommand: Command { 104 | let name = "get" 105 | 106 | @Flag("--json", description: "Print the result in JSON format") 107 | var json: Bool 108 | 109 | func execute() throws { 110 | let device = try AudioDevice.getDefaultDevice(for: .output) 111 | 112 | if json { 113 | do { 114 | print(try toJson(device)) 115 | } catch { 116 | print("{}") 117 | } 118 | 119 | return 120 | } 121 | 122 | printDevice(device) 123 | } 124 | } 125 | 126 | final class SetOutputCommand: Command { 127 | let name = "set" 128 | 129 | @Param var deviceId: Int 130 | 131 | func execute() throws { 132 | let device = try getDevice(deviceId: deviceId) 133 | 134 | do { 135 | try AudioDevice.setDefaultDevice(for: .output, device: device) 136 | print("Default output device was set to \(device.name)") 137 | } catch AudioDevice.Error.invalidDevice { 138 | print("\(device.name) is not an output device", to: .standardError) 139 | } catch { 140 | throw error 141 | } 142 | } 143 | } 144 | 145 | final class InputGroup: CommandGroup { 146 | let shortDescription = "Get or set the default input device" 147 | let name = "input" 148 | let children = [GetInputCommand(), SetInputCommand()] as [Routable] 149 | } 150 | 151 | final class GetInputCommand: Command { 152 | let name = "get" 153 | 154 | @Flag("--json", description: "Print the result in JSON format") 155 | var json: Bool 156 | 157 | func execute() throws { 158 | let device = try AudioDevice.getDefaultDevice(for: .input) 159 | 160 | if json { 161 | do { 162 | print(try toJson(device)) 163 | } catch { 164 | print("{}") 165 | } 166 | return 167 | } 168 | 169 | printDevice(device) 170 | } 171 | } 172 | 173 | final class SetInputCommand: Command { 174 | let name = "set" 175 | 176 | @Param var deviceId: Int 177 | 178 | func execute() throws { 179 | let device = try getDevice(deviceId: deviceId) 180 | 181 | do { 182 | try AudioDevice.setDefaultDevice(for: .input, device: device) 183 | print("Default input device was set to \(device.name)") 184 | } catch AudioDevice.Error.invalidDevice { 185 | print("\(device.name) is not an input device", to: .standardError) 186 | } catch { 187 | throw error 188 | } 189 | } 190 | } 191 | 192 | final class SystemGroup: CommandGroup { 193 | let shortDescription = "Get or set the default device for system sounds" 194 | let name = "system" 195 | let children = [GetSystemCommand(), SetSystemCommand()] as [Routable] 196 | } 197 | 198 | final class GetSystemCommand: Command { 199 | let name = "get" 200 | 201 | @Flag("--json", description: "Print the result in json format") 202 | var json: Bool 203 | 204 | func execute() throws { 205 | let device = try AudioDevice.getDefaultDevice(for: .system) 206 | 207 | if json { 208 | do { 209 | print(try toJson(device)) 210 | } catch { 211 | print("{}") 212 | } 213 | 214 | return 215 | } 216 | 217 | printDevice(device) 218 | } 219 | } 220 | 221 | final class SetSystemCommand: Command { 222 | let name = "set" 223 | 224 | @Param var deviceId: Int 225 | 226 | func execute() throws { 227 | let device = try getDevice(deviceId: deviceId) 228 | 229 | do { 230 | try AudioDevice.setDefaultDevice(for: .system, device: device) 231 | print("Default system sound device was set to \(device.name)") 232 | } catch AudioDevice.Error.invalidDevice { 233 | print("\(device.name) is not an output device", to: .standardError) 234 | } catch { 235 | throw error 236 | } 237 | } 238 | } 239 | 240 | final class VolumeGroup: CommandGroup { 241 | let shortDescription = "Get or set the volume of an output device" 242 | let name = "volume" 243 | let children = [GetVolumeCommand(), SetVolumeCommand()] as [Routable] 244 | } 245 | 246 | final class GetVolumeCommand: Command { 247 | let name = "get" 248 | 249 | @Param var deviceId: Int 250 | 251 | func execute() throws { 252 | let device = try getDevice(deviceId: deviceId) 253 | if let volume = device.volume { 254 | print(String(format: "%.2f", volume)) 255 | } else { 256 | print("\(device.name) does not support volume", to: .standardError) 257 | } 258 | } 259 | } 260 | 261 | final class SetVolumeCommand: Command { 262 | let name = "set" 263 | 264 | @Param var deviceId: Int 265 | @Param var volume: Double 266 | 267 | func execute() throws { 268 | var device = try getDevice(deviceId: deviceId) 269 | 270 | do { 271 | try device.setVolume(volume) 272 | } catch AudioDevice.Error.volumeNotSupported { 273 | print("\(device.name) does not support volume", to: .standardError) 274 | } catch AudioDevice.Error.invalidVolumeValue { 275 | print("Volume needs to be between 0 and 1", to: .standardError) 276 | } catch { 277 | throw error 278 | } 279 | } 280 | } 281 | 282 | final class AggregateGroup: CommandGroup { 283 | let shortDescription = "Create or delete aggregate audio devices" 284 | let name = "aggregate" 285 | let children = [CreateAggregate(), DestroyAggregate()] as [Routable] 286 | } 287 | 288 | final class CreateAggregate: Command { 289 | let name = "create" 290 | let shortDescription = "Create an aggregate device using existing devices" 291 | 292 | @Flag("--json", description: "Print the result in JSON format") 293 | var json: Bool 294 | 295 | @Flag("--multi-output", description: "Create the aggregate device as a Multi-Output Device") 296 | var shouldStack: Bool 297 | 298 | @Param var deviceName: String 299 | @Param var mainDeviceId: Int 300 | @CollectedParam(minCount: 1) var deviceIds: [Int] 301 | 302 | func execute() throws { 303 | let mainDevice = try getDevice(deviceId: mainDeviceId) 304 | let otherDevices = try deviceIds.map { try getDevice(deviceId: $0) } 305 | 306 | let aggregateDevice = try AudioDevice.createAggregate( 307 | name: deviceName, 308 | mainDevice: mainDevice, 309 | otherDevices: otherDevices, 310 | shouldStack: shouldStack 311 | ) 312 | 313 | if json { 314 | do { 315 | print(try toJson(aggregateDevice)) 316 | } catch { 317 | print("{}") 318 | } 319 | 320 | return 321 | } 322 | 323 | printDevice(aggregateDevice) 324 | } 325 | } 326 | 327 | final class DestroyAggregate: Command { 328 | let name = "destroy" 329 | let shortDescription = "Destory a created aggregate device" 330 | 331 | @Param var deviceId: Int 332 | 333 | func execute() throws { 334 | let device = try getDevice(deviceId: deviceId) 335 | try AudioDevice.destroyAggregate(device: device) 336 | print("\(device.name) was destroyed") 337 | } 338 | } 339 | 340 | let audioDevices = CLI(name: "audio-devices") 341 | 342 | audioDevices.commands = [ 343 | ListCommand(), 344 | GetCommand(), 345 | OutputGroup(), 346 | InputGroup(), 347 | SystemGroup(), 348 | VolumeGroup(), 349 | AggregateGroup() 350 | ] 351 | 352 | _ = audioDevices.go() 353 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | 2 | export type TransportType = 'avb' 3 | | 'aggregate' 4 | | 'airplay' 5 | | 'autoaggregate' 6 | | 'bluetooth' 7 | | 'bluetoothle' 8 | | 'builtin' 9 | | 'displayport' 10 | | 'firewire' 11 | | 'hdmi' 12 | | 'pci' 13 | | 'thunderbolt' 14 | | 'usb' 15 | | 'virtual' 16 | | 'unknown' 17 | 18 | export interface Device { 19 | /* 20 | The unique ID of the device. 21 | */ 22 | id: number; 23 | 24 | /** 25 | The human readable name of the device. 26 | */ 27 | name: string; 28 | 29 | /** 30 | The UID of the device for the [`AVCaptureDevice`](https://developer.apple.com/documentation/avfoundation/avcapturedevice) API. 31 | */ 32 | uid: string; 33 | 34 | /** 35 | Whether the device is an output device. 36 | */ 37 | isOutput: boolean; 38 | 39 | /** 40 | Whether the device is an input device. 41 | */ 42 | isInput: boolean; 43 | 44 | /** 45 | A number between 0 and 1 representing the volume setting of the device. 46 | 47 | Only applicable on output devices that support it. It will be undefined otherwise. 48 | */ 49 | volume?: number; 50 | 51 | /** 52 | The [transport type](https://developer.apple.com/documentation/avfoundation/avcapturedevice/1387804-transporttype) of the device. 53 | */ 54 | transportType: TransportType 55 | } 56 | 57 | export const getAllDevices: { 58 | /** 59 | Get all the audio devices. 60 | 61 | @returns A promise that resolves with an array of devices. 62 | 63 | @example 64 | ``` 65 | const devices = await getAllDevices(); 66 | ``` 67 | */ 68 | (): Promise; 69 | 70 | /** 71 | Get all the audio devices. 72 | 73 | @returns An array of devices. 74 | 75 | @example 76 | ``` 77 | const devices = getAllDevices.sync(); 78 | ``` 79 | */ 80 | sync: () => Device[]; 81 | }; 82 | 83 | export const getDevice: { 84 | /** 85 | Get an audio device by ID. 86 | 87 | @returns A promise that resolves with the device. 88 | 89 | @example 90 | ``` 91 | const device = await getDevice(73); 92 | ``` 93 | */ 94 | (): Promise; 95 | 96 | /** 97 | Get an audio device by ID. 98 | 99 | @returns The device. 100 | 101 | @example 102 | ``` 103 | const device = getDevice.sync(73); 104 | ``` 105 | */ 106 | sync: () => Device; 107 | }; 108 | 109 | export const getOutputDevices: { 110 | /** 111 | Get all the output devices. 112 | 113 | @returns A promise that resolves with an array of output devices. 114 | 115 | @example 116 | ``` 117 | const devices = await getOutputDevices(); 118 | ``` 119 | */ 120 | (): Promise; 121 | 122 | /** 123 | Get all the output devices. 124 | 125 | @returns An array of output devices. 126 | 127 | @example 128 | ``` 129 | const devices = getOutputDevices.sync(); 130 | ``` 131 | */ 132 | sync: () => Device[]; 133 | }; 134 | 135 | export const getInputDevices: { 136 | /** 137 | Get all the input devices. 138 | 139 | @returns A promise that resolves with an array of input devices. 140 | 141 | @example 142 | ``` 143 | const devices = await getInputDevices(); 144 | ``` 145 | */ 146 | (): Promise; 147 | 148 | /** 149 | Get all the input devices. 150 | 151 | @returns An array of input devices. 152 | 153 | @example 154 | ``` 155 | const devices = getInputDevices.sync(); 156 | ``` 157 | */ 158 | sync: () => Device[]; 159 | }; 160 | 161 | export const getDefaultOutputDevice: { 162 | /** 163 | Get the default output device. 164 | 165 | @returns A promise that resolves with the default output device. 166 | 167 | @example 168 | ``` 169 | const defaultOutputDevice = await getDefaultOutputDevice(); 170 | ``` 171 | */ 172 | (): Promise; 173 | 174 | /** 175 | Get the default output device. 176 | 177 | @returns The default output device. 178 | 179 | @example 180 | ``` 181 | const defaultOutputDevice = getDefaultOutputDevice.sync(); 182 | ``` 183 | */ 184 | sync: () => Device; 185 | }; 186 | 187 | export const getDefaultInputDevice: { 188 | /** 189 | Get the default input device. 190 | 191 | @returns A promise that resolves with the default input device. 192 | 193 | @example 194 | ``` 195 | const defaultInputDevice = await getDefaultInputDevice(); 196 | ``` 197 | */ 198 | (): Promise; 199 | 200 | /** 201 | Get the default input device. 202 | 203 | @returns The default input device. 204 | 205 | @example 206 | ``` 207 | const defaultInputDevice = getDefaultInputDevice.sync(); 208 | ``` 209 | */ 210 | sync: () => Device; 211 | }; 212 | 213 | export const getDefaultSystemDevice: { 214 | /** 215 | Get the default system sound effects device. 216 | 217 | @returns A promise that resolves with the default system device. 218 | 219 | @example 220 | ``` 221 | const defaultSystemDevice = await getDefaultSystemDevice(); 222 | ``` 223 | */ 224 | (): Promise; 225 | 226 | /** 227 | Get the default system sound effects device. 228 | 229 | @returns The default system device. 230 | 231 | @example 232 | ``` 233 | const defaultSystemDevice = getDefaultSystemDevice.sync(); 234 | ``` 235 | */ 236 | sync: () => Device; 237 | } 238 | 239 | export const setDefaultOutputDevice: { 240 | /** 241 | Set the default output device. 242 | 243 | @param deviceId - The ID of the output device to set as the default. 244 | 245 | @example 246 | ``` 247 | await setDefaultOutputDevice(74); 248 | ``` 249 | */ 250 | (deviceId: number): Promise; 251 | 252 | /** 253 | Set the default output device. 254 | 255 | @param deviceId - The ID of the output device to set as the default. 256 | 257 | @example 258 | ``` 259 | setDefaultOutputDevice.sync(74); 260 | ``` 261 | */ 262 | sync: (deviceId: number) => void; 263 | }; 264 | 265 | export const setDefaultInputDevice: { 266 | /** 267 | Set the default input device. 268 | 269 | @param deviceId - The ID of the input device to set as the default. 270 | 271 | @example 272 | ``` 273 | await setDefaultInputDevice(74); 274 | ``` 275 | */ 276 | (deviceId: number): Promise; 277 | 278 | /** 279 | Set the default input device. 280 | 281 | @param deviceId - The ID of the input device to set as the default. 282 | 283 | @example 284 | ``` 285 | setDefaultInputDevice.sync(74); 286 | ``` 287 | */ 288 | sync: (deviceId: number) => void; 289 | }; 290 | 291 | export const setDefaultSystemDevice: { 292 | /** 293 | Set the default system sound effects device (only output devices). 294 | 295 | @param deviceId - The ID of the output device to set as the default for system sounds. 296 | 297 | @example 298 | ``` 299 | await setDefaultSystemDevice(74); 300 | ``` 301 | */ 302 | (deviceId: number): Promise; 303 | 304 | /** 305 | Set the default system sound effects device (only output devices). 306 | 307 | @param deviceId - The ID of the output device to set as the default for system sounds. 308 | 309 | @example 310 | ``` 311 | setDefaultSystemDevice.sync(74); 312 | ``` 313 | */ 314 | sync: (deviceId: number) => void; 315 | }; 316 | 317 | export const getOutputDeviceVolume: { 318 | /** 319 | Get the volume of an output device that supports it. 320 | 321 | @param deviceId - The ID of the output device. 322 | @returns A promise that resolves with the volume of the device. 323 | 324 | @example 325 | ``` 326 | const volume = await getOutputDeviceVolume(74); 327 | ``` 328 | */ 329 | (deviceId: number): Promise; 330 | 331 | /** 332 | Get the volume of an output device that supports it. 333 | 334 | @param deviceId - The ID of the output device. 335 | @returns The volume of the device. 336 | 337 | @example 338 | ``` 339 | const volume = getOutputDeviceVolume.sync(74); 340 | ``` 341 | */ 342 | sync: (deviceId: number) => number; 343 | }; 344 | 345 | export const setOutputDeviceVolume: { 346 | /** 347 | Set the volume of an output device that supports it. 348 | 349 | @param deviceId - The ID of the output device. 350 | @param voluem - The volume level between 0 and 1. 351 | 352 | @example 353 | ``` 354 | await setOutputDeviceVolume(74, 0.5); 355 | ``` 356 | */ 357 | (deviceId: number, volume: number): Promise; 358 | 359 | /** 360 | Set the volume of an output device that supports it. 361 | 362 | @param deviceId - The ID of the output device. 363 | @param voluem - The volume level between 0 and 1. 364 | 365 | @example 366 | ``` 367 | setOutputDeviceVolume.sync(74, 0.5); 368 | ``` 369 | */ 370 | sync: (deviceId: number, volume: number) => void; 371 | }; 372 | 373 | export const createAggregateDevice: { 374 | /** 375 | Create an [aggregate device](https://support.apple.com/en-us/HT202000) from other existing devices. 376 | 377 | Note that aggregate devices do not support volume, so make sure to update the volume on the devices used to create it instead. 378 | 379 | @param name - The name of the aggregate device. 380 | @param mainDeviceId - The ID of main device. 381 | @param otherDeviceIds - Array of the rest of the device IDs to combine. 382 | @param options.multiOutput - Wether to create the device as a “Multi-Output Device”. 383 | @returns A promise that resolves with the newly created aggregate device. 384 | 385 | @example 386 | ``` 387 | const aggregateDevice = await createAggregateDevice("My Aggregate Device", 74, [81, 86], {multiOutput: true}); 388 | ``` 389 | */ 390 | (name: string, mainDeviceId: number, otherDeviceIds: number[], options?: { multiOutput: boolean }): Promise; 391 | 392 | /** 393 | Create an aggregate device from other existing devices. 394 | 395 | @param name - The name of the aggregate device. 396 | @param mainDeviceId - The ID of main device. 397 | @param otherDeviceIds - Array of the rest of the device IDs to combine. 398 | @param options.multiOutput - Wether to create the device as a “Multi-Output Device”. 399 | @returns The newly created aggregate device. 400 | 401 | @example 402 | ``` 403 | const aggregateDevice = createAggregateDevice.sync("My Aggregate Device", 74, [81, 86], {multiOutput: true}); 404 | ``` 405 | */ 406 | sync: (name: string, mainDeviceId: number, otherDeviceIds: number[], options?: { multiOutput: boolean }) => Device; 407 | }; 408 | 409 | export const destroyAggregateDevice: { 410 | /** 411 | Destroy an aggregate device. 412 | 413 | @param deviceId - The ID of the output device. 414 | 415 | @example 416 | ``` 417 | await destroyAggregateDevice(74); 418 | ``` 419 | */ 420 | (deviceId: number): Promise; 421 | 422 | /** 423 | Destroy an aggregate device. 424 | 425 | @param deviceId - The ID of the output device. 426 | 427 | @example 428 | ``` 429 | destroyAggregateDevice.sync(74); 430 | ``` 431 | */ 432 | sync: (deviceId: number) => void; 433 | }; 434 | -------------------------------------------------------------------------------- /Sources/audio-devices/AudioDevices.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import CoreAudio 3 | 4 | struct AudioDevice: Hashable, Codable, Identifiable { 5 | enum Error: Swift.Error { 6 | case invalidDeviceId 7 | case invalidDevice 8 | case volumeNotSupported 9 | case invalidVolumeValue 10 | } 11 | 12 | let id: AudioDeviceID 13 | let name: String 14 | let uid: String 15 | let isInput: Bool 16 | let isOutput: Bool 17 | var transportType: TransportType 18 | 19 | init(withId deviceId: AudioDeviceID) throws { 20 | self.id = deviceId 21 | 22 | var deviceName = "" as CFString 23 | var deviceUID = "" as CFString 24 | 25 | do { 26 | try CoreAudioData.get(id: deviceId, selector: kAudioObjectPropertyName, value: &deviceName) 27 | try CoreAudioData.get(id: deviceId, selector: kAudioDevicePropertyDeviceUID, value: &deviceUID) 28 | } catch { 29 | throw Error.invalidDeviceId 30 | } 31 | 32 | self.name = deviceName as String 33 | self.uid = deviceUID as String 34 | 35 | var deviceTransportType: UInt32 = 0 36 | do { 37 | try CoreAudioData.get( 38 | id: deviceId, 39 | selector: kAudioDevicePropertyTransportType, 40 | value: &deviceTransportType 41 | ) 42 | } catch { 43 | deviceTransportType = 0 44 | } 45 | 46 | self.transportType = TransportType(rawTransportType: deviceTransportType) 47 | 48 | let inputChannels: UInt32 = try CoreAudioData.size( 49 | id: deviceId, 50 | selector: kAudioDevicePropertyStreams, 51 | scope: kAudioDevicePropertyScopeInput 52 | ) 53 | 54 | isInput = inputChannels > 0 55 | 56 | let outputChannels: UInt32 = try CoreAudioData.size( 57 | id: deviceId, 58 | selector: kAudioDevicePropertyStreams, 59 | scope: kAudioDevicePropertyScopeOutput 60 | ) 61 | 62 | isOutput = outputChannels > 0 63 | } 64 | 65 | var volume: Double? { 66 | let hasVolume = CoreAudioData.has( 67 | id: id, 68 | selector: kAudioDevicePropertyVolumeScalar, 69 | scope: kAudioDevicePropertyScopeOutput 70 | ) 71 | 72 | guard hasVolume else { 73 | return nil 74 | } 75 | 76 | var deviceVolume: Float32 = 0 77 | do { 78 | try CoreAudioData.get( 79 | id: id, 80 | selector: kAudioDevicePropertyVolumeScalar, 81 | scope: kAudioDevicePropertyScopeOutput, 82 | value: &deviceVolume 83 | ) 84 | 85 | return Double(deviceVolume) 86 | } catch { 87 | return nil 88 | } 89 | } 90 | 91 | func setVolume(_ newVolume: Double) throws { 92 | guard volume != nil else { 93 | throw Error.volumeNotSupported 94 | } 95 | 96 | guard (0...1).contains(newVolume) else { 97 | throw Error.invalidVolumeValue 98 | } 99 | 100 | var value = Float32(newVolume) 101 | try CoreAudioData.set( 102 | id: id, 103 | selector: kAudioDevicePropertyVolumeScalar, 104 | scope: kAudioDevicePropertyScopeOutput, 105 | value: &value 106 | ) 107 | } 108 | 109 | func isDefault(for deviceType: DeviceType) -> Bool { 110 | guard let defaultDevice = try? Self.getDefaultDevice(for: deviceType) else { 111 | return false 112 | } 113 | 114 | return self == defaultDevice 115 | } 116 | 117 | func setAsDefault(for deviceType: DeviceType) throws { 118 | try Self.setDefaultDevice(for: deviceType, device: self) 119 | } 120 | } 121 | 122 | extension AudioDevice { 123 | struct DeviceType { 124 | let selector: AudioObjectPropertySelector 125 | let isInput: Bool 126 | let isOutput: Bool 127 | 128 | static let input = Self( 129 | selector: kAudioHardwarePropertyDefaultInputDevice, 130 | isInput: true, 131 | isOutput: false 132 | ) 133 | 134 | static let output = Self( 135 | selector: kAudioHardwarePropertyDefaultOutputDevice, 136 | isInput: false, 137 | isOutput: true 138 | ) 139 | 140 | static let system = Self( 141 | selector: kAudioHardwarePropertyDefaultSystemOutputDevice, 142 | isInput: false, 143 | isOutput: true 144 | ) 145 | } 146 | } 147 | 148 | extension AudioDevice { 149 | enum TransportType: String, Codable { 150 | case avb 151 | case aggregate 152 | case airplay 153 | case autoaggregate 154 | case bluetooth 155 | case bluetoothle 156 | case builtin 157 | case displayport 158 | case firewire 159 | case hdmi 160 | case pci 161 | case thunderbolt 162 | case usb 163 | case virtual 164 | case unknown 165 | 166 | init(rawTransportType deviceTransportType: UInt32) { 167 | switch deviceTransportType { 168 | case kAudioDeviceTransportTypeAVB: 169 | self = .avb 170 | case kAudioDeviceTransportTypeAggregate: 171 | self = .aggregate 172 | case kAudioDeviceTransportTypeAirPlay: 173 | self = .airplay 174 | case kAudioDeviceTransportTypeAutoAggregate: 175 | self = .autoaggregate 176 | case kAudioDeviceTransportTypeBluetooth: 177 | self = .bluetooth 178 | case kAudioDeviceTransportTypeBluetoothLE: 179 | self = .bluetoothle 180 | case kAudioDeviceTransportTypeBuiltIn: 181 | self = .builtin 182 | case kAudioDeviceTransportTypeDisplayPort: 183 | self = .displayport 184 | case kAudioDeviceTransportTypeFireWire: 185 | self = .firewire 186 | case kAudioDeviceTransportTypeHDMI: 187 | self = .hdmi 188 | case kAudioDeviceTransportTypePCI: 189 | self = .pci 190 | case kAudioDeviceTransportTypeThunderbolt: 191 | self = .thunderbolt 192 | case kAudioDeviceTransportTypeUSB: 193 | self = .usb 194 | case kAudioDeviceTransportTypeVirtual: 195 | self = .virtual 196 | default: 197 | self = .unknown 198 | } 199 | } 200 | } 201 | } 202 | 203 | extension AudioDevice { 204 | static var all: [Self] { 205 | do { 206 | let devicesSize = try CoreAudioData.size(selector: kAudioHardwarePropertyDevices) 207 | let devicesLength = devicesSize / UInt32(MemoryLayout.size) 208 | var deviceIds: [AudioDeviceID] = Array(repeating: 0, count: Int(devicesLength)) 209 | 210 | try CoreAudioData.get( 211 | selector: kAudioHardwarePropertyDevices, 212 | initialSize: devicesSize, 213 | value: &deviceIds 214 | ) 215 | 216 | return deviceIds.compactMap { try? self.init(withId: $0) } 217 | } catch { 218 | return [] 219 | } 220 | } 221 | 222 | static var input: [Self] { 223 | all.filter { $0.isInput } 224 | } 225 | 226 | static var output: [Self] { 227 | all.filter { $0.isOutput } 228 | } 229 | 230 | static func getDefaultDevice(for deviceType: DeviceType) throws -> Self { 231 | var deviceId: AudioDeviceID = 0 232 | 233 | try CoreAudioData.get( 234 | selector: deviceType.selector, 235 | value: &deviceId 236 | ) 237 | 238 | return try self.init(withId: deviceId) 239 | } 240 | 241 | static func setDefaultDevice(for deviceType: DeviceType, device: Self) throws { 242 | if (deviceType.isInput && !device.isInput) || (deviceType.isOutput && !device.isOutput) { 243 | throw Error.invalidDevice 244 | } 245 | 246 | var deviceId = device.id 247 | 248 | try CoreAudioData.set( 249 | selector: deviceType.selector, 250 | value: &deviceId 251 | ) 252 | } 253 | 254 | /// This function uses two or more devices to create an aggregate device. 255 | /// 256 | /// Usage: 257 | /// 258 | /// createAggregate( 259 | /// name: "Aggregate Device Name", 260 | /// mainDevice: AudioDevice(withId: 73), 261 | /// otherDevices: [AudioDevice(withId: 84)], 262 | /// shouldStack: true 263 | /// ) 264 | /// 265 | /// - Parameter name: The name for the device to be created. 266 | /// - Parameter mainDevice: The main device. 267 | /// - Parameter otherDevices: The rest of the devices to be combined with the main one. 268 | /// - Parameter shouldStack: Whether or not it should create a Multi-Output Device. 269 | /// 270 | /// - Returns: The newly created device. 271 | static func createAggregate( 272 | name: String, 273 | uid: String = UUID().uuidString, 274 | mainDevice: Self, 275 | otherDevices: [Self], 276 | shouldStack: Bool = false 277 | ) throws -> Self { 278 | let allDevices = [mainDevice] + otherDevices 279 | 280 | let deviceList = allDevices.map { 281 | [ 282 | kAudioSubDeviceUIDKey: $0.uid, 283 | kAudioSubDeviceDriftCompensationKey: $0.id == mainDevice.id ? 0 : 1 284 | ] 285 | } 286 | 287 | let description: [String: Any] = [ 288 | kAudioAggregateDeviceNameKey: name, 289 | kAudioAggregateDeviceUIDKey: uid, 290 | kAudioAggregateDeviceSubDeviceListKey: deviceList, 291 | kAudioAggregateDeviceMasterSubDeviceKey: mainDevice.uid, 292 | kAudioAggregateDeviceIsStackedKey: shouldStack ? 1 : 0 293 | ] 294 | 295 | var aggregateDeviceId: AudioDeviceID = 0 296 | 297 | try NSError.checkOSStatus { 298 | AudioHardwareCreateAggregateDevice(description as CFDictionary, &aggregateDeviceId) 299 | } 300 | 301 | return try self.init(withId: aggregateDeviceId) 302 | } 303 | 304 | static func destroyAggregate(device: Self) throws { 305 | try NSError.checkOSStatus { 306 | AudioHardwareDestroyAggregateDevice(device.id) 307 | } 308 | } 309 | } 310 | 311 | private struct CoreAudioData { 312 | static func get( 313 | id: UInt32 = AudioObjectID(kAudioObjectSystemObject), 314 | selector: AudioObjectPropertySelector, 315 | scope: AudioObjectPropertyScope = kAudioObjectPropertyScopeGlobal, 316 | element: AudioObjectPropertyElement = kAudioObjectPropertyElementMaster, 317 | initialSize: UInt32 = UInt32(MemoryLayout.size), 318 | value: UnsafeMutablePointer 319 | ) throws { 320 | var size = initialSize 321 | var address = AudioObjectPropertyAddress( 322 | mSelector: selector, 323 | mScope: scope, 324 | mElement: element 325 | ) 326 | 327 | try NSError.checkOSStatus { 328 | AudioObjectGetPropertyData(id, &address, 0, nil, &size, value) 329 | } 330 | } 331 | 332 | static func set( 333 | id: UInt32 = AudioObjectID(kAudioObjectSystemObject), 334 | selector: AudioObjectPropertySelector, 335 | scope: AudioObjectPropertyScope = kAudioObjectPropertyScopeGlobal, 336 | element: AudioObjectPropertyElement = kAudioObjectPropertyElementMaster, 337 | value: UnsafeMutablePointer 338 | ) throws { 339 | let size = UInt32(MemoryLayout.size) 340 | var address = AudioObjectPropertyAddress( 341 | mSelector: selector, 342 | mScope: scope, 343 | mElement: element 344 | ) 345 | 346 | try NSError.checkOSStatus { 347 | AudioObjectSetPropertyData(id, &address, 0, nil, size, value) 348 | } 349 | } 350 | 351 | static func has( 352 | id: UInt32 = AudioObjectID(kAudioObjectSystemObject), 353 | selector: AudioObjectPropertySelector, 354 | scope: AudioObjectPropertyScope = kAudioObjectPropertyScopeGlobal, 355 | element: AudioObjectPropertyElement = kAudioObjectPropertyElementMaster 356 | ) -> Bool { 357 | var address = AudioObjectPropertyAddress( 358 | mSelector: selector, 359 | mScope: scope, 360 | mElement: element 361 | ) 362 | 363 | return AudioObjectHasProperty(id, &address) 364 | } 365 | 366 | static func size( 367 | id: UInt32 = AudioObjectID(kAudioObjectSystemObject), 368 | selector: AudioObjectPropertySelector, 369 | scope: AudioObjectPropertyScope = kAudioObjectPropertyScopeGlobal, 370 | element: AudioObjectPropertyElement = kAudioObjectPropertyElementMaster 371 | ) throws -> UInt32 { 372 | var size: UInt32 = 0 373 | 374 | var address = AudioObjectPropertyAddress( 375 | mSelector: selector, 376 | mScope: scope, 377 | mElement: element 378 | ) 379 | 380 | try NSError.checkOSStatus { 381 | AudioObjectGetPropertyDataSize(id, &address, 0, nil, &size) 382 | } 383 | 384 | return size 385 | } 386 | } 387 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.5.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 8 | integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/highlight@^7.0.0": 13 | version "7.5.0" 14 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 15 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== 16 | dependencies: 17 | chalk "^2.0.0" 18 | esutils "^2.0.2" 19 | js-tokens "^4.0.0" 20 | 21 | "@mrmlnc/readdir-enhanced@^2.2.1": 22 | version "2.2.1" 23 | resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" 24 | integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== 25 | dependencies: 26 | call-me-maybe "^1.0.1" 27 | glob-to-regexp "^0.3.0" 28 | 29 | "@nodelib/fs.stat@^1.1.2": 30 | version "1.1.3" 31 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" 32 | integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== 33 | 34 | "@sindresorhus/is@^0.14.0": 35 | version "0.14.0" 36 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 37 | integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== 38 | 39 | "@szmarczak/http-timer@^1.1.2": 40 | version "1.1.2" 41 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 42 | integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== 43 | dependencies: 44 | defer-to-connect "^1.0.1" 45 | 46 | "@types/events@*": 47 | version "3.0.0" 48 | resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" 49 | integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== 50 | 51 | "@types/glob@^7.1.1": 52 | version "7.1.1" 53 | resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" 54 | integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== 55 | dependencies: 56 | "@types/events" "*" 57 | "@types/minimatch" "*" 58 | "@types/node" "*" 59 | 60 | "@types/minimatch@*", "@types/minimatch@^3.0.3": 61 | version "3.0.3" 62 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" 63 | integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== 64 | 65 | "@types/node@*": 66 | version "12.12.21" 67 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.21.tgz#aa44a6363291c7037111c47e4661ad210aded23f" 68 | integrity sha512-8sRGhbpU+ck1n0PGAUgVrWrWdjSW2aqNeyC15W88GRsMpSwzv6RJGlLhE7s2RhVSOdyDmxbqlWSeThq4/7xqlA== 69 | 70 | "@types/normalize-package-data@^2.4.0": 71 | version "2.4.0" 72 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 73 | integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 74 | 75 | acorn-jsx@^5.1.0: 76 | version "5.1.0" 77 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" 78 | integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== 79 | 80 | acorn@^7.1.0: 81 | version "7.1.0" 82 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" 83 | integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== 84 | 85 | ajv@^6.10.0, ajv@^6.10.2: 86 | version "6.10.2" 87 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 88 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== 89 | dependencies: 90 | fast-deep-equal "^2.0.1" 91 | fast-json-stable-stringify "^2.0.0" 92 | json-schema-traverse "^0.4.1" 93 | uri-js "^4.2.2" 94 | 95 | ansi-align@^2.0.0: 96 | version "2.0.0" 97 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" 98 | integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= 99 | dependencies: 100 | string-width "^2.0.0" 101 | 102 | ansi-align@^3.0.0: 103 | version "3.0.0" 104 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" 105 | integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== 106 | dependencies: 107 | string-width "^3.0.0" 108 | 109 | ansi-escapes@^2.0.0: 110 | version "2.0.0" 111 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" 112 | integrity sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs= 113 | 114 | ansi-escapes@^3.1.0: 115 | version "3.2.0" 116 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 117 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 118 | 119 | ansi-escapes@^4.2.1: 120 | version "4.3.0" 121 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" 122 | integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== 123 | dependencies: 124 | type-fest "^0.8.1" 125 | 126 | ansi-regex@^3.0.0: 127 | version "3.0.0" 128 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 129 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 130 | 131 | ansi-regex@^4.1.0: 132 | version "4.1.0" 133 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 134 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 135 | 136 | ansi-regex@^5.0.0: 137 | version "5.0.0" 138 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 139 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 140 | 141 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 142 | version "3.2.1" 143 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 144 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 145 | dependencies: 146 | color-convert "^1.9.0" 147 | 148 | argparse@^1.0.7: 149 | version "1.0.10" 150 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 151 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 152 | dependencies: 153 | sprintf-js "~1.0.2" 154 | 155 | arr-diff@^4.0.0: 156 | version "4.0.0" 157 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 158 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 159 | 160 | arr-flatten@^1.1.0: 161 | version "1.1.0" 162 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 163 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 164 | 165 | arr-union@^3.1.0: 166 | version "3.1.0" 167 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 168 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 169 | 170 | array-differ@^3.0.0: 171 | version "3.0.0" 172 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" 173 | integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== 174 | 175 | array-find-index@^1.0.1: 176 | version "1.0.2" 177 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 178 | integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= 179 | 180 | array-includes@^3.0.3: 181 | version "3.1.0" 182 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.0.tgz#48a929ef4c6bb1fa6dc4a92c9b023a261b0ca404" 183 | integrity sha512-ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ== 184 | dependencies: 185 | define-properties "^1.1.3" 186 | es-abstract "^1.17.0-next.0" 187 | 188 | array-union@^1.0.2: 189 | version "1.0.2" 190 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 191 | integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= 192 | dependencies: 193 | array-uniq "^1.0.1" 194 | 195 | array-union@^2.1.0: 196 | version "2.1.0" 197 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 198 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 199 | 200 | array-uniq@^1.0.1: 201 | version "1.0.3" 202 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 203 | integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= 204 | 205 | array-unique@^0.3.2: 206 | version "0.3.2" 207 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 208 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 209 | 210 | array.prototype.flat@^1.2.1: 211 | version "1.2.3" 212 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" 213 | integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== 214 | dependencies: 215 | define-properties "^1.1.3" 216 | es-abstract "^1.17.0-next.1" 217 | 218 | arrify@^1.0.0, arrify@^1.0.1: 219 | version "1.0.1" 220 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 221 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 222 | 223 | arrify@^2.0.1: 224 | version "2.0.1" 225 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 226 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 227 | 228 | assign-symbols@^1.0.0: 229 | version "1.0.0" 230 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 231 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 232 | 233 | astral-regex@^1.0.0: 234 | version "1.0.0" 235 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 236 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 237 | 238 | atob@^2.1.1: 239 | version "2.1.2" 240 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 241 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 242 | 243 | balanced-match@^1.0.0: 244 | version "1.0.0" 245 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 246 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 247 | 248 | base@^0.11.1: 249 | version "0.11.2" 250 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 251 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 252 | dependencies: 253 | cache-base "^1.0.1" 254 | class-utils "^0.3.5" 255 | component-emitter "^1.2.1" 256 | define-property "^1.0.0" 257 | isobject "^3.0.1" 258 | mixin-deep "^1.2.0" 259 | pascalcase "^0.1.1" 260 | 261 | boxen@^1.2.1: 262 | version "1.3.0" 263 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" 264 | integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== 265 | dependencies: 266 | ansi-align "^2.0.0" 267 | camelcase "^4.0.0" 268 | chalk "^2.0.1" 269 | cli-boxes "^1.0.0" 270 | string-width "^2.0.0" 271 | term-size "^1.2.0" 272 | widest-line "^2.0.0" 273 | 274 | boxen@^3.0.0: 275 | version "3.2.0" 276 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" 277 | integrity sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A== 278 | dependencies: 279 | ansi-align "^3.0.0" 280 | camelcase "^5.3.1" 281 | chalk "^2.4.2" 282 | cli-boxes "^2.2.0" 283 | string-width "^3.0.0" 284 | term-size "^1.2.0" 285 | type-fest "^0.3.0" 286 | widest-line "^2.0.0" 287 | 288 | brace-expansion@^1.1.7: 289 | version "1.1.11" 290 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 291 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 292 | dependencies: 293 | balanced-match "^1.0.0" 294 | concat-map "0.0.1" 295 | 296 | braces@^2.3.1: 297 | version "2.3.2" 298 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 299 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 300 | dependencies: 301 | arr-flatten "^1.1.0" 302 | array-unique "^0.3.2" 303 | extend-shallow "^2.0.1" 304 | fill-range "^4.0.0" 305 | isobject "^3.0.1" 306 | repeat-element "^1.1.2" 307 | snapdragon "^0.8.1" 308 | snapdragon-node "^2.0.1" 309 | split-string "^3.0.2" 310 | to-regex "^3.0.1" 311 | 312 | buf-compare@^1.0.0: 313 | version "1.0.1" 314 | resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" 315 | integrity sha1-/vKNqLgROgoNtEMLC2Rntpcws0o= 316 | 317 | cache-base@^1.0.1: 318 | version "1.0.1" 319 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 320 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 321 | dependencies: 322 | collection-visit "^1.0.0" 323 | component-emitter "^1.2.1" 324 | get-value "^2.0.6" 325 | has-value "^1.0.0" 326 | isobject "^3.0.1" 327 | set-value "^2.0.0" 328 | to-object-path "^0.3.0" 329 | union-value "^1.0.0" 330 | unset-value "^1.0.0" 331 | 332 | cacheable-request@^6.0.0: 333 | version "6.1.0" 334 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 335 | integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== 336 | dependencies: 337 | clone-response "^1.0.2" 338 | get-stream "^5.1.0" 339 | http-cache-semantics "^4.0.0" 340 | keyv "^3.0.0" 341 | lowercase-keys "^2.0.0" 342 | normalize-url "^4.1.0" 343 | responselike "^1.0.2" 344 | 345 | call-me-maybe@^1.0.1: 346 | version "1.0.1" 347 | resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" 348 | integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= 349 | 350 | callsites@^3.0.0: 351 | version "3.1.0" 352 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 353 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 354 | 355 | camelcase-keys@^4.0.0: 356 | version "4.2.0" 357 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" 358 | integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= 359 | dependencies: 360 | camelcase "^4.1.0" 361 | map-obj "^2.0.0" 362 | quick-lru "^1.0.0" 363 | 364 | camelcase@^4.0.0, camelcase@^4.1.0: 365 | version "4.1.0" 366 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 367 | integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 368 | 369 | camelcase@^5.3.1: 370 | version "5.3.1" 371 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 372 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 373 | 374 | capture-stack-trace@^1.0.0: 375 | version "1.0.1" 376 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" 377 | integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== 378 | 379 | chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: 380 | version "2.4.2" 381 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 382 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 383 | dependencies: 384 | ansi-styles "^3.2.1" 385 | escape-string-regexp "^1.0.5" 386 | supports-color "^5.3.0" 387 | 388 | chardet@^0.7.0: 389 | version "0.7.0" 390 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 391 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 392 | 393 | ci-info@^1.5.0: 394 | version "1.6.0" 395 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" 396 | integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== 397 | 398 | ci-info@^2.0.0: 399 | version "2.0.0" 400 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 401 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 402 | 403 | class-utils@^0.3.5: 404 | version "0.3.6" 405 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 406 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 407 | dependencies: 408 | arr-union "^3.1.0" 409 | define-property "^0.2.5" 410 | isobject "^3.0.0" 411 | static-extend "^0.1.1" 412 | 413 | clean-regexp@^1.0.0: 414 | version "1.0.0" 415 | resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" 416 | integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc= 417 | dependencies: 418 | escape-string-regexp "^1.0.5" 419 | 420 | cli-boxes@^1.0.0: 421 | version "1.0.0" 422 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 423 | integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= 424 | 425 | cli-boxes@^2.2.0: 426 | version "2.2.0" 427 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" 428 | integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== 429 | 430 | cli-cursor@^3.1.0: 431 | version "3.1.0" 432 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 433 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 434 | dependencies: 435 | restore-cursor "^3.1.0" 436 | 437 | cli-width@^2.0.0: 438 | version "2.2.0" 439 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 440 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 441 | 442 | clone-response@^1.0.2: 443 | version "1.0.2" 444 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 445 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= 446 | dependencies: 447 | mimic-response "^1.0.0" 448 | 449 | collection-visit@^1.0.0: 450 | version "1.0.0" 451 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 452 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 453 | dependencies: 454 | map-visit "^1.0.0" 455 | object-visit "^1.0.0" 456 | 457 | color-convert@^1.9.0: 458 | version "1.9.3" 459 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 460 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 461 | dependencies: 462 | color-name "1.1.3" 463 | 464 | color-name@1.1.3: 465 | version "1.1.3" 466 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 467 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 468 | 469 | commondir@^1.0.1: 470 | version "1.0.1" 471 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 472 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 473 | 474 | component-emitter@^1.2.1: 475 | version "1.3.0" 476 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 477 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 478 | 479 | concat-map@0.0.1: 480 | version "0.0.1" 481 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 482 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 483 | 484 | configstore@^3.0.0: 485 | version "3.1.2" 486 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" 487 | integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== 488 | dependencies: 489 | dot-prop "^4.1.0" 490 | graceful-fs "^4.1.2" 491 | make-dir "^1.0.0" 492 | unique-string "^1.0.0" 493 | write-file-atomic "^2.0.0" 494 | xdg-basedir "^3.0.0" 495 | 496 | configstore@^4.0.0: 497 | version "4.0.0" 498 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" 499 | integrity sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ== 500 | dependencies: 501 | dot-prop "^4.1.0" 502 | graceful-fs "^4.1.2" 503 | make-dir "^1.0.0" 504 | unique-string "^1.0.0" 505 | write-file-atomic "^2.0.0" 506 | xdg-basedir "^3.0.0" 507 | 508 | contains-path@^0.1.0: 509 | version "0.1.0" 510 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 511 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 512 | 513 | copy-descriptor@^0.1.0: 514 | version "0.1.1" 515 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 516 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 517 | 518 | core-assert@^0.2.0: 519 | version "0.2.1" 520 | resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" 521 | integrity sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8= 522 | dependencies: 523 | buf-compare "^1.0.0" 524 | is-error "^2.2.0" 525 | 526 | create-error-class@^3.0.0: 527 | version "3.0.2" 528 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 529 | integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= 530 | dependencies: 531 | capture-stack-trace "^1.0.0" 532 | 533 | cross-spawn@^5.0.1: 534 | version "5.1.0" 535 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 536 | integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= 537 | dependencies: 538 | lru-cache "^4.0.1" 539 | shebang-command "^1.2.0" 540 | which "^1.2.9" 541 | 542 | cross-spawn@^6.0.5: 543 | version "6.0.5" 544 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 545 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 546 | dependencies: 547 | nice-try "^1.0.4" 548 | path-key "^2.0.1" 549 | semver "^5.5.0" 550 | shebang-command "^1.2.0" 551 | which "^1.2.9" 552 | 553 | cross-spawn@^7.0.0: 554 | version "7.0.1" 555 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" 556 | integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== 557 | dependencies: 558 | path-key "^3.1.0" 559 | shebang-command "^2.0.0" 560 | which "^2.0.1" 561 | 562 | crypto-random-string@^1.0.0: 563 | version "1.0.0" 564 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 565 | integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= 566 | 567 | currently-unhandled@^0.4.1: 568 | version "0.4.1" 569 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 570 | integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= 571 | dependencies: 572 | array-find-index "^1.0.1" 573 | 574 | debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: 575 | version "2.6.9" 576 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 577 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 578 | dependencies: 579 | ms "2.0.0" 580 | 581 | debug@^4.0.1, debug@^4.1.0: 582 | version "4.1.1" 583 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 584 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 585 | dependencies: 586 | ms "^2.1.1" 587 | 588 | decamelize-keys@^1.0.0: 589 | version "1.1.0" 590 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 591 | integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 592 | dependencies: 593 | decamelize "^1.1.0" 594 | map-obj "^1.0.0" 595 | 596 | decamelize@^1.1.0: 597 | version "1.2.0" 598 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 599 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 600 | 601 | decode-uri-component@^0.2.0: 602 | version "0.2.0" 603 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 604 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 605 | 606 | decompress-response@^3.3.0: 607 | version "3.3.0" 608 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 609 | integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= 610 | dependencies: 611 | mimic-response "^1.0.0" 612 | 613 | deep-extend@^0.6.0: 614 | version "0.6.0" 615 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 616 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 617 | 618 | deep-is@~0.1.3: 619 | version "0.1.3" 620 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 621 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 622 | 623 | deep-strict-equal@^0.2.0: 624 | version "0.2.0" 625 | resolved "https://registry.yarnpkg.com/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz#4a078147a8ab57f6a0d4f5547243cd22f44eb4e4" 626 | integrity sha1-SgeBR6irV/ag1PVUckPNIvROtOQ= 627 | dependencies: 628 | core-assert "^0.2.0" 629 | 630 | defer-to-connect@^1.0.1: 631 | version "1.1.1" 632 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f" 633 | integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ== 634 | 635 | define-properties@^1.1.2, define-properties@^1.1.3: 636 | version "1.1.3" 637 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 638 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 639 | dependencies: 640 | object-keys "^1.0.12" 641 | 642 | define-property@^0.2.5: 643 | version "0.2.5" 644 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 645 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 646 | dependencies: 647 | is-descriptor "^0.1.0" 648 | 649 | define-property@^1.0.0: 650 | version "1.0.0" 651 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 652 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 653 | dependencies: 654 | is-descriptor "^1.0.0" 655 | 656 | define-property@^2.0.2: 657 | version "2.0.2" 658 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 659 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 660 | dependencies: 661 | is-descriptor "^1.0.2" 662 | isobject "^3.0.1" 663 | 664 | detect-indent@^5.0.0: 665 | version "5.0.0" 666 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" 667 | integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= 668 | 669 | dir-glob@^2.2.2: 670 | version "2.2.2" 671 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" 672 | integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== 673 | dependencies: 674 | path-type "^3.0.0" 675 | 676 | doctrine@1.5.0: 677 | version "1.5.0" 678 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 679 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 680 | dependencies: 681 | esutils "^2.0.2" 682 | isarray "^1.0.0" 683 | 684 | doctrine@^3.0.0: 685 | version "3.0.0" 686 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 687 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 688 | dependencies: 689 | esutils "^2.0.2" 690 | 691 | dot-prop@^4.1.0: 692 | version "4.2.0" 693 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" 694 | integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== 695 | dependencies: 696 | is-obj "^1.0.0" 697 | 698 | duplexer3@^0.1.4: 699 | version "0.1.4" 700 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 701 | integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= 702 | 703 | electron-is-dev@^1.1.0: 704 | version "1.1.0" 705 | resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-1.1.0.tgz#b15a2a600bdc48a51a857d460e05f15b19a2522c" 706 | integrity sha512-Z1qA/1oHNowGtSBIcWk0pcLEqYT/j+13xUw/MYOrBUOL4X7VN0i0KCTf5SqyvMPmW5pSPKbo28wkxMxzZ20YnQ== 707 | 708 | electron-util@^0.13.1: 709 | version "0.13.1" 710 | resolved "https://registry.yarnpkg.com/electron-util/-/electron-util-0.13.1.tgz#ba3b9cb7e5fdb6a51970a01e9070877cf7855ef8" 711 | integrity sha512-CvOuAyQPaPtnDp7SspwnT1yTb1yynw6yp4LrZCfEJ7TG/kJFiZW9RqMHlCEFWMn3QNoMkNhGVeCvWJV5NsYyuQ== 712 | dependencies: 713 | electron-is-dev "^1.1.0" 714 | new-github-issue-url "^0.2.1" 715 | 716 | emoji-regex@^7.0.1: 717 | version "7.0.3" 718 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 719 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 720 | 721 | emoji-regex@^8.0.0: 722 | version "8.0.0" 723 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 724 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 725 | 726 | end-of-stream@^1.1.0: 727 | version "1.4.4" 728 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 729 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 730 | dependencies: 731 | once "^1.4.0" 732 | 733 | enhance-visitors@^1.0.0: 734 | version "1.0.0" 735 | resolved "https://registry.yarnpkg.com/enhance-visitors/-/enhance-visitors-1.0.0.tgz#aa945d05da465672a1ebd38fee2ed3da8518e95a" 736 | integrity sha1-qpRdBdpGVnKh69OP7i7T2oUY6Vo= 737 | dependencies: 738 | lodash "^4.13.1" 739 | 740 | env-editor@^0.4.0: 741 | version "0.4.1" 742 | resolved "https://registry.yarnpkg.com/env-editor/-/env-editor-0.4.1.tgz#77011e08ce45f46e404e8d996b465c684ca57502" 743 | integrity sha512-suh+Vm00GnPQgXpmONTkcUT9LgBSL6sJrRnJxbykT0j+ONjzmIS+1U3ne467ArdZN/42/npp+GnhtwkLQ+vUjw== 744 | 745 | error-ex@^1.2.0, error-ex@^1.3.1: 746 | version "1.3.2" 747 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 748 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 749 | dependencies: 750 | is-arrayish "^0.2.1" 751 | 752 | es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1: 753 | version "1.17.0-next.1" 754 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.0-next.1.tgz#94acc93e20b05a6e96dacb5ab2f1cb3a81fc2172" 755 | integrity sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw== 756 | dependencies: 757 | es-to-primitive "^1.2.1" 758 | function-bind "^1.1.1" 759 | has "^1.0.3" 760 | has-symbols "^1.0.1" 761 | is-callable "^1.1.4" 762 | is-regex "^1.0.4" 763 | object-inspect "^1.7.0" 764 | object-keys "^1.1.1" 765 | object.assign "^4.1.0" 766 | string.prototype.trimleft "^2.1.0" 767 | string.prototype.trimright "^2.1.0" 768 | 769 | es-to-primitive@^1.2.1: 770 | version "1.2.1" 771 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 772 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 773 | dependencies: 774 | is-callable "^1.1.4" 775 | is-date-object "^1.0.1" 776 | is-symbol "^1.0.2" 777 | 778 | escape-string-regexp@^1.0.5: 779 | version "1.0.5" 780 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 781 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 782 | 783 | eslint-ast-utils@^1.1.0: 784 | version "1.1.0" 785 | resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586" 786 | integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== 787 | dependencies: 788 | lodash.get "^4.4.2" 789 | lodash.zip "^4.2.0" 790 | 791 | eslint-config-prettier@^6.3.0: 792 | version "6.7.0" 793 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz#9a876952e12df2b284adbd3440994bf1f39dfbb9" 794 | integrity sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ== 795 | dependencies: 796 | get-stdin "^6.0.0" 797 | 798 | eslint-config-xo@^0.27.1: 799 | version "0.27.2" 800 | resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.27.2.tgz#71aff3d5b5554e9e5b5e1853e21da7799bb53f1f" 801 | integrity sha512-qEuZP0zNQkWpOdNZvWnfY2GNp1AZ33uXgeOXl4DN5YVLHFvekHbeSM2FFZ8A489fp1rCCColVRlJsYMf28o4DA== 802 | 803 | eslint-formatter-pretty@^1.3.0: 804 | version "1.3.0" 805 | resolved "https://registry.yarnpkg.com/eslint-formatter-pretty/-/eslint-formatter-pretty-1.3.0.tgz#985d9e41c1f8475f4a090c5dbd2dfcf2821d607e" 806 | integrity sha512-5DY64Y1rYCm7cfFDHEGUn54bvCnK+wSUVF07N8oXeqUJFSd+gnYOTXbzelQ1HurESluY6gnEQPmXOIkB4Wa+gA== 807 | dependencies: 808 | ansi-escapes "^2.0.0" 809 | chalk "^2.1.0" 810 | log-symbols "^2.0.0" 811 | plur "^2.1.2" 812 | string-width "^2.0.0" 813 | 814 | eslint-formatter-pretty@^2.0.0: 815 | version "2.1.1" 816 | resolved "https://registry.yarnpkg.com/eslint-formatter-pretty/-/eslint-formatter-pretty-2.1.1.tgz#0794a1009195d14e448053fe99667413b7d02e44" 817 | integrity sha512-gWfagucSWBn82WxzwFloBTLAcwYDgnpAfiV5pQfyAV5YpZikuLflRU8nc3Ts9wnNvLhwk4blzb42/C495Yw7BA== 818 | dependencies: 819 | ansi-escapes "^3.1.0" 820 | chalk "^2.1.0" 821 | eslint-rule-docs "^1.1.5" 822 | log-symbols "^2.0.0" 823 | plur "^3.0.1" 824 | string-width "^2.0.0" 825 | supports-hyperlinks "^1.0.1" 826 | 827 | eslint-import-resolver-node@^0.3.2: 828 | version "0.3.2" 829 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" 830 | integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== 831 | dependencies: 832 | debug "^2.6.9" 833 | resolve "^1.5.0" 834 | 835 | eslint-module-utils@^2.4.1: 836 | version "2.5.0" 837 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz#cdf0b40d623032274ccd2abd7e64c4e524d6e19c" 838 | integrity sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw== 839 | dependencies: 840 | debug "^2.6.9" 841 | pkg-dir "^2.0.0" 842 | 843 | eslint-plugin-ava@^9.0.0: 844 | version "9.0.0" 845 | resolved "https://registry.yarnpkg.com/eslint-plugin-ava/-/eslint-plugin-ava-9.0.0.tgz#a8d569ae7127aa640e344c46d1f288976543b1bd" 846 | integrity sha512-mJqQ1wQ9pxBi5Pu+grrqjfuSLxiSSgnpa5p5vMdEpBqA9n9cUzSCv0xMZ/NkTMAj5ieOB3TWF8j+7C30Yiv4RA== 847 | dependencies: 848 | deep-strict-equal "^0.2.0" 849 | enhance-visitors "^1.0.0" 850 | espree "^6.0.0" 851 | espurify "^2.0.0" 852 | import-modules "^1.1.0" 853 | pkg-dir "^4.2.0" 854 | resolve-from "^5.0.0" 855 | 856 | eslint-plugin-es@^2.0.0: 857 | version "2.0.0" 858 | resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976" 859 | integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ== 860 | dependencies: 861 | eslint-utils "^1.4.2" 862 | regexpp "^3.0.0" 863 | 864 | eslint-plugin-eslint-comments@^3.0.1: 865 | version "3.1.2" 866 | resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz#4ef6c488dbe06aa1627fea107b3e5d059fc8a395" 867 | integrity sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ== 868 | dependencies: 869 | escape-string-regexp "^1.0.5" 870 | ignore "^5.0.5" 871 | 872 | eslint-plugin-import@^2.18.2: 873 | version "2.19.1" 874 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.19.1.tgz#5654e10b7839d064dd0d46cd1b88ec2133a11448" 875 | integrity sha512-x68131aKoCZlCae7rDXKSAQmbT5DQuManyXo2sK6fJJ0aK5CWAkv6A6HJZGgqC8IhjQxYPgo6/IY4Oz8AFsbBw== 876 | dependencies: 877 | array-includes "^3.0.3" 878 | array.prototype.flat "^1.2.1" 879 | contains-path "^0.1.0" 880 | debug "^2.6.9" 881 | doctrine "1.5.0" 882 | eslint-import-resolver-node "^0.3.2" 883 | eslint-module-utils "^2.4.1" 884 | has "^1.0.3" 885 | minimatch "^3.0.4" 886 | object.values "^1.1.0" 887 | read-pkg-up "^2.0.0" 888 | resolve "^1.12.0" 889 | 890 | eslint-plugin-no-use-extend-native@^0.4.0: 891 | version "0.4.1" 892 | resolved "https://registry.yarnpkg.com/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.4.1.tgz#b2a631219b6a2e91b4370ef6559a754356560a40" 893 | integrity sha512-tDkHM0kvxU0M2TpLRKGfFrpWXctFdTDY7VkiDTLYDaX90hMSJKkr/FiWThEXvKV0Dvffut2Z0B9Y7+h/k6suiA== 894 | dependencies: 895 | is-get-set-prop "^1.0.0" 896 | is-js-type "^2.0.0" 897 | is-obj-prop "^1.0.0" 898 | is-proto-prop "^2.0.0" 899 | 900 | eslint-plugin-node@^10.0.0: 901 | version "10.0.0" 902 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6" 903 | integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ== 904 | dependencies: 905 | eslint-plugin-es "^2.0.0" 906 | eslint-utils "^1.4.2" 907 | ignore "^5.1.1" 908 | minimatch "^3.0.4" 909 | resolve "^1.10.1" 910 | semver "^6.1.0" 911 | 912 | eslint-plugin-prettier@^3.1.1: 913 | version "3.1.2" 914 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" 915 | integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== 916 | dependencies: 917 | prettier-linter-helpers "^1.0.0" 918 | 919 | eslint-plugin-promise@^4.0.0: 920 | version "4.2.1" 921 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" 922 | integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== 923 | 924 | eslint-plugin-unicorn@^12.0.0: 925 | version "12.1.0" 926 | resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-12.1.0.tgz#6ebff6c90ecf4df7ce1615e18928d10bb50c2ff5" 927 | integrity sha512-DkPRrjaZaKa8GDjEyWGms/sqp2DcmVCcbwVi9WQXwN6+Sn0/joTC14SfA+BsCuxTaGPRm/7wa8NC8o5mNDyZpQ== 928 | dependencies: 929 | ci-info "^2.0.0" 930 | clean-regexp "^1.0.0" 931 | eslint-ast-utils "^1.1.0" 932 | eslint-template-visitor "^1.0.0" 933 | import-modules "^2.0.0" 934 | lodash.camelcase "^4.3.0" 935 | lodash.defaultsdeep "^4.6.1" 936 | lodash.kebabcase "^4.1.1" 937 | lodash.snakecase "^4.1.1" 938 | lodash.topairs "^4.3.0" 939 | lodash.upperfirst "^4.3.1" 940 | read-pkg-up "^7.0.0" 941 | regexpp "^3.0.0" 942 | reserved-words "^0.1.2" 943 | safe-regex "^2.0.2" 944 | semver "^6.3.0" 945 | 946 | eslint-rule-docs@^1.1.5: 947 | version "1.1.170" 948 | resolved "https://registry.yarnpkg.com/eslint-rule-docs/-/eslint-rule-docs-1.1.170.tgz#08c82aaa93e16ed5fce0570e6919b8458042d90f" 949 | integrity sha512-Sxny242tV64iP78OZpevKINHsjHMnhIMqzLAUZuNCbxucq30OWvQrznF68/lTYWxBBFlHvLEE9GbUt/61fulQA== 950 | 951 | eslint-scope@^5.0.0: 952 | version "5.0.0" 953 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" 954 | integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== 955 | dependencies: 956 | esrecurse "^4.1.0" 957 | estraverse "^4.1.1" 958 | 959 | eslint-template-visitor@^1.0.0: 960 | version "1.1.0" 961 | resolved "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-1.1.0.tgz#f090d124d1a52e05552149fc50468ed59608b166" 962 | integrity sha512-Lmy6QVlmFiIGl5fPi+8ACnov3sare+0Ouf7deJAGGhmUfeWJ5fVarELUxZRpsZ9sHejiJUq8626d0dn9uvcZTw== 963 | dependencies: 964 | eslint-visitor-keys "^1.1.0" 965 | espree "^6.1.1" 966 | multimap "^1.0.2" 967 | 968 | eslint-utils@^1.4.2, eslint-utils@^1.4.3: 969 | version "1.4.3" 970 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" 971 | integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== 972 | dependencies: 973 | eslint-visitor-keys "^1.1.0" 974 | 975 | eslint-visitor-keys@^1.1.0: 976 | version "1.1.0" 977 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 978 | integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== 979 | 980 | eslint@^6.4.0: 981 | version "6.7.2" 982 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.7.2.tgz#c17707ca4ad7b2d8af986a33feba71e18a9fecd1" 983 | integrity sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng== 984 | dependencies: 985 | "@babel/code-frame" "^7.0.0" 986 | ajv "^6.10.0" 987 | chalk "^2.1.0" 988 | cross-spawn "^6.0.5" 989 | debug "^4.0.1" 990 | doctrine "^3.0.0" 991 | eslint-scope "^5.0.0" 992 | eslint-utils "^1.4.3" 993 | eslint-visitor-keys "^1.1.0" 994 | espree "^6.1.2" 995 | esquery "^1.0.1" 996 | esutils "^2.0.2" 997 | file-entry-cache "^5.0.1" 998 | functional-red-black-tree "^1.0.1" 999 | glob-parent "^5.0.0" 1000 | globals "^12.1.0" 1001 | ignore "^4.0.6" 1002 | import-fresh "^3.0.0" 1003 | imurmurhash "^0.1.4" 1004 | inquirer "^7.0.0" 1005 | is-glob "^4.0.0" 1006 | js-yaml "^3.13.1" 1007 | json-stable-stringify-without-jsonify "^1.0.1" 1008 | levn "^0.3.0" 1009 | lodash "^4.17.14" 1010 | minimatch "^3.0.4" 1011 | mkdirp "^0.5.1" 1012 | natural-compare "^1.4.0" 1013 | optionator "^0.8.3" 1014 | progress "^2.0.0" 1015 | regexpp "^2.0.1" 1016 | semver "^6.1.2" 1017 | strip-ansi "^5.2.0" 1018 | strip-json-comments "^3.0.1" 1019 | table "^5.2.3" 1020 | text-table "^0.2.0" 1021 | v8-compile-cache "^2.0.3" 1022 | 1023 | espree@^6.0.0, espree@^6.1.1, espree@^6.1.2: 1024 | version "6.1.2" 1025 | resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" 1026 | integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== 1027 | dependencies: 1028 | acorn "^7.1.0" 1029 | acorn-jsx "^5.1.0" 1030 | eslint-visitor-keys "^1.1.0" 1031 | 1032 | esprima@^4.0.0: 1033 | version "4.0.1" 1034 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1035 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1036 | 1037 | espurify@^2.0.0: 1038 | version "2.0.1" 1039 | resolved "https://registry.yarnpkg.com/espurify/-/espurify-2.0.1.tgz#c25b3bb613863daa142edcca052370a1a459f41d" 1040 | integrity sha512-7w/dUrReI/QbJFHRwfomTlkQOXaB1NuCrBRn5Y26HXn5gvh18/19AgLbayVrNxXQfkckvgrJloWyvZDuJ7dhEA== 1041 | 1042 | esquery@^1.0.1: 1043 | version "1.0.1" 1044 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 1045 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 1046 | dependencies: 1047 | estraverse "^4.0.0" 1048 | 1049 | esrecurse@^4.1.0: 1050 | version "4.2.1" 1051 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1052 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 1053 | dependencies: 1054 | estraverse "^4.1.0" 1055 | 1056 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 1057 | version "4.3.0" 1058 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1059 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1060 | 1061 | esutils@^2.0.2: 1062 | version "2.0.3" 1063 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1064 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1065 | 1066 | execa@^0.7.0: 1067 | version "0.7.0" 1068 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1069 | integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= 1070 | dependencies: 1071 | cross-spawn "^5.0.1" 1072 | get-stream "^3.0.0" 1073 | is-stream "^1.1.0" 1074 | npm-run-path "^2.0.0" 1075 | p-finally "^1.0.0" 1076 | signal-exit "^3.0.0" 1077 | strip-eof "^1.0.0" 1078 | 1079 | execa@^0.9.0: 1080 | version "0.9.0" 1081 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.9.0.tgz#adb7ce62cf985071f60580deb4a88b9e34712d01" 1082 | integrity sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA== 1083 | dependencies: 1084 | cross-spawn "^5.0.1" 1085 | get-stream "^3.0.0" 1086 | is-stream "^1.1.0" 1087 | npm-run-path "^2.0.0" 1088 | p-finally "^1.0.0" 1089 | signal-exit "^3.0.0" 1090 | strip-eof "^1.0.0" 1091 | 1092 | execa@^4.0.0: 1093 | version "4.0.0" 1094 | resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.0.tgz#7f37d6ec17f09e6b8fc53288611695b6d12b9daf" 1095 | integrity sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA== 1096 | dependencies: 1097 | cross-spawn "^7.0.0" 1098 | get-stream "^5.0.0" 1099 | human-signals "^1.1.1" 1100 | is-stream "^2.0.0" 1101 | merge-stream "^2.0.0" 1102 | npm-run-path "^4.0.0" 1103 | onetime "^5.1.0" 1104 | signal-exit "^3.0.2" 1105 | strip-final-newline "^2.0.0" 1106 | 1107 | expand-brackets@^2.1.4: 1108 | version "2.1.4" 1109 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1110 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 1111 | dependencies: 1112 | debug "^2.3.3" 1113 | define-property "^0.2.5" 1114 | extend-shallow "^2.0.1" 1115 | posix-character-classes "^0.1.0" 1116 | regex-not "^1.0.0" 1117 | snapdragon "^0.8.1" 1118 | to-regex "^3.0.1" 1119 | 1120 | extend-shallow@^2.0.1: 1121 | version "2.0.1" 1122 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1123 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1124 | dependencies: 1125 | is-extendable "^0.1.0" 1126 | 1127 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1128 | version "3.0.2" 1129 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1130 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1131 | dependencies: 1132 | assign-symbols "^1.0.0" 1133 | is-extendable "^1.0.1" 1134 | 1135 | external-editor@^3.0.3: 1136 | version "3.1.0" 1137 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 1138 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 1139 | dependencies: 1140 | chardet "^0.7.0" 1141 | iconv-lite "^0.4.24" 1142 | tmp "^0.0.33" 1143 | 1144 | extglob@^2.0.4: 1145 | version "2.0.4" 1146 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1147 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 1148 | dependencies: 1149 | array-unique "^0.3.2" 1150 | define-property "^1.0.0" 1151 | expand-brackets "^2.1.4" 1152 | extend-shallow "^2.0.1" 1153 | fragment-cache "^0.2.1" 1154 | regex-not "^1.0.0" 1155 | snapdragon "^0.8.1" 1156 | to-regex "^3.0.1" 1157 | 1158 | fast-deep-equal@^2.0.1: 1159 | version "2.0.1" 1160 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1161 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1162 | 1163 | fast-diff@^1.1.2: 1164 | version "1.2.0" 1165 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 1166 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 1167 | 1168 | fast-glob@^2.2.6: 1169 | version "2.2.7" 1170 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" 1171 | integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== 1172 | dependencies: 1173 | "@mrmlnc/readdir-enhanced" "^2.2.1" 1174 | "@nodelib/fs.stat" "^1.1.2" 1175 | glob-parent "^3.1.0" 1176 | is-glob "^4.0.0" 1177 | merge2 "^1.2.3" 1178 | micromatch "^3.1.10" 1179 | 1180 | fast-json-stable-stringify@^2.0.0: 1181 | version "2.1.0" 1182 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1183 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1184 | 1185 | fast-levenshtein@~2.0.6: 1186 | version "2.0.6" 1187 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1188 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1189 | 1190 | figures@^3.0.0: 1191 | version "3.1.0" 1192 | resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" 1193 | integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== 1194 | dependencies: 1195 | escape-string-regexp "^1.0.5" 1196 | 1197 | file-entry-cache@^5.0.1: 1198 | version "5.0.1" 1199 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 1200 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 1201 | dependencies: 1202 | flat-cache "^2.0.1" 1203 | 1204 | fill-range@^4.0.0: 1205 | version "4.0.0" 1206 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1207 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1208 | dependencies: 1209 | extend-shallow "^2.0.1" 1210 | is-number "^3.0.0" 1211 | repeat-string "^1.6.1" 1212 | to-regex-range "^2.1.0" 1213 | 1214 | find-cache-dir@^3.0.0: 1215 | version "3.2.0" 1216 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.2.0.tgz#e7fe44c1abc1299f516146e563108fd1006c1874" 1217 | integrity sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg== 1218 | dependencies: 1219 | commondir "^1.0.1" 1220 | make-dir "^3.0.0" 1221 | pkg-dir "^4.1.0" 1222 | 1223 | find-up@^2.0.0, find-up@^2.1.0: 1224 | version "2.1.0" 1225 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1226 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 1227 | dependencies: 1228 | locate-path "^2.0.0" 1229 | 1230 | find-up@^3.0.0: 1231 | version "3.0.0" 1232 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1233 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1234 | dependencies: 1235 | locate-path "^3.0.0" 1236 | 1237 | find-up@^4.0.0, find-up@^4.1.0: 1238 | version "4.1.0" 1239 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1240 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1241 | dependencies: 1242 | locate-path "^5.0.0" 1243 | path-exists "^4.0.0" 1244 | 1245 | flat-cache@^2.0.1: 1246 | version "2.0.1" 1247 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 1248 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 1249 | dependencies: 1250 | flatted "^2.0.0" 1251 | rimraf "2.6.3" 1252 | write "1.0.3" 1253 | 1254 | flatted@^2.0.0: 1255 | version "2.0.1" 1256 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" 1257 | integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== 1258 | 1259 | for-in@^1.0.2: 1260 | version "1.0.2" 1261 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1262 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1263 | 1264 | fragment-cache@^0.2.1: 1265 | version "0.2.1" 1266 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1267 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1268 | dependencies: 1269 | map-cache "^0.2.2" 1270 | 1271 | fs.realpath@^1.0.0: 1272 | version "1.0.0" 1273 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1274 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1275 | 1276 | function-bind@^1.1.1: 1277 | version "1.1.1" 1278 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1279 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1280 | 1281 | functional-red-black-tree@^1.0.1: 1282 | version "1.0.1" 1283 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1284 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1285 | 1286 | get-set-props@^0.1.0: 1287 | version "0.1.0" 1288 | resolved "https://registry.yarnpkg.com/get-set-props/-/get-set-props-0.1.0.tgz#998475c178445686d0b32246da5df8dbcfbe8ea3" 1289 | integrity sha1-mYR1wXhEVobQsyJG2l3428++jqM= 1290 | 1291 | get-stdin@^6.0.0: 1292 | version "6.0.0" 1293 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" 1294 | integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== 1295 | 1296 | get-stdin@^7.0.0: 1297 | version "7.0.0" 1298 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" 1299 | integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== 1300 | 1301 | get-stream@^3.0.0: 1302 | version "3.0.0" 1303 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1304 | integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 1305 | 1306 | get-stream@^4.1.0: 1307 | version "4.1.0" 1308 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1309 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1310 | dependencies: 1311 | pump "^3.0.0" 1312 | 1313 | get-stream@^5.0.0, get-stream@^5.1.0: 1314 | version "5.1.0" 1315 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" 1316 | integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== 1317 | dependencies: 1318 | pump "^3.0.0" 1319 | 1320 | get-value@^2.0.3, get-value@^2.0.6: 1321 | version "2.0.6" 1322 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1323 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1324 | 1325 | glob-parent@^3.1.0: 1326 | version "3.1.0" 1327 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1328 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 1329 | dependencies: 1330 | is-glob "^3.1.0" 1331 | path-dirname "^1.0.0" 1332 | 1333 | glob-parent@^5.0.0: 1334 | version "5.1.0" 1335 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" 1336 | integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== 1337 | dependencies: 1338 | is-glob "^4.0.1" 1339 | 1340 | glob-to-regexp@^0.3.0: 1341 | version "0.3.0" 1342 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" 1343 | integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= 1344 | 1345 | glob@^7.1.3: 1346 | version "7.1.6" 1347 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1348 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1349 | dependencies: 1350 | fs.realpath "^1.0.0" 1351 | inflight "^1.0.4" 1352 | inherits "2" 1353 | minimatch "^3.0.4" 1354 | once "^1.3.0" 1355 | path-is-absolute "^1.0.0" 1356 | 1357 | global-dirs@^0.1.0: 1358 | version "0.1.1" 1359 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" 1360 | integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= 1361 | dependencies: 1362 | ini "^1.3.4" 1363 | 1364 | globals@^12.1.0: 1365 | version "12.3.0" 1366 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13" 1367 | integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw== 1368 | dependencies: 1369 | type-fest "^0.8.1" 1370 | 1371 | globby@^9.0.0, globby@^9.1.0: 1372 | version "9.2.0" 1373 | resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" 1374 | integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== 1375 | dependencies: 1376 | "@types/glob" "^7.1.1" 1377 | array-union "^1.0.2" 1378 | dir-glob "^2.2.2" 1379 | fast-glob "^2.2.6" 1380 | glob "^7.1.3" 1381 | ignore "^4.0.3" 1382 | pify "^4.0.1" 1383 | slash "^2.0.0" 1384 | 1385 | got@^6.7.1: 1386 | version "6.7.1" 1387 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" 1388 | integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= 1389 | dependencies: 1390 | create-error-class "^3.0.0" 1391 | duplexer3 "^0.1.4" 1392 | get-stream "^3.0.0" 1393 | is-redirect "^1.0.0" 1394 | is-retry-allowed "^1.0.0" 1395 | is-stream "^1.0.0" 1396 | lowercase-keys "^1.0.0" 1397 | safe-buffer "^5.0.1" 1398 | timed-out "^4.0.0" 1399 | unzip-response "^2.0.1" 1400 | url-parse-lax "^1.0.0" 1401 | 1402 | got@^9.6.0: 1403 | version "9.6.0" 1404 | resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 1405 | integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== 1406 | dependencies: 1407 | "@sindresorhus/is" "^0.14.0" 1408 | "@szmarczak/http-timer" "^1.1.2" 1409 | cacheable-request "^6.0.0" 1410 | decompress-response "^3.3.0" 1411 | duplexer3 "^0.1.4" 1412 | get-stream "^4.1.0" 1413 | lowercase-keys "^1.0.1" 1414 | mimic-response "^1.0.1" 1415 | p-cancelable "^1.0.0" 1416 | to-readable-stream "^1.0.0" 1417 | url-parse-lax "^3.0.0" 1418 | 1419 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: 1420 | version "4.2.3" 1421 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 1422 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 1423 | 1424 | has-flag@^2.0.0: 1425 | version "2.0.0" 1426 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1427 | integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= 1428 | 1429 | has-flag@^3.0.0: 1430 | version "3.0.0" 1431 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1432 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1433 | 1434 | has-flag@^4.0.0: 1435 | version "4.0.0" 1436 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1437 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1438 | 1439 | has-symbols@^1.0.0, has-symbols@^1.0.1: 1440 | version "1.0.1" 1441 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1442 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 1443 | 1444 | has-value@^0.3.1: 1445 | version "0.3.1" 1446 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1447 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1448 | dependencies: 1449 | get-value "^2.0.3" 1450 | has-values "^0.1.4" 1451 | isobject "^2.0.0" 1452 | 1453 | has-value@^1.0.0: 1454 | version "1.0.0" 1455 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1456 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1457 | dependencies: 1458 | get-value "^2.0.6" 1459 | has-values "^1.0.0" 1460 | isobject "^3.0.0" 1461 | 1462 | has-values@^0.1.4: 1463 | version "0.1.4" 1464 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1465 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1466 | 1467 | has-values@^1.0.0: 1468 | version "1.0.0" 1469 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1470 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1471 | dependencies: 1472 | is-number "^3.0.0" 1473 | kind-of "^4.0.0" 1474 | 1475 | has-yarn@^1.0.0: 1476 | version "1.0.0" 1477 | resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" 1478 | integrity sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac= 1479 | 1480 | has-yarn@^2.1.0: 1481 | version "2.1.0" 1482 | resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" 1483 | integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== 1484 | 1485 | has@^1.0.3: 1486 | version "1.0.3" 1487 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1488 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1489 | dependencies: 1490 | function-bind "^1.1.1" 1491 | 1492 | hosted-git-info@^2.1.4: 1493 | version "2.8.5" 1494 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" 1495 | integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== 1496 | 1497 | http-cache-semantics@^4.0.0: 1498 | version "4.0.3" 1499 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" 1500 | integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== 1501 | 1502 | human-signals@^1.1.1: 1503 | version "1.1.1" 1504 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" 1505 | integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== 1506 | 1507 | iconv-lite@^0.4.24: 1508 | version "0.4.24" 1509 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1510 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1511 | dependencies: 1512 | safer-buffer ">= 2.1.2 < 3" 1513 | 1514 | ignore@^4.0.3, ignore@^4.0.6: 1515 | version "4.0.6" 1516 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1517 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1518 | 1519 | ignore@^5.0.5, ignore@^5.1.1: 1520 | version "5.1.4" 1521 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" 1522 | integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== 1523 | 1524 | import-fresh@^3.0.0: 1525 | version "3.2.1" 1526 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" 1527 | integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== 1528 | dependencies: 1529 | parent-module "^1.0.0" 1530 | resolve-from "^4.0.0" 1531 | 1532 | import-lazy@^2.1.0: 1533 | version "2.1.0" 1534 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 1535 | integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= 1536 | 1537 | import-modules@^1.1.0: 1538 | version "1.1.0" 1539 | resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-1.1.0.tgz#748db79c5cc42bb9701efab424f894e72600e9dc" 1540 | integrity sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw= 1541 | 1542 | import-modules@^2.0.0: 1543 | version "2.0.0" 1544 | resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-2.0.0.tgz#9c1e13b4e7a15682f70a6e3fa29534e4540cfc5d" 1545 | integrity sha512-iczM/v9drffdNnABOKwj0f9G3cFDon99VcG1mxeBsdqnbd+vnQ5c2uAiCHNQITqFTOPaEvwg3VjoWCur0uHLEw== 1546 | 1547 | imurmurhash@^0.1.4: 1548 | version "0.1.4" 1549 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1550 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1551 | 1552 | indent-string@^3.0.0: 1553 | version "3.2.0" 1554 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 1555 | integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= 1556 | 1557 | inflight@^1.0.4: 1558 | version "1.0.6" 1559 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1560 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1561 | dependencies: 1562 | once "^1.3.0" 1563 | wrappy "1" 1564 | 1565 | inherits@2: 1566 | version "2.0.4" 1567 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1568 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1569 | 1570 | ini@^1.3.4, ini@~1.3.0: 1571 | version "1.3.5" 1572 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1573 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 1574 | 1575 | inquirer@^7.0.0: 1576 | version "7.0.1" 1577 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.1.tgz#13f7980eedc73c689feff3994b109c4e799c6ebb" 1578 | integrity sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw== 1579 | dependencies: 1580 | ansi-escapes "^4.2.1" 1581 | chalk "^2.4.2" 1582 | cli-cursor "^3.1.0" 1583 | cli-width "^2.0.0" 1584 | external-editor "^3.0.3" 1585 | figures "^3.0.0" 1586 | lodash "^4.17.15" 1587 | mute-stream "0.0.8" 1588 | run-async "^2.2.0" 1589 | rxjs "^6.5.3" 1590 | string-width "^4.1.0" 1591 | strip-ansi "^5.1.0" 1592 | through "^2.3.6" 1593 | 1594 | irregular-plurals@^1.0.0: 1595 | version "1.4.0" 1596 | resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" 1597 | integrity sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y= 1598 | 1599 | irregular-plurals@^2.0.0: 1600 | version "2.0.0" 1601 | resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-2.0.0.tgz#39d40f05b00f656d0b7fa471230dd3b714af2872" 1602 | integrity sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw== 1603 | 1604 | is-accessor-descriptor@^0.1.6: 1605 | version "0.1.6" 1606 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1607 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1608 | dependencies: 1609 | kind-of "^3.0.2" 1610 | 1611 | is-accessor-descriptor@^1.0.0: 1612 | version "1.0.0" 1613 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1614 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 1615 | dependencies: 1616 | kind-of "^6.0.0" 1617 | 1618 | is-arrayish@^0.2.1: 1619 | version "0.2.1" 1620 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1621 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1622 | 1623 | is-buffer@^1.1.5: 1624 | version "1.1.6" 1625 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1626 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 1627 | 1628 | is-callable@^1.1.4: 1629 | version "1.1.5" 1630 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 1631 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 1632 | 1633 | is-ci@^1.0.10: 1634 | version "1.2.1" 1635 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" 1636 | integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== 1637 | dependencies: 1638 | ci-info "^1.5.0" 1639 | 1640 | is-ci@^2.0.0: 1641 | version "2.0.0" 1642 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1643 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1644 | dependencies: 1645 | ci-info "^2.0.0" 1646 | 1647 | is-data-descriptor@^0.1.4: 1648 | version "0.1.4" 1649 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1650 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1651 | dependencies: 1652 | kind-of "^3.0.2" 1653 | 1654 | is-data-descriptor@^1.0.0: 1655 | version "1.0.0" 1656 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1657 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 1658 | dependencies: 1659 | kind-of "^6.0.0" 1660 | 1661 | is-date-object@^1.0.1: 1662 | version "1.0.2" 1663 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 1664 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 1665 | 1666 | is-descriptor@^0.1.0: 1667 | version "0.1.6" 1668 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1669 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 1670 | dependencies: 1671 | is-accessor-descriptor "^0.1.6" 1672 | is-data-descriptor "^0.1.4" 1673 | kind-of "^5.0.0" 1674 | 1675 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1676 | version "1.0.2" 1677 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1678 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 1679 | dependencies: 1680 | is-accessor-descriptor "^1.0.0" 1681 | is-data-descriptor "^1.0.0" 1682 | kind-of "^6.0.2" 1683 | 1684 | is-error@^2.2.0: 1685 | version "2.2.2" 1686 | resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.2.tgz#c10ade187b3c93510c5470a5567833ee25649843" 1687 | integrity sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg== 1688 | 1689 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1690 | version "0.1.1" 1691 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1692 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1693 | 1694 | is-extendable@^1.0.1: 1695 | version "1.0.1" 1696 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1697 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1698 | dependencies: 1699 | is-plain-object "^2.0.4" 1700 | 1701 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1702 | version "2.1.1" 1703 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1704 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1705 | 1706 | is-fullwidth-code-point@^2.0.0: 1707 | version "2.0.0" 1708 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1709 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1710 | 1711 | is-fullwidth-code-point@^3.0.0: 1712 | version "3.0.0" 1713 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1714 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1715 | 1716 | is-get-set-prop@^1.0.0: 1717 | version "1.0.0" 1718 | resolved "https://registry.yarnpkg.com/is-get-set-prop/-/is-get-set-prop-1.0.0.tgz#2731877e4d78a6a69edcce6bb9d68b0779e76312" 1719 | integrity sha1-JzGHfk14pqae3M5rudaLB3nnYxI= 1720 | dependencies: 1721 | get-set-props "^0.1.0" 1722 | lowercase-keys "^1.0.0" 1723 | 1724 | is-glob@^3.1.0: 1725 | version "3.1.0" 1726 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1727 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 1728 | dependencies: 1729 | is-extglob "^2.1.0" 1730 | 1731 | is-glob@^4.0.0, is-glob@^4.0.1: 1732 | version "4.0.1" 1733 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1734 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1735 | dependencies: 1736 | is-extglob "^2.1.1" 1737 | 1738 | is-installed-globally@^0.1.0: 1739 | version "0.1.0" 1740 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" 1741 | integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= 1742 | dependencies: 1743 | global-dirs "^0.1.0" 1744 | is-path-inside "^1.0.0" 1745 | 1746 | is-js-type@^2.0.0: 1747 | version "2.0.0" 1748 | resolved "https://registry.yarnpkg.com/is-js-type/-/is-js-type-2.0.0.tgz#73617006d659b4eb4729bba747d28782df0f7e22" 1749 | integrity sha1-c2FwBtZZtOtHKbunR9KHgt8PfiI= 1750 | dependencies: 1751 | js-types "^1.0.0" 1752 | 1753 | is-npm@^1.0.0: 1754 | version "1.0.0" 1755 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 1756 | integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= 1757 | 1758 | is-npm@^3.0.0: 1759 | version "3.0.0" 1760 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" 1761 | integrity sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA== 1762 | 1763 | is-number@^3.0.0: 1764 | version "3.0.0" 1765 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1766 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1767 | dependencies: 1768 | kind-of "^3.0.2" 1769 | 1770 | is-obj-prop@^1.0.0: 1771 | version "1.0.0" 1772 | resolved "https://registry.yarnpkg.com/is-obj-prop/-/is-obj-prop-1.0.0.tgz#b34de79c450b8d7c73ab2cdf67dc875adb85f80e" 1773 | integrity sha1-s03nnEULjXxzqyzfZ9yHWtuF+A4= 1774 | dependencies: 1775 | lowercase-keys "^1.0.0" 1776 | obj-props "^1.0.0" 1777 | 1778 | is-obj@^1.0.0: 1779 | version "1.0.1" 1780 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1781 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 1782 | 1783 | is-path-inside@^1.0.0: 1784 | version "1.0.1" 1785 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 1786 | integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= 1787 | dependencies: 1788 | path-is-inside "^1.0.1" 1789 | 1790 | is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: 1791 | version "1.1.0" 1792 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1793 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 1794 | 1795 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1796 | version "2.0.4" 1797 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1798 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1799 | dependencies: 1800 | isobject "^3.0.1" 1801 | 1802 | is-promise@^2.1.0: 1803 | version "2.1.0" 1804 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1805 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 1806 | 1807 | is-proto-prop@^2.0.0: 1808 | version "2.0.0" 1809 | resolved "https://registry.yarnpkg.com/is-proto-prop/-/is-proto-prop-2.0.0.tgz#99ab2863462e44090fd083efd1929058f9d935e1" 1810 | integrity sha512-jl3NbQ/fGLv5Jhan4uX+Ge9ohnemqyblWVVCpAvtTQzNFvV2xhJq+esnkIbYQ9F1nITXoLfDDQLp7LBw/zzncg== 1811 | dependencies: 1812 | lowercase-keys "^1.0.0" 1813 | proto-props "^2.0.0" 1814 | 1815 | is-redirect@^1.0.0: 1816 | version "1.0.0" 1817 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 1818 | integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= 1819 | 1820 | is-regex@^1.0.4: 1821 | version "1.0.5" 1822 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 1823 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 1824 | dependencies: 1825 | has "^1.0.3" 1826 | 1827 | is-retry-allowed@^1.0.0: 1828 | version "1.2.0" 1829 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" 1830 | integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== 1831 | 1832 | is-stream@^1.0.0, is-stream@^1.1.0: 1833 | version "1.1.0" 1834 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1835 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1836 | 1837 | is-stream@^2.0.0: 1838 | version "2.0.0" 1839 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 1840 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 1841 | 1842 | is-symbol@^1.0.2: 1843 | version "1.0.3" 1844 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 1845 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 1846 | dependencies: 1847 | has-symbols "^1.0.1" 1848 | 1849 | is-windows@^1.0.2: 1850 | version "1.0.2" 1851 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1852 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1853 | 1854 | is-wsl@^1.1.0: 1855 | version "1.1.0" 1856 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1857 | integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= 1858 | 1859 | is-yarn-global@^0.3.0: 1860 | version "0.3.0" 1861 | resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" 1862 | integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== 1863 | 1864 | isarray@1.0.0, isarray@^1.0.0: 1865 | version "1.0.0" 1866 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1867 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1868 | 1869 | isexe@^2.0.0: 1870 | version "2.0.0" 1871 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1872 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1873 | 1874 | isobject@^2.0.0: 1875 | version "2.1.0" 1876 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1877 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 1878 | dependencies: 1879 | isarray "1.0.0" 1880 | 1881 | isobject@^3.0.0, isobject@^3.0.1: 1882 | version "3.0.1" 1883 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1884 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1885 | 1886 | js-tokens@^4.0.0: 1887 | version "4.0.0" 1888 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1889 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1890 | 1891 | js-types@^1.0.0: 1892 | version "1.0.0" 1893 | resolved "https://registry.yarnpkg.com/js-types/-/js-types-1.0.0.tgz#d242e6494ed572ad3c92809fc8bed7f7687cbf03" 1894 | integrity sha1-0kLmSU7Vcq08koCfyL7X92h8vwM= 1895 | 1896 | js-yaml@^3.13.1: 1897 | version "3.13.1" 1898 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 1899 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 1900 | dependencies: 1901 | argparse "^1.0.7" 1902 | esprima "^4.0.0" 1903 | 1904 | json-buffer@3.0.0: 1905 | version "3.0.0" 1906 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1907 | integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= 1908 | 1909 | json-parse-better-errors@^1.0.1: 1910 | version "1.0.2" 1911 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1912 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1913 | 1914 | json-schema-traverse@^0.4.1: 1915 | version "0.4.1" 1916 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1917 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1918 | 1919 | json-stable-stringify-without-jsonify@^1.0.1: 1920 | version "1.0.1" 1921 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1922 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1923 | 1924 | keyv@^3.0.0: 1925 | version "3.1.0" 1926 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 1927 | integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== 1928 | dependencies: 1929 | json-buffer "3.0.0" 1930 | 1931 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1932 | version "3.2.2" 1933 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1934 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 1935 | dependencies: 1936 | is-buffer "^1.1.5" 1937 | 1938 | kind-of@^4.0.0: 1939 | version "4.0.0" 1940 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1941 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 1942 | dependencies: 1943 | is-buffer "^1.1.5" 1944 | 1945 | kind-of@^5.0.0: 1946 | version "5.1.0" 1947 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1948 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 1949 | 1950 | kind-of@^6.0.0, kind-of@^6.0.2: 1951 | version "6.0.2" 1952 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1953 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 1954 | 1955 | latest-version@^3.0.0: 1956 | version "3.1.0" 1957 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" 1958 | integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= 1959 | dependencies: 1960 | package-json "^4.0.0" 1961 | 1962 | latest-version@^5.0.0: 1963 | version "5.1.0" 1964 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" 1965 | integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== 1966 | dependencies: 1967 | package-json "^6.3.0" 1968 | 1969 | levn@^0.3.0, levn@~0.3.0: 1970 | version "0.3.0" 1971 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1972 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1973 | dependencies: 1974 | prelude-ls "~1.1.2" 1975 | type-check "~0.3.2" 1976 | 1977 | line-column-path@^2.0.0: 1978 | version "2.0.0" 1979 | resolved "https://registry.yarnpkg.com/line-column-path/-/line-column-path-2.0.0.tgz#439aff48ef80d74c475801a25b560d021acf1288" 1980 | integrity sha512-nz3A+vi4bElhwd62E9+Qk/f9BDYLSzD/4Hy1rir0I4GnMxSTezSymzANyph5N1PgRZ3sSbA+yR5hOuXxc71a0Q== 1981 | dependencies: 1982 | type-fest "^0.4.1" 1983 | 1984 | lines-and-columns@^1.1.6: 1985 | version "1.1.6" 1986 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 1987 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1988 | 1989 | load-json-file@^2.0.0: 1990 | version "2.0.0" 1991 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1992 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 1993 | dependencies: 1994 | graceful-fs "^4.1.2" 1995 | parse-json "^2.2.0" 1996 | pify "^2.0.0" 1997 | strip-bom "^3.0.0" 1998 | 1999 | load-json-file@^4.0.0: 2000 | version "4.0.0" 2001 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 2002 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 2003 | dependencies: 2004 | graceful-fs "^4.1.2" 2005 | parse-json "^4.0.0" 2006 | pify "^3.0.0" 2007 | strip-bom "^3.0.0" 2008 | 2009 | load-json-file@^5.2.0: 2010 | version "5.3.0" 2011 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" 2012 | integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== 2013 | dependencies: 2014 | graceful-fs "^4.1.15" 2015 | parse-json "^4.0.0" 2016 | pify "^4.0.1" 2017 | strip-bom "^3.0.0" 2018 | type-fest "^0.3.0" 2019 | 2020 | locate-path@^2.0.0: 2021 | version "2.0.0" 2022 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2023 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 2024 | dependencies: 2025 | p-locate "^2.0.0" 2026 | path-exists "^3.0.0" 2027 | 2028 | locate-path@^3.0.0: 2029 | version "3.0.0" 2030 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 2031 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 2032 | dependencies: 2033 | p-locate "^3.0.0" 2034 | path-exists "^3.0.0" 2035 | 2036 | locate-path@^5.0.0: 2037 | version "5.0.0" 2038 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2039 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 2040 | dependencies: 2041 | p-locate "^4.1.0" 2042 | 2043 | lodash.camelcase@^4.3.0: 2044 | version "4.3.0" 2045 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 2046 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= 2047 | 2048 | lodash.defaultsdeep@^4.6.1: 2049 | version "4.6.1" 2050 | resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" 2051 | integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== 2052 | 2053 | lodash.get@^4.4.2: 2054 | version "4.4.2" 2055 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 2056 | integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= 2057 | 2058 | lodash.isequal@^4.5.0: 2059 | version "4.5.0" 2060 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 2061 | integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= 2062 | 2063 | lodash.kebabcase@^4.1.1: 2064 | version "4.1.1" 2065 | resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" 2066 | integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= 2067 | 2068 | lodash.mergewith@^4.6.2: 2069 | version "4.6.2" 2070 | resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" 2071 | integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== 2072 | 2073 | lodash.snakecase@^4.1.1: 2074 | version "4.1.1" 2075 | resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" 2076 | integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= 2077 | 2078 | lodash.topairs@^4.3.0: 2079 | version "4.3.0" 2080 | resolved "https://registry.yarnpkg.com/lodash.topairs/-/lodash.topairs-4.3.0.tgz#3b6deaa37d60fb116713c46c5f17ea190ec48d64" 2081 | integrity sha1-O23qo31g+xFnE8RsXxfqGQ7EjWQ= 2082 | 2083 | lodash.upperfirst@^4.3.1: 2084 | version "4.3.1" 2085 | resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" 2086 | integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984= 2087 | 2088 | lodash.zip@^4.2.0: 2089 | version "4.2.0" 2090 | resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" 2091 | integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= 2092 | 2093 | lodash@^4.13.1, lodash@^4.17.14, lodash@^4.17.15: 2094 | version "4.17.15" 2095 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 2096 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 2097 | 2098 | log-symbols@^2.0.0: 2099 | version "2.2.0" 2100 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" 2101 | integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== 2102 | dependencies: 2103 | chalk "^2.0.1" 2104 | 2105 | loud-rejection@^1.0.0: 2106 | version "1.6.0" 2107 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 2108 | integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= 2109 | dependencies: 2110 | currently-unhandled "^0.4.1" 2111 | signal-exit "^3.0.0" 2112 | 2113 | lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: 2114 | version "1.0.1" 2115 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 2116 | integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 2117 | 2118 | lowercase-keys@^2.0.0: 2119 | version "2.0.0" 2120 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 2121 | integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== 2122 | 2123 | lru-cache@^4.0.1: 2124 | version "4.1.5" 2125 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 2126 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 2127 | dependencies: 2128 | pseudomap "^1.0.2" 2129 | yallist "^2.1.2" 2130 | 2131 | macos-version@^5.2.0: 2132 | version "5.2.0" 2133 | resolved "https://registry.yarnpkg.com/macos-version/-/macos-version-5.2.0.tgz#ae3a25155877902bbc5f5ae6b2d57b1ddce2e79e" 2134 | integrity sha512-egt1bqVE1evUjCup2QN2F0g42AuVcumdM31xNbABz+uXquYPzWP4OrqDm+HpCfM+6t4JzWrzABQW+MZM+FW+Jg== 2135 | dependencies: 2136 | semver "^5.6.0" 2137 | 2138 | make-dir@^1.0.0: 2139 | version "1.3.0" 2140 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" 2141 | integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== 2142 | dependencies: 2143 | pify "^3.0.0" 2144 | 2145 | make-dir@^3.0.0: 2146 | version "3.0.0" 2147 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" 2148 | integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== 2149 | dependencies: 2150 | semver "^6.0.0" 2151 | 2152 | map-cache@^0.2.2: 2153 | version "0.2.2" 2154 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2155 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 2156 | 2157 | map-obj@^1.0.0: 2158 | version "1.0.1" 2159 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2160 | integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 2161 | 2162 | map-obj@^2.0.0: 2163 | version "2.0.0" 2164 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" 2165 | integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= 2166 | 2167 | map-visit@^1.0.0: 2168 | version "1.0.0" 2169 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2170 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 2171 | dependencies: 2172 | object-visit "^1.0.0" 2173 | 2174 | meow@^5.0.0: 2175 | version "5.0.0" 2176 | resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" 2177 | integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== 2178 | dependencies: 2179 | camelcase-keys "^4.0.0" 2180 | decamelize-keys "^1.0.0" 2181 | loud-rejection "^1.0.0" 2182 | minimist-options "^3.0.1" 2183 | normalize-package-data "^2.3.4" 2184 | read-pkg-up "^3.0.0" 2185 | redent "^2.0.0" 2186 | trim-newlines "^2.0.0" 2187 | yargs-parser "^10.0.0" 2188 | 2189 | merge-stream@^2.0.0: 2190 | version "2.0.0" 2191 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2192 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2193 | 2194 | merge2@^1.2.3: 2195 | version "1.3.0" 2196 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" 2197 | integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== 2198 | 2199 | micromatch@^3.1.10: 2200 | version "3.1.10" 2201 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2202 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 2203 | dependencies: 2204 | arr-diff "^4.0.0" 2205 | array-unique "^0.3.2" 2206 | braces "^2.3.1" 2207 | define-property "^2.0.2" 2208 | extend-shallow "^3.0.2" 2209 | extglob "^2.0.4" 2210 | fragment-cache "^0.2.1" 2211 | kind-of "^6.0.2" 2212 | nanomatch "^1.2.9" 2213 | object.pick "^1.3.0" 2214 | regex-not "^1.0.0" 2215 | snapdragon "^0.8.1" 2216 | to-regex "^3.0.2" 2217 | 2218 | mimic-fn@^2.1.0: 2219 | version "2.1.0" 2220 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2221 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2222 | 2223 | mimic-response@^1.0.0, mimic-response@^1.0.1: 2224 | version "1.0.1" 2225 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 2226 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 2227 | 2228 | minimatch@^3.0.4: 2229 | version "3.0.4" 2230 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2231 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2232 | dependencies: 2233 | brace-expansion "^1.1.7" 2234 | 2235 | minimist-options@^3.0.1: 2236 | version "3.0.2" 2237 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" 2238 | integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== 2239 | dependencies: 2240 | arrify "^1.0.1" 2241 | is-plain-obj "^1.1.0" 2242 | 2243 | minimist@0.0.8: 2244 | version "0.0.8" 2245 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2246 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2247 | 2248 | minimist@^1.1.3, minimist@^1.2.0: 2249 | version "1.2.0" 2250 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2251 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 2252 | 2253 | mixin-deep@^1.2.0: 2254 | version "1.3.2" 2255 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 2256 | integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 2257 | dependencies: 2258 | for-in "^1.0.2" 2259 | is-extendable "^1.0.1" 2260 | 2261 | mkdirp@^0.5.1: 2262 | version "0.5.1" 2263 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2264 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2265 | dependencies: 2266 | minimist "0.0.8" 2267 | 2268 | ms@2.0.0: 2269 | version "2.0.0" 2270 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2271 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2272 | 2273 | ms@^2.1.1: 2274 | version "2.1.2" 2275 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2276 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2277 | 2278 | multimap@^1.0.2: 2279 | version "1.1.0" 2280 | resolved "https://registry.yarnpkg.com/multimap/-/multimap-1.1.0.tgz#5263febc085a1791c33b59bb3afc6a76a2a10ca8" 2281 | integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== 2282 | 2283 | multimatch@^4.0.0: 2284 | version "4.0.0" 2285 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" 2286 | integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== 2287 | dependencies: 2288 | "@types/minimatch" "^3.0.3" 2289 | array-differ "^3.0.0" 2290 | array-union "^2.1.0" 2291 | arrify "^2.0.1" 2292 | minimatch "^3.0.4" 2293 | 2294 | mute-stream@0.0.8: 2295 | version "0.0.8" 2296 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 2297 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 2298 | 2299 | nanomatch@^1.2.9: 2300 | version "1.2.13" 2301 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2302 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 2303 | dependencies: 2304 | arr-diff "^4.0.0" 2305 | array-unique "^0.3.2" 2306 | define-property "^2.0.2" 2307 | extend-shallow "^3.0.2" 2308 | fragment-cache "^0.2.1" 2309 | is-windows "^1.0.2" 2310 | kind-of "^6.0.2" 2311 | object.pick "^1.3.0" 2312 | regex-not "^1.0.0" 2313 | snapdragon "^0.8.1" 2314 | to-regex "^3.0.1" 2315 | 2316 | natural-compare@^1.4.0: 2317 | version "1.4.0" 2318 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2319 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2320 | 2321 | new-github-issue-url@^0.2.1: 2322 | version "0.2.1" 2323 | resolved "https://registry.yarnpkg.com/new-github-issue-url/-/new-github-issue-url-0.2.1.tgz#e17be1f665a92de465926603e44b9f8685630c1d" 2324 | integrity sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA== 2325 | 2326 | nice-try@^1.0.4: 2327 | version "1.0.5" 2328 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2329 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2330 | 2331 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: 2332 | version "2.5.0" 2333 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2334 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 2335 | dependencies: 2336 | hosted-git-info "^2.1.4" 2337 | resolve "^1.10.0" 2338 | semver "2 || 3 || 4 || 5" 2339 | validate-npm-package-license "^3.0.1" 2340 | 2341 | normalize-url@^4.1.0: 2342 | version "4.5.0" 2343 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" 2344 | integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== 2345 | 2346 | npm-run-path@^2.0.0: 2347 | version "2.0.2" 2348 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2349 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 2350 | dependencies: 2351 | path-key "^2.0.0" 2352 | 2353 | npm-run-path@^4.0.0: 2354 | version "4.0.0" 2355 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.0.tgz#d644ec1bd0569187d2a52909971023a0a58e8438" 2356 | integrity sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ== 2357 | dependencies: 2358 | path-key "^3.0.0" 2359 | 2360 | obj-props@^1.0.0: 2361 | version "1.2.0" 2362 | resolved "https://registry.yarnpkg.com/obj-props/-/obj-props-1.2.0.tgz#3dbaa849f30238d84206c8b7192e1ce54d0d43b2" 2363 | integrity sha512-ZYpJyCe7O4rhNxB/2SZy8ADJww8RSRBdG36a4MWWq7JwILGJ1m61B90QJtxwDDNA0KzyR8V12Wikpjuux7Gl9Q== 2364 | 2365 | object-copy@^0.1.0: 2366 | version "0.1.0" 2367 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2368 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 2369 | dependencies: 2370 | copy-descriptor "^0.1.0" 2371 | define-property "^0.2.5" 2372 | kind-of "^3.0.3" 2373 | 2374 | object-inspect@^1.7.0: 2375 | version "1.7.0" 2376 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 2377 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 2378 | 2379 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 2380 | version "1.1.1" 2381 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2382 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2383 | 2384 | object-visit@^1.0.0: 2385 | version "1.0.1" 2386 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2387 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 2388 | dependencies: 2389 | isobject "^3.0.0" 2390 | 2391 | object.assign@^4.1.0: 2392 | version "4.1.0" 2393 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 2394 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 2395 | dependencies: 2396 | define-properties "^1.1.2" 2397 | function-bind "^1.1.1" 2398 | has-symbols "^1.0.0" 2399 | object-keys "^1.0.11" 2400 | 2401 | object.pick@^1.3.0: 2402 | version "1.3.0" 2403 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2404 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2405 | dependencies: 2406 | isobject "^3.0.1" 2407 | 2408 | object.values@^1.1.0: 2409 | version "1.1.1" 2410 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" 2411 | integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== 2412 | dependencies: 2413 | define-properties "^1.1.3" 2414 | es-abstract "^1.17.0-next.1" 2415 | function-bind "^1.1.1" 2416 | has "^1.0.3" 2417 | 2418 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2419 | version "1.4.0" 2420 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2421 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2422 | dependencies: 2423 | wrappy "1" 2424 | 2425 | onetime@^5.1.0: 2426 | version "5.1.0" 2427 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" 2428 | integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== 2429 | dependencies: 2430 | mimic-fn "^2.1.0" 2431 | 2432 | open-editor@^2.0.1: 2433 | version "2.0.1" 2434 | resolved "https://registry.yarnpkg.com/open-editor/-/open-editor-2.0.1.tgz#d001055770fbf6f6ee73c18f224915f444be863c" 2435 | integrity sha512-B3KdD7Pl8jYdpBSBBbdYaqVUI3whQjLl1G1+CvhNc8+d7GzKRUq+VuCIx1thxGiqD2oBGRvsZz7QWrBsFP2yVA== 2436 | dependencies: 2437 | env-editor "^0.4.0" 2438 | line-column-path "^2.0.0" 2439 | open "^6.2.0" 2440 | 2441 | open@^6.2.0: 2442 | version "6.4.0" 2443 | resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" 2444 | integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== 2445 | dependencies: 2446 | is-wsl "^1.1.0" 2447 | 2448 | optionator@^0.8.3: 2449 | version "0.8.3" 2450 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 2451 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 2452 | dependencies: 2453 | deep-is "~0.1.3" 2454 | fast-levenshtein "~2.0.6" 2455 | levn "~0.3.0" 2456 | prelude-ls "~1.1.2" 2457 | type-check "~0.3.2" 2458 | word-wrap "~1.2.3" 2459 | 2460 | os-tmpdir@~1.0.2: 2461 | version "1.0.2" 2462 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2463 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2464 | 2465 | p-cancelable@^1.0.0: 2466 | version "1.1.0" 2467 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 2468 | integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== 2469 | 2470 | p-finally@^1.0.0: 2471 | version "1.0.0" 2472 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2473 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 2474 | 2475 | p-limit@^1.1.0: 2476 | version "1.3.0" 2477 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2478 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 2479 | dependencies: 2480 | p-try "^1.0.0" 2481 | 2482 | p-limit@^2.0.0, p-limit@^2.2.0: 2483 | version "2.2.1" 2484 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 2485 | integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== 2486 | dependencies: 2487 | p-try "^2.0.0" 2488 | 2489 | p-locate@^2.0.0: 2490 | version "2.0.0" 2491 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2492 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 2493 | dependencies: 2494 | p-limit "^1.1.0" 2495 | 2496 | p-locate@^3.0.0: 2497 | version "3.0.0" 2498 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2499 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2500 | dependencies: 2501 | p-limit "^2.0.0" 2502 | 2503 | p-locate@^4.1.0: 2504 | version "4.1.0" 2505 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2506 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2507 | dependencies: 2508 | p-limit "^2.2.0" 2509 | 2510 | p-try@^1.0.0: 2511 | version "1.0.0" 2512 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2513 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 2514 | 2515 | p-try@^2.0.0: 2516 | version "2.2.0" 2517 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2518 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2519 | 2520 | package-json@^4.0.0: 2521 | version "4.0.1" 2522 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" 2523 | integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= 2524 | dependencies: 2525 | got "^6.7.1" 2526 | registry-auth-token "^3.0.1" 2527 | registry-url "^3.0.3" 2528 | semver "^5.1.0" 2529 | 2530 | package-json@^6.3.0: 2531 | version "6.5.0" 2532 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" 2533 | integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== 2534 | dependencies: 2535 | got "^9.6.0" 2536 | registry-auth-token "^4.0.0" 2537 | registry-url "^5.0.0" 2538 | semver "^6.2.0" 2539 | 2540 | parent-module@^1.0.0: 2541 | version "1.0.1" 2542 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2543 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2544 | dependencies: 2545 | callsites "^3.0.0" 2546 | 2547 | parse-json@^2.2.0: 2548 | version "2.2.0" 2549 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2550 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 2551 | dependencies: 2552 | error-ex "^1.2.0" 2553 | 2554 | parse-json@^4.0.0: 2555 | version "4.0.0" 2556 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 2557 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 2558 | dependencies: 2559 | error-ex "^1.3.1" 2560 | json-parse-better-errors "^1.0.1" 2561 | 2562 | parse-json@^5.0.0: 2563 | version "5.0.0" 2564 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" 2565 | integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== 2566 | dependencies: 2567 | "@babel/code-frame" "^7.0.0" 2568 | error-ex "^1.3.1" 2569 | json-parse-better-errors "^1.0.1" 2570 | lines-and-columns "^1.1.6" 2571 | 2572 | pascalcase@^0.1.1: 2573 | version "0.1.1" 2574 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2575 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 2576 | 2577 | path-dirname@^1.0.0: 2578 | version "1.0.2" 2579 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2580 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 2581 | 2582 | path-exists@^3.0.0: 2583 | version "3.0.0" 2584 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2585 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2586 | 2587 | path-exists@^4.0.0: 2588 | version "4.0.0" 2589 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2590 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2591 | 2592 | path-is-absolute@^1.0.0: 2593 | version "1.0.1" 2594 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2595 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2596 | 2597 | path-is-inside@^1.0.1: 2598 | version "1.0.2" 2599 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2600 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 2601 | 2602 | path-key@^2.0.0, path-key@^2.0.1: 2603 | version "2.0.1" 2604 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2605 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2606 | 2607 | path-key@^3.0.0, path-key@^3.1.0: 2608 | version "3.1.1" 2609 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2610 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2611 | 2612 | path-parse@^1.0.6: 2613 | version "1.0.6" 2614 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 2615 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 2616 | 2617 | path-type@^2.0.0: 2618 | version "2.0.0" 2619 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2620 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 2621 | dependencies: 2622 | pify "^2.0.0" 2623 | 2624 | path-type@^3.0.0: 2625 | version "3.0.0" 2626 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2627 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 2628 | dependencies: 2629 | pify "^3.0.0" 2630 | 2631 | pify@^2.0.0: 2632 | version "2.3.0" 2633 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2634 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 2635 | 2636 | pify@^3.0.0: 2637 | version "3.0.0" 2638 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2639 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2640 | 2641 | pify@^4.0.1: 2642 | version "4.0.1" 2643 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 2644 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 2645 | 2646 | pkg-conf@^3.1.0: 2647 | version "3.1.0" 2648 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae" 2649 | integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ== 2650 | dependencies: 2651 | find-up "^3.0.0" 2652 | load-json-file "^5.2.0" 2653 | 2654 | pkg-dir@^2.0.0: 2655 | version "2.0.0" 2656 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2657 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 2658 | dependencies: 2659 | find-up "^2.1.0" 2660 | 2661 | pkg-dir@^4.1.0, pkg-dir@^4.2.0: 2662 | version "4.2.0" 2663 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2664 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2665 | dependencies: 2666 | find-up "^4.0.0" 2667 | 2668 | plur@^2.1.2: 2669 | version "2.1.2" 2670 | resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" 2671 | integrity sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo= 2672 | dependencies: 2673 | irregular-plurals "^1.0.0" 2674 | 2675 | plur@^3.0.1: 2676 | version "3.1.1" 2677 | resolved "https://registry.yarnpkg.com/plur/-/plur-3.1.1.tgz#60267967866a8d811504fe58f2faaba237546a5b" 2678 | integrity sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w== 2679 | dependencies: 2680 | irregular-plurals "^2.0.0" 2681 | 2682 | posix-character-classes@^0.1.0: 2683 | version "0.1.1" 2684 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2685 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 2686 | 2687 | prelude-ls@~1.1.2: 2688 | version "1.1.2" 2689 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2690 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 2691 | 2692 | prepend-http@^1.0.1: 2693 | version "1.0.4" 2694 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 2695 | integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= 2696 | 2697 | prepend-http@^2.0.0: 2698 | version "2.0.0" 2699 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 2700 | integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= 2701 | 2702 | prettier-linter-helpers@^1.0.0: 2703 | version "1.0.0" 2704 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 2705 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 2706 | dependencies: 2707 | fast-diff "^1.1.2" 2708 | 2709 | prettier@^1.15.2: 2710 | version "1.19.1" 2711 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" 2712 | integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== 2713 | 2714 | progress@^2.0.0: 2715 | version "2.0.3" 2716 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 2717 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 2718 | 2719 | proto-props@^2.0.0: 2720 | version "2.0.0" 2721 | resolved "https://registry.yarnpkg.com/proto-props/-/proto-props-2.0.0.tgz#8ac6e6dec658545815c623a3bc81580deda9a181" 2722 | integrity sha512-2yma2tog9VaRZY2mn3Wq51uiSW4NcPYT1cQdBagwyrznrilKSZwIZ0UG3ZPL/mx+axEns0hE35T5ufOYZXEnBQ== 2723 | 2724 | pseudomap@^1.0.2: 2725 | version "1.0.2" 2726 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2727 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 2728 | 2729 | pump@^3.0.0: 2730 | version "3.0.0" 2731 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2732 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2733 | dependencies: 2734 | end-of-stream "^1.1.0" 2735 | once "^1.3.1" 2736 | 2737 | punycode@^2.1.0: 2738 | version "2.1.1" 2739 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2740 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2741 | 2742 | quick-lru@^1.0.0: 2743 | version "1.1.0" 2744 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" 2745 | integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= 2746 | 2747 | rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: 2748 | version "1.2.8" 2749 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2750 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 2751 | dependencies: 2752 | deep-extend "^0.6.0" 2753 | ini "~1.3.0" 2754 | minimist "^1.2.0" 2755 | strip-json-comments "~2.0.1" 2756 | 2757 | read-pkg-up@^2.0.0: 2758 | version "2.0.0" 2759 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2760 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 2761 | dependencies: 2762 | find-up "^2.0.0" 2763 | read-pkg "^2.0.0" 2764 | 2765 | read-pkg-up@^3.0.0: 2766 | version "3.0.0" 2767 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" 2768 | integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= 2769 | dependencies: 2770 | find-up "^2.0.0" 2771 | read-pkg "^3.0.0" 2772 | 2773 | read-pkg-up@^4.0.0: 2774 | version "4.0.0" 2775 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" 2776 | integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== 2777 | dependencies: 2778 | find-up "^3.0.0" 2779 | read-pkg "^3.0.0" 2780 | 2781 | read-pkg-up@^7.0.0: 2782 | version "7.0.1" 2783 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 2784 | integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 2785 | dependencies: 2786 | find-up "^4.1.0" 2787 | read-pkg "^5.2.0" 2788 | type-fest "^0.8.1" 2789 | 2790 | read-pkg@^2.0.0: 2791 | version "2.0.0" 2792 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2793 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 2794 | dependencies: 2795 | load-json-file "^2.0.0" 2796 | normalize-package-data "^2.3.2" 2797 | path-type "^2.0.0" 2798 | 2799 | read-pkg@^3.0.0: 2800 | version "3.0.0" 2801 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 2802 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 2803 | dependencies: 2804 | load-json-file "^4.0.0" 2805 | normalize-package-data "^2.3.2" 2806 | path-type "^3.0.0" 2807 | 2808 | read-pkg@^5.2.0: 2809 | version "5.2.0" 2810 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 2811 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 2812 | dependencies: 2813 | "@types/normalize-package-data" "^2.4.0" 2814 | normalize-package-data "^2.5.0" 2815 | parse-json "^5.0.0" 2816 | type-fest "^0.6.0" 2817 | 2818 | redent@^2.0.0: 2819 | version "2.0.0" 2820 | resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" 2821 | integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= 2822 | dependencies: 2823 | indent-string "^3.0.0" 2824 | strip-indent "^2.0.0" 2825 | 2826 | regex-not@^1.0.0, regex-not@^1.0.2: 2827 | version "1.0.2" 2828 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 2829 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 2830 | dependencies: 2831 | extend-shallow "^3.0.2" 2832 | safe-regex "^1.1.0" 2833 | 2834 | regexp-tree@~0.1.1: 2835 | version "0.1.17" 2836 | resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.17.tgz#66d914a6ca21f95dd7660ed70a7dad47aeb2246a" 2837 | integrity sha512-UnOJjFS/EPZmfISmYx+0PcDtPzyFKTe+cZTS5sM5hifnRUDRxoB1j4DAmGwqzxjwBGlwOkGfb2cDGHtjuEwqoA== 2838 | 2839 | regexpp@^2.0.1: 2840 | version "2.0.1" 2841 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 2842 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 2843 | 2844 | regexpp@^3.0.0: 2845 | version "3.0.0" 2846 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" 2847 | integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== 2848 | 2849 | registry-auth-token@^3.0.1: 2850 | version "3.4.0" 2851 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" 2852 | integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== 2853 | dependencies: 2854 | rc "^1.1.6" 2855 | safe-buffer "^5.0.1" 2856 | 2857 | registry-auth-token@^4.0.0: 2858 | version "4.0.0" 2859 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" 2860 | integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== 2861 | dependencies: 2862 | rc "^1.2.8" 2863 | safe-buffer "^5.0.1" 2864 | 2865 | registry-url@^3.0.3: 2866 | version "3.1.0" 2867 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 2868 | integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= 2869 | dependencies: 2870 | rc "^1.0.1" 2871 | 2872 | registry-url@^5.0.0: 2873 | version "5.1.0" 2874 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" 2875 | integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== 2876 | dependencies: 2877 | rc "^1.2.8" 2878 | 2879 | repeat-element@^1.1.2: 2880 | version "1.1.3" 2881 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 2882 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 2883 | 2884 | repeat-string@^1.6.1: 2885 | version "1.6.1" 2886 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2887 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 2888 | 2889 | reserved-words@^0.1.2: 2890 | version "0.1.2" 2891 | resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" 2892 | integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= 2893 | 2894 | resolve-cwd@^3.0.0: 2895 | version "3.0.0" 2896 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2897 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2898 | dependencies: 2899 | resolve-from "^5.0.0" 2900 | 2901 | resolve-from@^4.0.0: 2902 | version "4.0.0" 2903 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2904 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2905 | 2906 | resolve-from@^5.0.0: 2907 | version "5.0.0" 2908 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2909 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2910 | 2911 | resolve-url@^0.2.1: 2912 | version "0.2.1" 2913 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2914 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 2915 | 2916 | resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.5.0: 2917 | version "1.14.1" 2918 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff" 2919 | integrity sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg== 2920 | dependencies: 2921 | path-parse "^1.0.6" 2922 | 2923 | responselike@^1.0.2: 2924 | version "1.0.2" 2925 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 2926 | integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= 2927 | dependencies: 2928 | lowercase-keys "^1.0.0" 2929 | 2930 | restore-cursor@^3.1.0: 2931 | version "3.1.0" 2932 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 2933 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 2934 | dependencies: 2935 | onetime "^5.1.0" 2936 | signal-exit "^3.0.2" 2937 | 2938 | ret@~0.1.10: 2939 | version "0.1.15" 2940 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 2941 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 2942 | 2943 | rimraf@2.6.3: 2944 | version "2.6.3" 2945 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 2946 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 2947 | dependencies: 2948 | glob "^7.1.3" 2949 | 2950 | run-async@^2.2.0: 2951 | version "2.3.0" 2952 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 2953 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 2954 | dependencies: 2955 | is-promise "^2.1.0" 2956 | 2957 | rxjs@^6.5.3: 2958 | version "6.5.3" 2959 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" 2960 | integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== 2961 | dependencies: 2962 | tslib "^1.9.0" 2963 | 2964 | safe-buffer@^5.0.1: 2965 | version "5.2.0" 2966 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 2967 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 2968 | 2969 | safe-regex@^1.1.0: 2970 | version "1.1.0" 2971 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 2972 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 2973 | dependencies: 2974 | ret "~0.1.10" 2975 | 2976 | safe-regex@^2.0.2: 2977 | version "2.1.1" 2978 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" 2979 | integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== 2980 | dependencies: 2981 | regexp-tree "~0.1.1" 2982 | 2983 | "safer-buffer@>= 2.1.2 < 3": 2984 | version "2.1.2" 2985 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2986 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2987 | 2988 | semver-diff@^2.0.0: 2989 | version "2.1.0" 2990 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 2991 | integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= 2992 | dependencies: 2993 | semver "^5.0.3" 2994 | 2995 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.5.0, semver@^5.6.0: 2996 | version "5.7.1" 2997 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2998 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 2999 | 3000 | semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: 3001 | version "6.3.0" 3002 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3003 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 3004 | 3005 | set-value@^2.0.0, set-value@^2.0.1: 3006 | version "2.0.1" 3007 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 3008 | integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 3009 | dependencies: 3010 | extend-shallow "^2.0.1" 3011 | is-extendable "^0.1.1" 3012 | is-plain-object "^2.0.3" 3013 | split-string "^3.0.1" 3014 | 3015 | shebang-command@^1.2.0: 3016 | version "1.2.0" 3017 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3018 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 3019 | dependencies: 3020 | shebang-regex "^1.0.0" 3021 | 3022 | shebang-command@^2.0.0: 3023 | version "2.0.0" 3024 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 3025 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 3026 | dependencies: 3027 | shebang-regex "^3.0.0" 3028 | 3029 | shebang-regex@^1.0.0: 3030 | version "1.0.0" 3031 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3032 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 3033 | 3034 | shebang-regex@^3.0.0: 3035 | version "3.0.0" 3036 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 3037 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 3038 | 3039 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3040 | version "3.0.2" 3041 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3042 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 3043 | 3044 | slash@^2.0.0: 3045 | version "2.0.0" 3046 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 3047 | integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 3048 | 3049 | slash@^3.0.0: 3050 | version "3.0.0" 3051 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 3052 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 3053 | 3054 | slice-ansi@^2.1.0: 3055 | version "2.1.0" 3056 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 3057 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 3058 | dependencies: 3059 | ansi-styles "^3.2.0" 3060 | astral-regex "^1.0.0" 3061 | is-fullwidth-code-point "^2.0.0" 3062 | 3063 | snapdragon-node@^2.0.1: 3064 | version "2.1.1" 3065 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3066 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 3067 | dependencies: 3068 | define-property "^1.0.0" 3069 | isobject "^3.0.0" 3070 | snapdragon-util "^3.0.1" 3071 | 3072 | snapdragon-util@^3.0.1: 3073 | version "3.0.1" 3074 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3075 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 3076 | dependencies: 3077 | kind-of "^3.2.0" 3078 | 3079 | snapdragon@^0.8.1: 3080 | version "0.8.2" 3081 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3082 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 3083 | dependencies: 3084 | base "^0.11.1" 3085 | debug "^2.2.0" 3086 | define-property "^0.2.5" 3087 | extend-shallow "^2.0.1" 3088 | map-cache "^0.2.2" 3089 | source-map "^0.5.6" 3090 | source-map-resolve "^0.5.0" 3091 | use "^3.1.0" 3092 | 3093 | sort-keys@^2.0.0: 3094 | version "2.0.0" 3095 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" 3096 | integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= 3097 | dependencies: 3098 | is-plain-obj "^1.0.0" 3099 | 3100 | source-map-resolve@^0.5.0: 3101 | version "0.5.2" 3102 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 3103 | integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== 3104 | dependencies: 3105 | atob "^2.1.1" 3106 | decode-uri-component "^0.2.0" 3107 | resolve-url "^0.2.1" 3108 | source-map-url "^0.4.0" 3109 | urix "^0.1.0" 3110 | 3111 | source-map-url@^0.4.0: 3112 | version "0.4.0" 3113 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3114 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 3115 | 3116 | source-map@^0.5.6: 3117 | version "0.5.7" 3118 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3119 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3120 | 3121 | spdx-correct@^3.0.0: 3122 | version "3.1.0" 3123 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 3124 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 3125 | dependencies: 3126 | spdx-expression-parse "^3.0.0" 3127 | spdx-license-ids "^3.0.0" 3128 | 3129 | spdx-exceptions@^2.1.0: 3130 | version "2.2.0" 3131 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 3132 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 3133 | 3134 | spdx-expression-parse@^3.0.0: 3135 | version "3.0.0" 3136 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 3137 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 3138 | dependencies: 3139 | spdx-exceptions "^2.1.0" 3140 | spdx-license-ids "^3.0.0" 3141 | 3142 | spdx-license-ids@^3.0.0: 3143 | version "3.0.5" 3144 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 3145 | integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== 3146 | 3147 | split-string@^3.0.1, split-string@^3.0.2: 3148 | version "3.1.0" 3149 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3150 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 3151 | dependencies: 3152 | extend-shallow "^3.0.0" 3153 | 3154 | sprintf-js@~1.0.2: 3155 | version "1.0.3" 3156 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3157 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3158 | 3159 | static-extend@^0.1.1: 3160 | version "0.1.2" 3161 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3162 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 3163 | dependencies: 3164 | define-property "^0.2.5" 3165 | object-copy "^0.1.0" 3166 | 3167 | string-width@^2.0.0, string-width@^2.1.1: 3168 | version "2.1.1" 3169 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3170 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 3171 | dependencies: 3172 | is-fullwidth-code-point "^2.0.0" 3173 | strip-ansi "^4.0.0" 3174 | 3175 | string-width@^3.0.0: 3176 | version "3.1.0" 3177 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 3178 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 3179 | dependencies: 3180 | emoji-regex "^7.0.1" 3181 | is-fullwidth-code-point "^2.0.0" 3182 | strip-ansi "^5.1.0" 3183 | 3184 | string-width@^4.1.0: 3185 | version "4.2.0" 3186 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 3187 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== 3188 | dependencies: 3189 | emoji-regex "^8.0.0" 3190 | is-fullwidth-code-point "^3.0.0" 3191 | strip-ansi "^6.0.0" 3192 | 3193 | string.prototype.trimleft@^2.1.0: 3194 | version "2.1.1" 3195 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" 3196 | integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== 3197 | dependencies: 3198 | define-properties "^1.1.3" 3199 | function-bind "^1.1.1" 3200 | 3201 | string.prototype.trimright@^2.1.0: 3202 | version "2.1.1" 3203 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" 3204 | integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== 3205 | dependencies: 3206 | define-properties "^1.1.3" 3207 | function-bind "^1.1.1" 3208 | 3209 | strip-ansi@^4.0.0: 3210 | version "4.0.0" 3211 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3212 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3213 | dependencies: 3214 | ansi-regex "^3.0.0" 3215 | 3216 | strip-ansi@^5.1.0, strip-ansi@^5.2.0: 3217 | version "5.2.0" 3218 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 3219 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 3220 | dependencies: 3221 | ansi-regex "^4.1.0" 3222 | 3223 | strip-ansi@^6.0.0: 3224 | version "6.0.0" 3225 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 3226 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 3227 | dependencies: 3228 | ansi-regex "^5.0.0" 3229 | 3230 | strip-bom@^3.0.0: 3231 | version "3.0.0" 3232 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3233 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 3234 | 3235 | strip-eof@^1.0.0: 3236 | version "1.0.0" 3237 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3238 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 3239 | 3240 | strip-final-newline@^2.0.0: 3241 | version "2.0.0" 3242 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 3243 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 3244 | 3245 | strip-indent@^2.0.0: 3246 | version "2.0.0" 3247 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 3248 | integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= 3249 | 3250 | strip-json-comments@^3.0.1: 3251 | version "3.0.1" 3252 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 3253 | integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== 3254 | 3255 | strip-json-comments@~2.0.1: 3256 | version "2.0.1" 3257 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3258 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3259 | 3260 | supports-color@^5.0.0, supports-color@^5.3.0: 3261 | version "5.5.0" 3262 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3263 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3264 | dependencies: 3265 | has-flag "^3.0.0" 3266 | 3267 | supports-hyperlinks@^1.0.1: 3268 | version "1.0.1" 3269 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" 3270 | integrity sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw== 3271 | dependencies: 3272 | has-flag "^2.0.0" 3273 | supports-color "^5.0.0" 3274 | 3275 | table@^5.2.3: 3276 | version "5.4.6" 3277 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 3278 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== 3279 | dependencies: 3280 | ajv "^6.10.2" 3281 | lodash "^4.17.14" 3282 | slice-ansi "^2.1.0" 3283 | string-width "^3.0.0" 3284 | 3285 | term-size@^1.2.0: 3286 | version "1.2.0" 3287 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" 3288 | integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= 3289 | dependencies: 3290 | execa "^0.7.0" 3291 | 3292 | text-table@^0.2.0: 3293 | version "0.2.0" 3294 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3295 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 3296 | 3297 | the-argv@^1.0.0: 3298 | version "1.0.0" 3299 | resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" 3300 | integrity sha1-AIRwUAVzDdhNt1UlPJMa45jblSI= 3301 | 3302 | through@^2.3.6: 3303 | version "2.3.8" 3304 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3305 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 3306 | 3307 | timed-out@^4.0.0: 3308 | version "4.0.1" 3309 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 3310 | integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= 3311 | 3312 | tmp@^0.0.33: 3313 | version "0.0.33" 3314 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3315 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 3316 | dependencies: 3317 | os-tmpdir "~1.0.2" 3318 | 3319 | to-object-path@^0.3.0: 3320 | version "0.3.0" 3321 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3322 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 3323 | dependencies: 3324 | kind-of "^3.0.2" 3325 | 3326 | to-readable-stream@^1.0.0: 3327 | version "1.0.0" 3328 | resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 3329 | integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== 3330 | 3331 | to-regex-range@^2.1.0: 3332 | version "2.1.1" 3333 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3334 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 3335 | dependencies: 3336 | is-number "^3.0.0" 3337 | repeat-string "^1.6.1" 3338 | 3339 | to-regex@^3.0.1, to-regex@^3.0.2: 3340 | version "3.0.2" 3341 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3342 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 3343 | dependencies: 3344 | define-property "^2.0.2" 3345 | extend-shallow "^3.0.2" 3346 | regex-not "^1.0.2" 3347 | safe-regex "^1.1.0" 3348 | 3349 | trim-newlines@^2.0.0: 3350 | version "2.0.0" 3351 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" 3352 | integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= 3353 | 3354 | tsd@^0.11.0: 3355 | version "0.11.0" 3356 | resolved "https://registry.yarnpkg.com/tsd/-/tsd-0.11.0.tgz#ede8b8e85850845b753fff7eaaf68dbd3673700b" 3357 | integrity sha512-klKMNC0KRzUIaLJG8XqkvH/9rKwYX74xpqJBN8spWjYUDojAesd6AfDCT5dray+yhLfTGkem7O3nU6i4KwzNDw== 3358 | dependencies: 3359 | eslint-formatter-pretty "^1.3.0" 3360 | globby "^9.1.0" 3361 | meow "^5.0.0" 3362 | path-exists "^3.0.0" 3363 | read-pkg-up "^4.0.0" 3364 | update-notifier "^2.5.0" 3365 | 3366 | tslib@^1.9.0: 3367 | version "1.10.0" 3368 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 3369 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 3370 | 3371 | type-check@~0.3.2: 3372 | version "0.3.2" 3373 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3374 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 3375 | dependencies: 3376 | prelude-ls "~1.1.2" 3377 | 3378 | type-fest@^0.3.0: 3379 | version "0.3.1" 3380 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" 3381 | integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== 3382 | 3383 | type-fest@^0.4.1: 3384 | version "0.4.1" 3385 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" 3386 | integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== 3387 | 3388 | type-fest@^0.6.0: 3389 | version "0.6.0" 3390 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 3391 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 3392 | 3393 | type-fest@^0.8.1: 3394 | version "0.8.1" 3395 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 3396 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 3397 | 3398 | union-value@^1.0.0: 3399 | version "1.0.1" 3400 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 3401 | integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== 3402 | dependencies: 3403 | arr-union "^3.1.0" 3404 | get-value "^2.0.6" 3405 | is-extendable "^0.1.1" 3406 | set-value "^2.0.1" 3407 | 3408 | unique-string@^1.0.0: 3409 | version "1.0.0" 3410 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 3411 | integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= 3412 | dependencies: 3413 | crypto-random-string "^1.0.0" 3414 | 3415 | unset-value@^1.0.0: 3416 | version "1.0.0" 3417 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3418 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 3419 | dependencies: 3420 | has-value "^0.3.1" 3421 | isobject "^3.0.0" 3422 | 3423 | unzip-response@^2.0.1: 3424 | version "2.0.1" 3425 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" 3426 | integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= 3427 | 3428 | update-notifier@^2.5.0: 3429 | version "2.5.0" 3430 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" 3431 | integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== 3432 | dependencies: 3433 | boxen "^1.2.1" 3434 | chalk "^2.0.1" 3435 | configstore "^3.0.0" 3436 | import-lazy "^2.1.0" 3437 | is-ci "^1.0.10" 3438 | is-installed-globally "^0.1.0" 3439 | is-npm "^1.0.0" 3440 | latest-version "^3.0.0" 3441 | semver-diff "^2.0.0" 3442 | xdg-basedir "^3.0.0" 3443 | 3444 | update-notifier@^3.0.1: 3445 | version "3.0.1" 3446 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" 3447 | integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== 3448 | dependencies: 3449 | boxen "^3.0.0" 3450 | chalk "^2.0.1" 3451 | configstore "^4.0.0" 3452 | has-yarn "^2.1.0" 3453 | import-lazy "^2.1.0" 3454 | is-ci "^2.0.0" 3455 | is-installed-globally "^0.1.0" 3456 | is-npm "^3.0.0" 3457 | is-yarn-global "^0.3.0" 3458 | latest-version "^5.0.0" 3459 | semver-diff "^2.0.0" 3460 | xdg-basedir "^3.0.0" 3461 | 3462 | uri-js@^4.2.2: 3463 | version "4.2.2" 3464 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3465 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 3466 | dependencies: 3467 | punycode "^2.1.0" 3468 | 3469 | urix@^0.1.0: 3470 | version "0.1.0" 3471 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3472 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 3473 | 3474 | url-parse-lax@^1.0.0: 3475 | version "1.0.0" 3476 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 3477 | integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= 3478 | dependencies: 3479 | prepend-http "^1.0.1" 3480 | 3481 | url-parse-lax@^3.0.0: 3482 | version "3.0.0" 3483 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 3484 | integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= 3485 | dependencies: 3486 | prepend-http "^2.0.0" 3487 | 3488 | use@^3.1.0: 3489 | version "3.1.1" 3490 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 3491 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 3492 | 3493 | v8-compile-cache@^2.0.3: 3494 | version "2.1.0" 3495 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" 3496 | integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== 3497 | 3498 | validate-npm-package-license@^3.0.1: 3499 | version "3.0.4" 3500 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 3501 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 3502 | dependencies: 3503 | spdx-correct "^3.0.0" 3504 | spdx-expression-parse "^3.0.0" 3505 | 3506 | which@^1.2.9: 3507 | version "1.3.1" 3508 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3509 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 3510 | dependencies: 3511 | isexe "^2.0.0" 3512 | 3513 | which@^2.0.1: 3514 | version "2.0.2" 3515 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3516 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 3517 | dependencies: 3518 | isexe "^2.0.0" 3519 | 3520 | widest-line@^2.0.0: 3521 | version "2.0.1" 3522 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" 3523 | integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== 3524 | dependencies: 3525 | string-width "^2.1.1" 3526 | 3527 | word-wrap@~1.2.3: 3528 | version "1.2.3" 3529 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 3530 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 3531 | 3532 | wrappy@1: 3533 | version "1.0.2" 3534 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3535 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3536 | 3537 | write-file-atomic@^2.0.0: 3538 | version "2.4.3" 3539 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" 3540 | integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== 3541 | dependencies: 3542 | graceful-fs "^4.1.11" 3543 | imurmurhash "^0.1.4" 3544 | signal-exit "^3.0.2" 3545 | 3546 | write-json-file@^2.2.0: 3547 | version "2.3.0" 3548 | resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" 3549 | integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= 3550 | dependencies: 3551 | detect-indent "^5.0.0" 3552 | graceful-fs "^4.1.2" 3553 | make-dir "^1.0.0" 3554 | pify "^3.0.0" 3555 | sort-keys "^2.0.0" 3556 | write-file-atomic "^2.0.0" 3557 | 3558 | write-pkg@^3.1.0: 3559 | version "3.2.0" 3560 | resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" 3561 | integrity sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw== 3562 | dependencies: 3563 | sort-keys "^2.0.0" 3564 | write-json-file "^2.2.0" 3565 | 3566 | write@1.0.3: 3567 | version "1.0.3" 3568 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 3569 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 3570 | dependencies: 3571 | mkdirp "^0.5.1" 3572 | 3573 | xdg-basedir@^3.0.0: 3574 | version "3.0.0" 3575 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 3576 | integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= 3577 | 3578 | xo-init@^0.7.0: 3579 | version "0.7.0" 3580 | resolved "https://registry.yarnpkg.com/xo-init/-/xo-init-0.7.0.tgz#634b4789e366b4f87f747ef0cee1a99ce273aa15" 3581 | integrity sha512-mrrCKMu52vz0u2tiOl8DoG709pBtnSp58bb4/j58a4jeXjrb1gV7dxfOBjOlXitYtfW2QnlxxxfAojoFcpynDg== 3582 | dependencies: 3583 | arrify "^1.0.0" 3584 | execa "^0.9.0" 3585 | has-yarn "^1.0.0" 3586 | minimist "^1.1.3" 3587 | path-exists "^3.0.0" 3588 | read-pkg-up "^3.0.0" 3589 | the-argv "^1.0.0" 3590 | write-pkg "^3.1.0" 3591 | 3592 | xo@^0.25.3: 3593 | version "0.25.3" 3594 | resolved "https://registry.yarnpkg.com/xo/-/xo-0.25.3.tgz#feb624c35943f3575ad4668cd0b7b74a1d4884d2" 3595 | integrity sha512-125on+kPp6oi+EfoAajJ58cGLxIurZqWrehhdqoApWXpano9GL5D0ElcSlbG7UeYAfmNSwKJGTxHoLsHLhrZqg== 3596 | dependencies: 3597 | arrify "^2.0.1" 3598 | debug "^4.1.0" 3599 | eslint "^6.4.0" 3600 | eslint-config-prettier "^6.3.0" 3601 | eslint-config-xo "^0.27.1" 3602 | eslint-formatter-pretty "^2.0.0" 3603 | eslint-plugin-ava "^9.0.0" 3604 | eslint-plugin-eslint-comments "^3.0.1" 3605 | eslint-plugin-import "^2.18.2" 3606 | eslint-plugin-no-use-extend-native "^0.4.0" 3607 | eslint-plugin-node "^10.0.0" 3608 | eslint-plugin-prettier "^3.1.1" 3609 | eslint-plugin-promise "^4.0.0" 3610 | eslint-plugin-unicorn "^12.0.0" 3611 | find-cache-dir "^3.0.0" 3612 | get-stdin "^7.0.0" 3613 | globby "^9.0.0" 3614 | has-flag "^4.0.0" 3615 | lodash.isequal "^4.5.0" 3616 | lodash.mergewith "^4.6.2" 3617 | meow "^5.0.0" 3618 | multimatch "^4.0.0" 3619 | open-editor "^2.0.1" 3620 | path-exists "^4.0.0" 3621 | pkg-conf "^3.1.0" 3622 | prettier "^1.15.2" 3623 | resolve-cwd "^3.0.0" 3624 | resolve-from "^5.0.0" 3625 | semver "^6.3.0" 3626 | slash "^3.0.0" 3627 | update-notifier "^3.0.1" 3628 | xo-init "^0.7.0" 3629 | 3630 | yallist@^2.1.2: 3631 | version "2.1.2" 3632 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3633 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 3634 | 3635 | yargs-parser@^10.0.0: 3636 | version "10.1.0" 3637 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" 3638 | integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== 3639 | dependencies: 3640 | camelcase "^4.1.0" 3641 | --------------------------------------------------------------------------------