aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tools
diff options
context:
space:
mode:
Diffstat (limited to 'server/tools')
-rw-r--r--server/tools/cli.ts10
-rw-r--r--server/tools/peertube-auth.ts4
-rw-r--r--server/tools/peertube-get-access-token.ts2
-rw-r--r--server/tools/peertube-import-videos.ts27
-rw-r--r--server/tools/peertube-plugins.ts14
-rw-r--r--server/tools/peertube-redundancy.ts7
-rw-r--r--server/tools/peertube-repl.ts7
-rw-r--r--server/tools/peertube-upload.ts2
-rw-r--r--server/tools/peertube-watch.ts8
-rw-r--r--server/tools/peertube.ts6
-rw-r--r--server/tools/test.ts2
-rw-r--r--server/tools/yarn.lock413
12 files changed, 239 insertions, 263 deletions
diff --git a/server/tools/cli.ts b/server/tools/cli.ts
index cc89fe46e..7b94306cd 100644
--- a/server/tools/cli.ts
+++ b/server/tools/cli.ts
@@ -3,12 +3,12 @@ import { getAppNumber, isTestInstance } from '../helpers/core-utils'
3import { join } from 'path' 3import { join } from 'path'
4import { root } from '../../shared/extra-utils/miscs/miscs' 4import { root } from '../../shared/extra-utils/miscs/miscs'
5import { getVideoChannel } from '../../shared/extra-utils/videos/video-channels' 5import { getVideoChannel } from '../../shared/extra-utils/videos/video-channels'
6import { CommanderStatic } from 'commander'
7import { VideoChannel, VideoPrivacy } from '../../shared/models/videos' 6import { VideoChannel, VideoPrivacy } from '../../shared/models/videos'
8import { createLogger, format, transports } from 'winston' 7import { createLogger, format, transports } from 'winston'
9import { getMyUserInformation } from '@shared/extra-utils/users/users' 8import { getMyUserInformation } from '@shared/extra-utils/users/users'
10import { User, UserRole } from '@shared/models' 9import { User, UserRole } from '@shared/models'
11import { getAccessToken } from '@shared/extra-utils/users/login' 10import { getAccessToken } from '@shared/extra-utils/users/login'
11import { Command } from 'commander'
12 12
13let configName = 'PeerTube/CLI' 13let configName = 'PeerTube/CLI'
14if (isTestInstance()) configName += `-${getAppNumber()}` 14if (isTestInstance()) configName += `-${getAppNumber()}`
@@ -69,7 +69,7 @@ function deleteSettings () {
69} 69}
70 70
71function getRemoteObjectOrDie ( 71function getRemoteObjectOrDie (
72 program: CommanderStatic, 72 program: Command,
73 settings: Settings, 73 settings: Settings,
74 netrc: Netrc 74 netrc: Netrc
75): { url: string, username: string, password: string } { 75): { url: string, username: string, password: string } {
@@ -106,7 +106,7 @@ function getRemoteObjectOrDie (
106 } 106 }
107} 107}
108 108
109function buildCommonVideoOptions (command: CommanderStatic) { 109function buildCommonVideoOptions (command: Command) {
110 function list (val) { 110 function list (val) {
111 return val.split(',') 111 return val.split(',')
112 } 112 }
@@ -128,7 +128,7 @@ function buildCommonVideoOptions (command: CommanderStatic) {
128 .option('-v, --verbose <verbose>', 'Verbosity, from 0/\'error\' to 4/\'debug\'', 'info') 128 .option('-v, --verbose <verbose>', 'Verbosity, from 0/\'error\' to 4/\'debug\'', 'info')
129} 129}
130 130
131async function buildVideoAttributesFromCommander (url: string, command: CommanderStatic, defaultAttributes: any = {}) { 131async function buildVideoAttributesFromCommander (url: string, command: Command, defaultAttributes: any = {}) {
132 const options = command.opts() 132 const options = command.opts()
133 133
134 const defaultBooleanAttributes = { 134 const defaultBooleanAttributes = {
@@ -177,7 +177,7 @@ async function buildVideoAttributesFromCommander (url: string, command: Commande
177 return videoAttributes 177 return videoAttributes
178} 178}
179 179
180function getServerCredentials (program: CommanderStatic) { 180function getServerCredentials (program: Command) {
181 return Promise.all([ getSettings(), getNetrc() ]) 181 return Promise.all([ getSettings(), getNetrc() ])
182 .then(([ settings, netrc ]) => { 182 .then(([ settings, netrc ]) => {
183 return getRemoteObjectOrDie(program, settings, netrc) 183 return getRemoteObjectOrDie(program, settings, netrc)
diff --git a/server/tools/peertube-auth.ts b/server/tools/peertube-auth.ts
index e54649002..1934e7986 100644
--- a/server/tools/peertube-auth.ts
+++ b/server/tools/peertube-auth.ts
@@ -3,7 +3,7 @@
3import { registerTSPaths } from '../helpers/register-ts-paths' 3import { registerTSPaths } from '../helpers/register-ts-paths'
4registerTSPaths() 4registerTSPaths()
5 5
6import * as program from 'commander' 6import { OptionValues, program } from 'commander'
7import * as prompt from 'prompt' 7import * as prompt from 'prompt'
8import { getNetrc, getSettings, writeSettings } from './cli' 8import { getNetrc, getSettings, writeSettings } from './cli'
9import { isUserUsernameValid } from '../helpers/custom-validators/users' 9import { isUserUsernameValid } from '../helpers/custom-validators/users'
@@ -66,7 +66,7 @@ program
66 .option('-U, --username <username>', 'Username') 66 .option('-U, --username <username>', 'Username')
67 .option('-p, --password <token>', 'Password') 67 .option('-p, --password <token>', 'Password')
68 .option('--default', 'add the entry as the new default') 68 .option('--default', 'add the entry as the new default')
69 .action((options: program.OptionValues) => { 69 .action((options: OptionValues) => {
70 /* eslint-disable no-import-assign */ 70 /* eslint-disable no-import-assign */
71 prompt.override = options 71 prompt.override = options
72 prompt.start() 72 prompt.start()
diff --git a/server/tools/peertube-get-access-token.ts b/server/tools/peertube-get-access-token.ts
index b2c278c48..9488eba0e 100644
--- a/server/tools/peertube-get-access-token.ts
+++ b/server/tools/peertube-get-access-token.ts
@@ -1,7 +1,7 @@
1import { registerTSPaths } from '../helpers/register-ts-paths' 1import { registerTSPaths } from '../helpers/register-ts-paths'
2registerTSPaths() 2registerTSPaths()
3 3
4import * as program from 'commander' 4import { program } from 'commander'
5import { getClient, Server, serverLogin } from '../../shared/extra-utils' 5import { getClient, Server, serverLogin } from '../../shared/extra-utils'
6 6
7program 7program
diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts
index 915995031..101a95b2a 100644
--- a/server/tools/peertube-import-videos.ts
+++ b/server/tools/peertube-import-videos.ts
@@ -1,7 +1,7 @@
1import { registerTSPaths } from '../helpers/register-ts-paths' 1import { registerTSPaths } from '../helpers/register-ts-paths'
2registerTSPaths() 2registerTSPaths()
3 3
4import * as program from 'commander' 4import { program } from 'commander'
5import { accessSync, constants } from 'fs' 5import { accessSync, constants } from 'fs'
6import { remove } from 'fs-extra' 6import { remove } from 'fs-extra'
7import { truncate } from 'lodash' 7import { truncate } from 'lodash'
@@ -11,9 +11,9 @@ import { promisify } from 'util'
11import { advancedVideosSearch, getClient, getVideoCategories, login, uploadVideo } from '../../shared/extra-utils/index' 11import { advancedVideosSearch, getClient, getVideoCategories, login, uploadVideo } from '../../shared/extra-utils/index'
12import { sha256 } from '../helpers/core-utils' 12import { sha256 } from '../helpers/core-utils'
13import { doRequestAndSaveToFile } from '../helpers/requests' 13import { doRequestAndSaveToFile } from '../helpers/requests'
14import { buildOriginallyPublishedAt, getYoutubeDLVideoFormat, safeGetYoutubeDL } from '../helpers/youtube-dl'
15import { CONSTRAINTS_FIELDS } from '../initializers/constants' 14import { CONSTRAINTS_FIELDS } from '../initializers/constants'
16import { buildCommonVideoOptions, buildVideoAttributesFromCommander, getLogger, getServerCredentials } from './cli' 15import { buildCommonVideoOptions, buildVideoAttributesFromCommander, getLogger, getServerCredentials } from './cli'
16import { YoutubeDL } from '@server/helpers/youtube-dl'
17 17
18type UserInfo = { 18type UserInfo = {
19 username: string 19 username: string
@@ -74,9 +74,9 @@ async function run (url: string, user: UserInfo) {
74 user.password = await promptPassword() 74 user.password = await promptPassword()
75 } 75 }
76 76
77 const youtubeDL = await safeGetYoutubeDL() 77 const youtubeDLBinary = await YoutubeDL.safeGetYoutubeDL()
78 78
79 let info = await getYoutubeDLInfo(youtubeDL, options.targetUrl, command.args) 79 let info = await getYoutubeDLInfo(youtubeDLBinary, options.targetUrl, command.args)
80 80
81 if (!Array.isArray(info)) info = [ info ] 81 if (!Array.isArray(info)) info = [ info ]
82 82
@@ -86,7 +86,7 @@ async function run (url: string, user: UserInfo) {
86 if (uploadsObject) { 86 if (uploadsObject) {
87 console.log('Fixing URL to %s.', uploadsObject.url) 87 console.log('Fixing URL to %s.', uploadsObject.url)
88 88
89 info = await getYoutubeDLInfo(youtubeDL, uploadsObject.url, command.args) 89 info = await getYoutubeDLInfo(youtubeDLBinary, uploadsObject.url, command.args)
90 } 90 }
91 91
92 let infoArray: any[] 92 let infoArray: any[]
@@ -130,13 +130,14 @@ async function processVideo (parameters: {
130 youtubeInfo: any 130 youtubeInfo: any
131}) { 131}) {
132 const { youtubeInfo, cwd, url, user } = parameters 132 const { youtubeInfo, cwd, url, user } = parameters
133 const youtubeDL = new YoutubeDL('', [])
133 134
134 log.debug('Fetching object.', youtubeInfo) 135 log.debug('Fetching object.', youtubeInfo)
135 136
136 const videoInfo = await fetchObject(youtubeInfo) 137 const videoInfo = await fetchObject(youtubeInfo)
137 log.debug('Fetched object.', videoInfo) 138 log.debug('Fetched object.', videoInfo)
138 139
139 const originallyPublishedAt = buildOriginallyPublishedAt(videoInfo) 140 const originallyPublishedAt = youtubeDL.buildOriginallyPublishedAt(videoInfo)
140 if (options.since && originallyPublishedAt && originallyPublishedAt.getTime() < options.since.getTime()) { 141 if (options.since && originallyPublishedAt && originallyPublishedAt.getTime() < options.since.getTime()) {
141 log.info('Video "%s" has been published before "%s", don\'t upload it.\n', 142 log.info('Video "%s" has been published before "%s", don\'t upload it.\n',
142 videoInfo.title, formatDate(options.since)) 143 videoInfo.title, formatDate(options.since))
@@ -161,13 +162,14 @@ async function processVideo (parameters: {
161 162
162 log.info('Downloading video "%s"...', videoInfo.title) 163 log.info('Downloading video "%s"...', videoInfo.title)
163 164
164 const youtubeDLOptions = [ '-f', getYoutubeDLVideoFormat(), ...command.args, '-o', path ] 165 const youtubeDLOptions = [ '-f', youtubeDL.getYoutubeDLVideoFormat(), ...command.args, '-o', path ]
165 try { 166 try {
166 const youtubeDL = await safeGetYoutubeDL() 167 const youtubeDLBinary = await YoutubeDL.safeGetYoutubeDL()
167 const youtubeDLExec = promisify(youtubeDL.exec).bind(youtubeDL) 168 const youtubeDLExec = promisify(youtubeDLBinary.exec).bind(youtubeDLBinary)
168 const output = await youtubeDLExec(videoInfo.url, youtubeDLOptions, processOptions) 169 const output = await youtubeDLExec(videoInfo.url, youtubeDLOptions, processOptions)
169 log.info(output.join('\n')) 170 log.info(output.join('\n'))
170 await uploadVideoOnPeerTube({ 171 await uploadVideoOnPeerTube({
172 youtubeDL,
171 cwd, 173 cwd,
172 url, 174 url,
173 user, 175 user,
@@ -180,13 +182,14 @@ async function processVideo (parameters: {
180} 182}
181 183
182async function uploadVideoOnPeerTube (parameters: { 184async function uploadVideoOnPeerTube (parameters: {
185 youtubeDL: YoutubeDL
183 videoInfo: any 186 videoInfo: any
184 videoPath: string 187 videoPath: string
185 cwd: string 188 cwd: string
186 url: string 189 url: string
187 user: { username: string, password: string } 190 user: { username: string, password: string }
188}) { 191}) {
189 const { videoInfo, videoPath, cwd, url, user } = parameters 192 const { youtubeDL, videoInfo, videoPath, cwd, url, user } = parameters
190 193
191 const category = await getCategory(videoInfo.categories, url) 194 const category = await getCategory(videoInfo.categories, url)
192 const licence = getLicence(videoInfo.license) 195 const licence = getLicence(videoInfo.license)
@@ -205,7 +208,7 @@ async function uploadVideoOnPeerTube (parameters: {
205 await doRequestAndSaveToFile(videoInfo.thumbnail, thumbnailfile) 208 await doRequestAndSaveToFile(videoInfo.thumbnail, thumbnailfile)
206 } 209 }
207 210
208 const originallyPublishedAt = buildOriginallyPublishedAt(videoInfo) 211 const originallyPublishedAt = youtubeDL.buildOriginallyPublishedAt(videoInfo)
209 212
210 const defaultAttributes = { 213 const defaultAttributes = {
211 name: truncate(videoInfo.title, { 214 name: truncate(videoInfo.title, {
@@ -304,7 +307,7 @@ function fetchObject (info: any) {
304 const url = buildUrl(info) 307 const url = buildUrl(info)
305 308
306 return new Promise<any>(async (res, rej) => { 309 return new Promise<any>(async (res, rej) => {
307 const youtubeDL = await safeGetYoutubeDL() 310 const youtubeDL = await YoutubeDL.safeGetYoutubeDL()
308 youtubeDL.getInfo(url, undefined, processOptions, (err, videoInfo) => { 311 youtubeDL.getInfo(url, undefined, processOptions, (err, videoInfo) => {
309 if (err) return rej(err) 312 if (err) return rej(err)
310 313
diff --git a/server/tools/peertube-plugins.ts b/server/tools/peertube-plugins.ts
index c8a576844..54ea1264d 100644
--- a/server/tools/peertube-plugins.ts
+++ b/server/tools/peertube-plugins.ts
@@ -3,14 +3,12 @@
3import { registerTSPaths } from '../helpers/register-ts-paths' 3import { registerTSPaths } from '../helpers/register-ts-paths'
4registerTSPaths() 4registerTSPaths()
5 5
6import * as program from 'commander' 6import { program, Command, OptionValues } from 'commander'
7import { PluginType } from '../../shared/models/plugins/plugin.type'
8import { installPlugin, listPlugins, uninstallPlugin, updatePlugin } from '../../shared/extra-utils/server/plugins' 7import { installPlugin, listPlugins, uninstallPlugin, updatePlugin } from '../../shared/extra-utils/server/plugins'
9import { getAdminTokenOrDie, getServerCredentials } from './cli' 8import { getAdminTokenOrDie, getServerCredentials } from './cli'
10import { PeerTubePlugin } from '../../shared/models/plugins/peertube-plugin.model' 9import { PeerTubePlugin, PluginType } from '../../shared/models'
11import { isAbsolute } from 'path' 10import { isAbsolute } from 'path'
12import * as CliTable3 from 'cli-table3' 11import * as CliTable3 from 'cli-table3'
13import commander = require('commander')
14 12
15program 13program
16 .name('plugins') 14 .name('plugins')
@@ -63,7 +61,7 @@ program.parse(process.argv)
63 61
64// ---------------------------------------------------------------------------- 62// ----------------------------------------------------------------------------
65 63
66async function pluginsListCLI (command: commander.CommanderStatic, options: commander.OptionValues) { 64async function pluginsListCLI (command: Command, options: OptionValues) {
67 const { url, username, password } = await getServerCredentials(command) 65 const { url, username, password } = await getServerCredentials(command)
68 const accessToken = await getAdminTokenOrDie(url, username, password) 66 const accessToken = await getAdminTokenOrDie(url, username, password)
69 67
@@ -102,7 +100,7 @@ async function pluginsListCLI (command: commander.CommanderStatic, options: comm
102 process.exit(0) 100 process.exit(0)
103} 101}
104 102
105async function installPluginCLI (command: commander.CommanderStatic, options: commander.OptionValues) { 103async function installPluginCLI (command: Command, options: OptionValues) {
106 if (!options.path && !options.npmName) { 104 if (!options.path && !options.npmName) {
107 console.error('You need to specify the npm name or the path of the plugin you want to install.\n') 105 console.error('You need to specify the npm name or the path of the plugin you want to install.\n')
108 program.outputHelp() 106 program.outputHelp()
@@ -133,7 +131,7 @@ async function installPluginCLI (command: commander.CommanderStatic, options: co
133 process.exit(0) 131 process.exit(0)
134} 132}
135 133
136async function updatePluginCLI (command: commander.CommanderStatic, options: commander.OptionValues) { 134async function updatePluginCLI (command: Command, options: OptionValues) {
137 if (!options.path && !options.npmName) { 135 if (!options.path && !options.npmName) {
138 console.error('You need to specify the npm name or the path of the plugin you want to update.\n') 136 console.error('You need to specify the npm name or the path of the plugin you want to update.\n')
139 program.outputHelp() 137 program.outputHelp()
@@ -164,7 +162,7 @@ async function updatePluginCLI (command: commander.CommanderStatic, options: com
164 process.exit(0) 162 process.exit(0)
165} 163}
166 164
167async function uninstallPluginCLI (command: commander.CommanderStatic, options: commander.OptionValues) { 165async function uninstallPluginCLI (command: Command, options: OptionValues) {
168 if (!options.npmName) { 166 if (!options.npmName) {
169 console.error('You need to specify the npm name of the plugin/theme you want to uninstall.\n') 167 console.error('You need to specify the npm name of the plugin/theme you want to uninstall.\n')
170 program.outputHelp() 168 program.outputHelp()
diff --git a/server/tools/peertube-redundancy.ts b/server/tools/peertube-redundancy.ts
index 5bc80ddb9..4810deee0 100644
--- a/server/tools/peertube-redundancy.ts
+++ b/server/tools/peertube-redundancy.ts
@@ -3,7 +3,7 @@
3import { registerTSPaths } from '../helpers/register-ts-paths' 3import { registerTSPaths } from '../helpers/register-ts-paths'
4registerTSPaths() 4registerTSPaths()
5 5
6import * as program from 'commander' 6import { program, Command } from 'commander'
7import { getAdminTokenOrDie, getServerCredentials } from './cli' 7import { getAdminTokenOrDie, getServerCredentials } from './cli'
8import { VideoRedundanciesTarget, VideoRedundancy } from '@shared/models' 8import { VideoRedundanciesTarget, VideoRedundancy } from '@shared/models'
9import { addVideoRedundancy, listVideoRedundancies, removeVideoRedundancy } from '@shared/extra-utils/server/redundancy' 9import { addVideoRedundancy, listVideoRedundancies, removeVideoRedundancy } from '@shared/extra-utils/server/redundancy'
@@ -14,7 +14,6 @@ import { URL } from 'url'
14import { uniq } from 'lodash' 14import { uniq } from 'lodash'
15 15
16import bytes = require('bytes') 16import bytes = require('bytes')
17import commander = require('commander')
18 17
19program 18program
20 .name('plugins') 19 .name('plugins')
@@ -105,7 +104,7 @@ async function listRedundanciesCLI (target: VideoRedundanciesTarget) {
105 process.exit(0) 104 process.exit(0)
106} 105}
107 106
108async function addRedundancyCLI (options: { video: number }, command: commander.CommanderStatic) { 107async function addRedundancyCLI (options: { video: number }, command: Command) {
109 const { url, username, password } = await getServerCredentials(command) 108 const { url, username, password } = await getServerCredentials(command)
110 const accessToken = await getAdminTokenOrDie(url, username, password) 109 const accessToken = await getAdminTokenOrDie(url, username, password)
111 110
@@ -138,7 +137,7 @@ async function addRedundancyCLI (options: { video: number }, command: commander.
138 } 137 }
139} 138}
140 139
141async function removeRedundancyCLI (options: { video: number }, command: commander.CommanderStatic) { 140async function removeRedundancyCLI (options: { video: number }, command: Command) {
142 const { url, username, password } = await getServerCredentials(command) 141 const { url, username, password } = await getServerCredentials(command)
143 const accessToken = await getAdminTokenOrDie(url, username, password) 142 const accessToken = await getAdminTokenOrDie(url, username, password)
144 143
diff --git a/server/tools/peertube-repl.ts b/server/tools/peertube-repl.ts
index a38d51801..eb0a776b8 100644
--- a/server/tools/peertube-repl.ts
+++ b/server/tools/peertube-repl.ts
@@ -4,7 +4,6 @@ registerTSPaths()
4import * as repl from 'repl' 4import * as repl from 'repl'
5import * as path from 'path' 5import * as path from 'path'
6import * as _ from 'lodash' 6import * as _ from 'lodash'
7import { uuidv1, uuidv3, uuidv4, uuidv5 } from 'uuid'
8import * as Sequelize from 'sequelize' 7import * as Sequelize from 'sequelize'
9import * as YoutubeDL from 'youtube-dl' 8import * as YoutubeDL from 'youtube-dl'
10import { initDatabaseModels, sequelizeTypescript } from '../initializers/database' 9import { initDatabaseModels, sequelizeTypescript } from '../initializers/database'
@@ -15,7 +14,6 @@ import * as modelsUtils from '../models/utils'
15import * as coreUtils from '../helpers/core-utils' 14import * as coreUtils from '../helpers/core-utils'
16import * as ffmpegUtils from '../helpers/ffmpeg-utils' 15import * as ffmpegUtils from '../helpers/ffmpeg-utils'
17import * as peertubeCryptoUtils from '../helpers/peertube-crypto' 16import * as peertubeCryptoUtils from '../helpers/peertube-crypto'
18import * as signupUtils from '../helpers/signup'
19import * as utils from '../helpers/utils' 17import * as utils from '../helpers/utils'
20import * as YoutubeDLUtils from '../helpers/youtube-dl' 18import * as YoutubeDLUtils from '../helpers/youtube-dl'
21 19
@@ -32,10 +30,6 @@ const start = async () => {
32 env: process.env, 30 env: process.env,
33 lodash: _, 31 lodash: _,
34 path, 32 path,
35 uuidv1,
36 uuidv3,
37 uuidv4,
38 uuidv5,
39 cli, 33 cli,
40 logger, 34 logger,
41 constants, 35 constants,
@@ -50,7 +44,6 @@ const start = async () => {
50 coreUtils, 44 coreUtils,
51 ffmpegUtils, 45 ffmpegUtils,
52 peertubeCryptoUtils, 46 peertubeCryptoUtils,
53 signupUtils,
54 utils, 47 utils,
55 YoutubeDLUtils 48 YoutubeDLUtils
56 } 49 }
diff --git a/server/tools/peertube-upload.ts b/server/tools/peertube-upload.ts
index 86c7f3d91..02edbd809 100644
--- a/server/tools/peertube-upload.ts
+++ b/server/tools/peertube-upload.ts
@@ -1,7 +1,7 @@
1import { registerTSPaths } from '../helpers/register-ts-paths' 1import { registerTSPaths } from '../helpers/register-ts-paths'
2registerTSPaths() 2registerTSPaths()
3 3
4import * as program from 'commander' 4import { program } from 'commander'
5import { access, constants } from 'fs-extra' 5import { access, constants } from 'fs-extra'
6import { isAbsolute } from 'path' 6import { isAbsolute } from 'path'
7import { getAccessToken } from '../../shared/extra-utils' 7import { getAccessToken } from '../../shared/extra-utils'
diff --git a/server/tools/peertube-watch.ts b/server/tools/peertube-watch.ts
index 6d9cfa3b7..892c9e7a6 100644
--- a/server/tools/peertube-watch.ts
+++ b/server/tools/peertube-watch.ts
@@ -1,7 +1,7 @@
1import { registerTSPaths } from '../helpers/register-ts-paths' 1import { registerTSPaths } from '../helpers/register-ts-paths'
2registerTSPaths() 2registerTSPaths()
3 3
4import * as program from 'commander' 4import { program, Option, OptionValues } from 'commander'
5import { join } from 'path' 5import { join } from 'path'
6import { execSync } from 'child_process' 6import { execSync } from 'child_process'
7 7
@@ -9,7 +9,7 @@ program
9 .name('watch') 9 .name('watch')
10 .arguments('<url>') 10 .arguments('<url>')
11 .addOption( 11 .addOption(
12 new program.Option('-g, --gui <player>', 'player type') 12 new Option('-g, --gui <player>', 'player type')
13 .default('vlc') 13 .default('vlc')
14 .choices([ 'airplay', 'stdout', 'chromecast', 'mpv', 'vlc', 'mplayer', 'xbmc' ]) 14 .choices([ 'airplay', 'stdout', 'chromecast', 'mpv', 'vlc', 'mplayer', 'xbmc' ])
15 ) 15 )
@@ -22,7 +22,7 @@ program
22 .action((url, options) => run(url, options)) 22 .action((url, options) => run(url, options))
23 .parse(process.argv) 23 .parse(process.argv)
24 24
25function run (url: string, options: program.OptionValues) { 25function run (url: string, options: OptionValues) {
26 if (!url) { 26 if (!url) {
27 console.error('<url> positional argument is required.') 27 console.error('<url> positional argument is required.')
28 process.exit(-1) 28 process.exit(-1)
@@ -30,7 +30,7 @@ function run (url: string, options: program.OptionValues) {
30 30
31 const cmd = 'node ' + join(__dirname, 'node_modules', 'webtorrent-hybrid', 'bin', 'cmd.js') 31 const cmd = 'node ' + join(__dirname, 'node_modules', 'webtorrent-hybrid', 'bin', 'cmd.js')
32 const args = ` --${options.gui} ` + 32 const args = ` --${options.gui} ` +
33 url.replace('videos/watch', 'download/torrents') + 33 url.replace(/(\/videos\/watch\/)|\/w\//, '/download/torrents/') +
34 `-${options.resolution}.torrent` 34 `-${options.resolution}.torrent`
35 35
36 try { 36 try {
diff --git a/server/tools/peertube.ts b/server/tools/peertube.ts
index 655f07f0c..a40c1332e 100644
--- a/server/tools/peertube.ts
+++ b/server/tools/peertube.ts
@@ -5,7 +5,7 @@
5import { registerTSPaths } from '../helpers/register-ts-paths' 5import { registerTSPaths } from '../helpers/register-ts-paths'
6registerTSPaths() 6registerTSPaths()
7 7
8import * as program from 'commander' 8import { CommandOptions, program } from 'commander'
9import { getSettings, version } from './cli' 9import { getSettings, version } from './cli'
10 10
11program 11program
@@ -28,11 +28,11 @@ program
28 .command( 28 .command(
29 'diagnostic [action]', 29 'diagnostic [action]',
30 'like couple therapy, but for your instance', 30 'like couple therapy, but for your instance',
31 { noHelp: true } as program.CommandOptions 31 { noHelp: true } as CommandOptions
32 ).alias('d') 32 ).alias('d')
33 .command('admin', 33 .command('admin',
34 'manage an instance where you have elevated rights', 34 'manage an instance where you have elevated rights',
35 { noHelp: true } as program.CommandOptions 35 { noHelp: true } as CommandOptions
36 ).alias('a') 36 ).alias('a')
37 37
38// help on no command 38// help on no command
diff --git a/server/tools/test.ts b/server/tools/test.ts
index fc7f8d769..fbdbae0b0 100644
--- a/server/tools/test.ts
+++ b/server/tools/test.ts
@@ -2,7 +2,7 @@ import { registerTSPaths } from '../helpers/register-ts-paths'
2registerTSPaths() 2registerTSPaths()
3 3
4import { LiveVideo, LiveVideoCreate, VideoPrivacy } from '@shared/models' 4import { LiveVideo, LiveVideoCreate, VideoPrivacy } from '@shared/models'
5import * as program from 'commander' 5import { program } from 'commander'
6import { 6import {
7 createLive, 7 createLive,
8 flushAndRunServer, 8 flushAndRunServer,
diff --git a/server/tools/yarn.lock b/server/tools/yarn.lock
index 065e32e3d..dceacb223 100644
--- a/server/tools/yarn.lock
+++ b/server/tools/yarn.lock
@@ -3,23 +3,23 @@
3 3
4 4
5"@babel/code-frame@^7.0.0": 5"@babel/code-frame@^7.0.0":
6 version "7.12.13" 6 version "7.14.5"
7 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" 7 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
8 integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== 8 integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
9 dependencies: 9 dependencies:
10 "@babel/highlight" "^7.12.13" 10 "@babel/highlight" "^7.14.5"
11 11
12"@babel/helper-validator-identifier@^7.12.11": 12"@babel/helper-validator-identifier@^7.14.5":
13 version "7.12.11" 13 version "7.14.5"
14 resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" 14 resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
15 integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 15 integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
16 16
17"@babel/highlight@^7.12.13": 17"@babel/highlight@^7.14.5":
18 version "7.13.10" 18 version "7.14.5"
19 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" 19 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
20 integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== 20 integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
21 dependencies: 21 dependencies:
22 "@babel/helper-validator-identifier" "^7.12.11" 22 "@babel/helper-validator-identifier" "^7.14.5"
23 chalk "^2.0.0" 23 chalk "^2.0.0"
24 js-tokens "^4.0.0" 24 js-tokens "^4.0.0"
25 25
@@ -81,10 +81,10 @@
81 resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" 81 resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
82 integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== 82 integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
83 83
84"@types/node@^13.7.0": 84"@types/node@>=13.7.0":
85 version "13.13.48" 85 version "15.12.2"
86 resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.48.tgz#46a3df718aed5217277f2395a682e055a487e341" 86 resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d"
87 integrity sha512-z8wvSsgWQzkr4sVuMEEOvwMdOQjiRY2Y/ZW4fDfjfe3+TfQrZqFKOthBgk2RnVEmtOKrkwdZ7uTvsxTBLjKGDQ== 87 integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==
88 88
89abbrev@1: 89abbrev@1:
90 version "1.1.1" 90 version "1.1.1"
@@ -170,7 +170,7 @@ bencode@^2.0.0, bencode@^2.0.1:
170 dependencies: 170 dependencies:
171 safe-buffer "^5.1.1" 171 safe-buffer "^5.1.1"
172 172
173bep53-range@^1.0.0: 173bep53-range@^1.1.0:
174 version "1.1.0" 174 version "1.1.0"
175 resolved "https://registry.yarnpkg.com/bep53-range/-/bep53-range-1.1.0.tgz#a009311710c955d27eb3a30cf329e8c139693d27" 175 resolved "https://registry.yarnpkg.com/bep53-range/-/bep53-range-1.1.0.tgz#a009311710c955d27eb3a30cf329e8c139693d27"
176 integrity sha512-yGQTG4NtwTciX0Bkgk1FqQL4p+NiCQKpTSFho2lrxvUkXIlzyJDwraj8aYxAxRZMnnOhRr7QlIBoMRPEnIR34Q== 176 integrity sha512-yGQTG4NtwTciX0Bkgk1FqQL4p+NiCQKpTSFho2lrxvUkXIlzyJDwraj8aYxAxRZMnnOhRr7QlIBoMRPEnIR34Q==
@@ -208,55 +208,58 @@ bittorrent-lsd@^1.0.0:
208 chrome-dgram "^3.0.6" 208 chrome-dgram "^3.0.6"
209 debug "^4.2.0" 209 debug "^4.2.0"
210 210
211bittorrent-peerid@^1.3.2: 211bittorrent-peerid@^1.3.3:
212 version "1.3.3" 212 version "1.3.3"
213 resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.3.tgz#b8dc79e421f8136d2ffd0b163a18e9d70da09949" 213 resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.3.tgz#b8dc79e421f8136d2ffd0b163a18e9d70da09949"
214 integrity sha512-tSh9HdQgwyEAfo1jzoGEis6o/zs4CcdRTchG93XVl5jct+DCAN90M5MVUV76k2vJ9Xg3GAzLB5NLsY/vnVTh6w== 214 integrity sha512-tSh9HdQgwyEAfo1jzoGEis6o/zs4CcdRTchG93XVl5jct+DCAN90M5MVUV76k2vJ9Xg3GAzLB5NLsY/vnVTh6w==
215 215
216bittorrent-protocol@^3.2.0: 216bittorrent-protocol@^3.3.1:
217 version "3.3.1" 217 version "3.4.1"
218 resolved "https://registry.yarnpkg.com/bittorrent-protocol/-/bittorrent-protocol-3.3.1.tgz#b7a8e66babc423c1eb8e379c1cf7ded26a400a73" 218 resolved "https://registry.yarnpkg.com/bittorrent-protocol/-/bittorrent-protocol-3.4.1.tgz#b481d09dbf910fa7fcca5f06a7c1c4246151d4d1"
219 integrity sha512-DJy0/jjqJD62PPJY79duCccmPMihp3KPowlmd7BLEU8FTtnDsYjso6BAx+pWwCKOeDORdc9RiJ7L72x3taCh6g== 219 integrity sha512-3qBW4ZZrUZKN7HzHbX4+kbiphrTNeraMp3i9n3wobicysjibAV8SBDY+sGiBN4SgXV6WvEW4kyRPIjoSqW+khw==
220 dependencies: 220 dependencies:
221 bencode "^2.0.1" 221 bencode "^2.0.1"
222 bitfield "^4.0.0" 222 bitfield "^4.0.0"
223 buffer-xor "^2.0.2"
223 debug "^4.3.1" 224 debug "^4.3.1"
224 randombytes "^2.1.0" 225 randombytes "^2.1.0"
226 rc4 "^0.1.5"
225 readable-stream "^3.6.0" 227 readable-stream "^3.6.0"
228 simple-sha1 "^3.0.0"
226 speedometer "^1.1.0" 229 speedometer "^1.1.0"
227 unordered-array-remove "^1.0.2" 230 unordered-array-remove "^1.0.2"
228 231
229bittorrent-tracker@^9.0.0: 232bittorrent-tracker@^9.0.0:
230 version "9.17.0" 233 version "9.17.2"
231 resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.17.0.tgz#8b4b6f6a49efa9023267c3ca22e1a5f63216fc1f" 234 resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.17.2.tgz#1afb02d3d2fb474c13389c45e8a2b6919bff40bd"
232 integrity sha512-ErpOx8AAUW8eLwxnEHp15vs0LDJECLADHISEBM+HXclG3J2/9kMBJ31IjwlB8kUNigknSwm8odAThjJEeyL1yA== 235 integrity sha512-hXjed0OnB16da+ScJUZnrAZbf9gMgSLKqh5rJebtYnTRgN4o1mX0DOPH3Nf5RFCs935ibhSmZN5nwbkh+3MdEA==
233 dependencies: 236 dependencies:
234 bencode "^2.0.1" 237 bencode "^2.0.1"
235 bittorrent-peerid "^1.3.2" 238 bittorrent-peerid "^1.3.3"
236 bn.js "^5.1.1" 239 bn.js "^5.2.0"
237 chrome-dgram "^3.0.4" 240 chrome-dgram "^3.0.6"
238 compact2string "^1.4.1" 241 compact2string "^1.4.1"
239 debug "^4.1.1" 242 debug "^4.1.1"
240 ip "^1.1.5" 243 ip "^1.1.5"
241 lru "^3.1.0" 244 lru "^3.1.0"
242 minimist "^1.2.5" 245 minimist "^1.2.5"
243 once "^1.4.0" 246 once "^1.4.0"
244 queue-microtask "^1.2.2" 247 queue-microtask "^1.2.3"
245 random-iterate "^1.0.1" 248 random-iterate "^1.0.1"
246 randombytes "^2.1.0" 249 randombytes "^2.1.0"
247 run-parallel "^1.1.9" 250 run-parallel "^1.2.0"
248 run-series "^1.1.8" 251 run-series "^1.1.9"
249 simple-get "^4.0.0" 252 simple-get "^4.0.0"
250 simple-peer "^9.7.1" 253 simple-peer "^9.11.0"
251 simple-websocket "^9.0.0" 254 simple-websocket "^9.1.0"
252 string2compact "^1.3.0" 255 string2compact "^1.3.0"
253 unordered-array-remove "^1.0.2" 256 unordered-array-remove "^1.0.2"
254 ws "^7.3.0" 257 ws "^7.4.5"
255 optionalDependencies: 258 optionalDependencies:
256 bufferutil "^4.0.1" 259 bufferutil "^4.0.3"
257 utf-8-validate "^5.0.2" 260 utf-8-validate "^5.0.5"
258 261
259blob-to-buffer@^1.2.6, blob-to-buffer@^1.2.9: 262blob-to-buffer@^1.2.9:
260 version "1.2.9" 263 version "1.2.9"
261 resolved "https://registry.yarnpkg.com/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz#a17fd6c1c564011408f8971e451544245daaa84a" 264 resolved "https://registry.yarnpkg.com/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz#a17fd6c1c564011408f8971e451544245daaa84a"
262 integrity sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA== 265 integrity sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==
@@ -268,7 +271,7 @@ block-stream2@^2.0.0, block-stream2@^2.1.0:
268 dependencies: 271 dependencies:
269 readable-stream "^3.4.0" 272 readable-stream "^3.4.0"
270 273
271bn.js@^5.1.1: 274bn.js@^5.2.0:
272 version "5.2.0" 275 version "5.2.0"
273 resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" 276 resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
274 integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== 277 integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
@@ -314,6 +317,13 @@ buffer-indexof@^1.0.0:
314 resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" 317 resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
315 integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== 318 integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
316 319
320buffer-xor@^2.0.2:
321 version "2.0.2"
322 resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289"
323 integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==
324 dependencies:
325 safe-buffer "^5.1.1"
326
317buffer@^6.0.3: 327buffer@^6.0.3:
318 version "6.0.3" 328 version "6.0.3"
319 resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 329 resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
@@ -322,7 +332,7 @@ buffer@^6.0.3:
322 base64-js "^1.3.1" 332 base64-js "^1.3.1"
323 ieee754 "^1.2.1" 333 ieee754 "^1.2.1"
324 334
325bufferutil@^4.0.1: 335bufferutil@^4.0.3:
326 version "4.0.3" 336 version "4.0.3"
327 resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" 337 resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b"
328 integrity sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw== 338 integrity sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==
@@ -364,7 +374,7 @@ chownr@^1.1.1:
364 resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 374 resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
365 integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 375 integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
366 376
367chrome-dgram@^3.0.2, chrome-dgram@^3.0.4, chrome-dgram@^3.0.6: 377chrome-dgram@^3.0.2, chrome-dgram@^3.0.6:
368 version "3.0.6" 378 version "3.0.6"
369 resolved "https://registry.yarnpkg.com/chrome-dgram/-/chrome-dgram-3.0.6.tgz#2288b5c7471f66f073691206d36319dda713cf55" 379 resolved "https://registry.yarnpkg.com/chrome-dgram/-/chrome-dgram-3.0.6.tgz#2288b5c7471f66f073691206d36319dda713cf55"
370 integrity sha512-bqBsUuaOiXiqxXt/zA/jukNJJ4oaOtc7ciwqJpZVEaaXwwxqgI2/ZdG02vXYWUhHGziDlvGMQWk0qObgJwVYKA== 380 integrity sha512-bqBsUuaOiXiqxXt/zA/jukNJJ4oaOtc7ciwqJpZVEaaXwwxqgI2/ZdG02vXYWUhHGziDlvGMQWk0qObgJwVYKA==
@@ -387,22 +397,22 @@ chrome-net@^3.3.2, chrome-net@^3.3.3, chrome-net@^3.3.4:
387 inherits "^2.0.1" 397 inherits "^2.0.1"
388 398
389chromecasts@^1.9.1: 399chromecasts@^1.9.1:
390 version "1.9.1" 400 version "1.10.0"
391 resolved "https://registry.yarnpkg.com/chromecasts/-/chromecasts-1.9.1.tgz#67b162e8414d57d6106c49fe4a0e9b08f20bbd12" 401 resolved "https://registry.yarnpkg.com/chromecasts/-/chromecasts-1.10.0.tgz#7016c9f31b99e40636b21a75976c9364e3fbabbb"
392 integrity sha512-nsXv7ufgrpC8s5DUm6FJEa2XJ2VvE9FmbTVi6r4zGreTFTTSRSJjvqVEqLUFX/fGo/zbSre3zdoV+Pu9DGLz0A== 402 integrity sha512-vrOiuHxqLb0bWRBlvyL18cHU8PcbZ7iJvwDB6aHdbtdIDVWuzWWZwDyAWHu54j4JNqyaAyYBJiJ6bbHInVcqBQ==
393 dependencies: 403 dependencies:
394 castv2-client "^1.1.0" 404 castv2-client "^1.1.0"
395 debug "^2.1.3" 405 debug "^2.1.3"
396 dns-txt "^2.0.2" 406 dns-txt "^2.0.2"
397 mime "^1.3.4" 407 mime "^1.3.4"
398 multicast-dns "^6.0.1" 408 multicast-dns "^7.2.2"
399 simple-get "^2.0.0" 409 simple-get "^2.0.0"
400 thunky "^0.1.0" 410 thunky "^0.1.0"
401 xml2js "^0.4.8" 411 xml2js "^0.4.8"
402 optionalDependencies: 412 optionalDependencies:
403 node-ssdp "^2.2.0" 413 node-ssdp "^2.2.0"
404 414
405chunk-store-stream@^4.2.0: 415chunk-store-stream@^4.3.0:
406 version "4.3.0" 416 version "4.3.0"
407 resolved "https://registry.yarnpkg.com/chunk-store-stream/-/chunk-store-stream-4.3.0.tgz#3de5f4dfe19729366c29bb7ed52d139f9af29f0e" 417 resolved "https://registry.yarnpkg.com/chunk-store-stream/-/chunk-store-stream-4.3.0.tgz#3de5f4dfe19729366c29bb7ed52d139f9af29f0e"
408 integrity sha512-qby+/RXoiMoTVtPiylWZt7KFF1jy6M829TzMi2hxZtBIH9ptV19wxcft6zGiXLokJgCbuZPGNGab6DWHqiSEKw== 418 integrity sha512-qby+/RXoiMoTVtPiylWZt7KFF1jy6M829TzMi2hxZtBIH9ptV19wxcft6zGiXLokJgCbuZPGNGab6DWHqiSEKw==
@@ -452,7 +462,7 @@ common-tags@^1.8.0:
452 resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" 462 resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
453 integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== 463 integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==
454 464
455compact2string@^1.2.0, compact2string@^1.4.1: 465compact2string@^1.4.1:
456 version "1.4.1" 466 version "1.4.1"
457 resolved "https://registry.yarnpkg.com/compact2string/-/compact2string-1.4.1.tgz#8d34929055f8300a13cfc030ad1832e2e53c2e25" 467 resolved "https://registry.yarnpkg.com/compact2string/-/compact2string-1.4.1.tgz#8d34929055f8300a13cfc030ad1832e2e53c2e25"
458 integrity sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og== 468 integrity sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og==
@@ -489,7 +499,7 @@ cpus@^1.0.3:
489 resolved "https://registry.yarnpkg.com/cpus/-/cpus-1.0.3.tgz#4ef6deea461968d6329d07dd01205685df2934a2" 499 resolved "https://registry.yarnpkg.com/cpus/-/cpus-1.0.3.tgz#4ef6deea461968d6329d07dd01205685df2934a2"
490 integrity sha512-PXHBvGLuL69u55IkLa5e5838fLhIMHxmkV4ge42a8alGyn7BtawYgI0hQ849EedvtHIOLNNH3i6eQU1BiE9SUA== 500 integrity sha512-PXHBvGLuL69u55IkLa5e5838fLhIMHxmkV4ge42a8alGyn7BtawYgI0hQ849EedvtHIOLNNH3i6eQU1BiE9SUA==
491 501
492create-torrent@^4.4.2, create-torrent@^4.4.4: 502create-torrent@^4.4.2, create-torrent@^4.7.0:
493 version "4.7.0" 503 version "4.7.0"
494 resolved "https://registry.yarnpkg.com/create-torrent/-/create-torrent-4.7.0.tgz#ba5d52d41e7621d0d61c895c8026d3fb22aa4333" 504 resolved "https://registry.yarnpkg.com/create-torrent/-/create-torrent-4.7.0.tgz#ba5d52d41e7621d0d61c895c8026d3fb22aa4333"
495 integrity sha512-Pb3XjZNKdCs0Nk46yFKb82y+a3xRQeMvGi1AlJfIV40y/iwkgBqzS5EfqdnakEOvh2jzTOx3v8QxZpkz4hPzyw== 505 integrity sha512-Pb3XjZNKdCs0Nk46yFKb82y+a3xRQeMvGi1AlJfIV40y/iwkgBqzS5EfqdnakEOvh2jzTOx3v8QxZpkz4hPzyw==
@@ -547,13 +557,6 @@ decompress-response@^3.3.0:
547 dependencies: 557 dependencies:
548 mimic-response "^1.0.0" 558 mimic-response "^1.0.0"
549 559
550decompress-response@^4.2.0:
551 version "4.2.1"
552 resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
553 integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
554 dependencies:
555 mimic-response "^2.0.0"
556
557decompress-response@^6.0.0: 560decompress-response@^6.0.0:
558 version "6.0.0" 561 version "6.0.0"
559 resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" 562 resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
@@ -566,15 +569,20 @@ deep-extend@^0.6.0:
566 resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 569 resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
567 integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 570 integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
568 571
572define-lazy-prop@^2.0.0:
573 version "2.0.0"
574 resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
575 integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
576
569delegates@^1.0.0: 577delegates@^1.0.0:
570 version "1.0.0" 578 version "1.0.0"
571 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 579 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
572 integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 580 integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
573 581
574detect-indent@^6.0.0: 582detect-indent@^6.0.0:
575 version "6.0.0" 583 version "6.1.0"
576 resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" 584 resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
577 integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== 585 integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
578 586
579detect-libc@^1.0.2: 587detect-libc@^1.0.2:
580 version "1.0.3" 588 version "1.0.3"
@@ -595,13 +603,12 @@ dlnacasts@^0.1.0:
595 upnp-mediarenderer-client "^1.2.2" 603 upnp-mediarenderer-client "^1.2.2"
596 xml2js "^0.4.8" 604 xml2js "^0.4.8"
597 605
598dns-packet@^1.3.1: 606dns-packet@^5.2.2:
599 version "1.3.1" 607 version "5.2.4"
600 resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" 608 resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.2.4.tgz#e004f409eadfa8ec861964dcb9eb395884fcf67d"
601 integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== 609 integrity sha512-vgu5Bx5IV8mXmh/9cn1lzn+J7okFlXe1vBRp+kCBJXg1nBED6Z/Q4e+QaDxQRSozMr14p/VQmdXwsf/I2wGjUA==
602 dependencies: 610 dependencies:
603 ip "^1.1.0" 611 ip "^1.1.5"
604 safe-buffer "^5.0.1"
605 612
606dns-txt@^2.0.2: 613dns-txt@^2.0.2:
607 version "2.0.2" 614 version "2.0.2"
@@ -708,7 +715,7 @@ freelist@^1.0.3:
708 resolved "https://registry.yarnpkg.com/freelist/-/freelist-1.0.3.tgz#006775509f3935701784d3ed2fc9f12c9df1bab2" 715 resolved "https://registry.yarnpkg.com/freelist/-/freelist-1.0.3.tgz#006775509f3935701784d3ed2fc9f12c9df1bab2"
709 integrity sha1-AGd1UJ85NXAXhNPtL8nxLJ3xurI= 716 integrity sha1-AGd1UJ85NXAXhNPtL8nxLJ3xurI=
710 717
711fs-chunk-store@^2.0.2: 718fs-chunk-store@^2.0.3:
712 version "2.0.3" 719 version "2.0.3"
713 resolved "https://registry.yarnpkg.com/fs-chunk-store/-/fs-chunk-store-2.0.3.tgz#21e51f1833a84a07cb5e911d058dae084030375a" 720 resolved "https://registry.yarnpkg.com/fs-chunk-store/-/fs-chunk-store-2.0.3.tgz#21e51f1833a84a07cb5e911d058dae084030375a"
714 integrity sha512-qQi93nHX3880gtoQPt1hKQcuYBNVfCbMk8OVRDqR0cJ0riheELW25ry9yl7pII8E9gOAONTGKBD5N/zGHFSVQg== 721 integrity sha512-qQi93nHX3880gtoQPt1hKQcuYBNVfCbMk8OVRDqR0cJ0riheELW25ry9yl7pII8E9gOAONTGKBD5N/zGHFSVQg==
@@ -751,11 +758,6 @@ get-browser-rtc@^1.1.0:
751 resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c" 758 resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c"
752 integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ== 759 integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ==
753 760
754get-stdin@^7.0.0:
755 version "7.0.0"
756 resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
757 integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
758
759get-stdin@^8.0.0: 761get-stdin@^8.0.0:
760 version "8.0.0" 762 version "8.0.0"
761 resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" 763 resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
@@ -767,9 +769,9 @@ get-stream@^3.0.0:
767 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 769 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
768 770
769glob@^7.1.3: 771glob@^7.1.3:
770 version "7.1.6" 772 version "7.1.7"
771 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 773 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
772 integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 774 integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
773 dependencies: 775 dependencies:
774 fs.realpath "^1.0.0" 776 fs.realpath "^1.0.0"
775 inflight "^1.0.4" 777 inflight "^1.0.4"
@@ -824,18 +826,18 @@ ieee754@^1.2.1:
824 integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 826 integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
825 827
826ignore-walk@^3.0.1: 828ignore-walk@^3.0.1:
827 version "3.0.3" 829 version "3.0.4"
828 resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" 830 resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
829 integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== 831 integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
830 dependencies: 832 dependencies:
831 minimatch "^3.0.4" 833 minimatch "^3.0.4"
832 834
833immediate-chunk-store@^2.1.1: 835immediate-chunk-store@^2.2.0:
834 version "2.1.1" 836 version "2.2.0"
835 resolved "https://registry.yarnpkg.com/immediate-chunk-store/-/immediate-chunk-store-2.1.1.tgz#4b9f001beaab38d62e4aae630ec7ffb98be805ce" 837 resolved "https://registry.yarnpkg.com/immediate-chunk-store/-/immediate-chunk-store-2.2.0.tgz#f56d30ecc7171f6cfcf632b0eb8395a89f92c03c"
836 integrity sha512-y5AxkxqpPTj2dkaAEkDnrMuSX4JNicXHD6yTpLfFnflVejL6yJpzf27obrnlf2PSSQiWUf3735Y9tJEjxvqnoA== 838 integrity sha512-1bHBna0hCa6arRXicu91IiL9RvvkbNYLVq+mzWdaLGZC3hXvX4doh8e1dLhMKez5siu63CYgO5NrGJbRX5lbPA==
837 dependencies: 839 dependencies:
838 queue-microtask "^1.2.0" 840 queue-microtask "^1.2.3"
839 841
840imurmurhash@^0.1.4: 842imurmurhash@^0.1.4:
841 version "0.1.4" 843 version "0.1.4"
@@ -867,15 +869,15 @@ ip-set@^2.1.0:
867 dependencies: 869 dependencies:
868 ip "^1.1.5" 870 ip "^1.1.5"
869 871
870ip@^1.0.1, ip@^1.1.0, ip@^1.1.5: 872ip@^1.0.1, ip@^1.1.5:
871 version "1.1.5" 873 version "1.1.5"
872 resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" 874 resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
873 integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= 875 integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
874 876
875"ipaddr.js@>= 0.1.5": 877"ipaddr.js@>= 0.1.5":
876 version "2.0.0" 878 version "2.0.1"
877 resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.0.tgz#77ccccc8063ae71ab65c55f21b090698e763fc6e" 879 resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0"
878 integrity sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w== 880 integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
879 881
880ipaddr.js@^1.0.1: 882ipaddr.js@^1.0.1:
881 version "1.9.1" 883 version "1.9.1"
@@ -892,7 +894,7 @@ is-ascii@^1.0.0:
892 resolved "https://registry.yarnpkg.com/is-ascii/-/is-ascii-1.0.0.tgz#f02ad0259a0921cd199ff21ce1b09e0f6b4e3929" 894 resolved "https://registry.yarnpkg.com/is-ascii/-/is-ascii-1.0.0.tgz#f02ad0259a0921cd199ff21ce1b09e0f6b4e3929"
893 integrity sha1-8CrQJZoJIc0Zn/Ic4bCeD2tOOSk= 895 integrity sha1-8CrQJZoJIc0Zn/Ic4bCeD2tOOSk=
894 896
895is-docker@^2.0.0: 897is-docker@^2.0.0, is-docker@^2.1.1:
896 version "2.2.1" 898 version "2.2.1"
897 resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" 899 resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
898 integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== 900 integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
@@ -934,7 +936,7 @@ is-typedarray@^1.0.0:
934 resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 936 resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
935 integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 937 integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
936 938
937is-wsl@^2.1.1: 939is-wsl@^2.2.0:
938 version "2.2.0" 940 version "2.2.0"
939 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 941 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
940 integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 942 integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
@@ -1002,7 +1004,7 @@ lines-and-columns@^1.1.6:
1002 resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 1004 resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
1003 integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1005 integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
1004 1006
1005load-ip-set@^2.1.2: 1007load-ip-set@^2.2.1:
1006 version "2.2.1" 1008 version "2.2.1"
1007 resolved "https://registry.yarnpkg.com/load-ip-set/-/load-ip-set-2.2.1.tgz#9496ab8aa14ebf81aeb7c8bb38e7abdf50af3563" 1009 resolved "https://registry.yarnpkg.com/load-ip-set/-/load-ip-set-2.2.1.tgz#9496ab8aa14ebf81aeb7c8bb38e7abdf50af3563"
1008 integrity sha512-G3hQXehU2LTOp52e+lPffpK4EvidfjwbvHaGqmFcp4ptiZagR4xFdL+D08kMX906dxeqZyWhfonEjdUxrWcldg== 1010 integrity sha512-G3hQXehU2LTOp52e+lPffpK4EvidfjwbvHaGqmFcp4ptiZagR4xFdL+D08kMX906dxeqZyWhfonEjdUxrWcldg==
@@ -1035,20 +1037,20 @@ lru@^3.1.0:
1035 dependencies: 1037 dependencies:
1036 inherits "^2.0.1" 1038 inherits "^2.0.1"
1037 1039
1038magnet-uri@^5.1.3: 1040lt_donthave@^1.0.1:
1039 version "5.4.0" 1041 version "1.0.1"
1040 resolved "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-5.4.0.tgz#5c64d3b8853eafb2f31840df09fbfc90c00f0e1d" 1042 resolved "https://registry.yarnpkg.com/lt_donthave/-/lt_donthave-1.0.1.tgz#a160e08bdf15b9e092172063688855a6c031d8b3"
1041 integrity sha512-ZpqciThlbvE6KkyT5oxAup/6CwjePw1hdtR8NU5+vq2hn9Sp5b7w3bRiJRvo9fMHUj2dWSuVCdkqt9p4ed1V9Q== 1043 integrity sha512-PfOXfDN9GnUjlNHjjxKQuMxPC8s12iSrnmg+Ff1BU1uLn7S1BFAKzpZCu6Gwg3WsCUvTZrZoDSHvy6B/j+N4/Q==
1042 dependencies: 1044 dependencies:
1043 bep53-range "^1.0.0" 1045 debug "^4.2.0"
1044 thirty-two "^1.0.2" 1046 unordered-array-remove "^1.0.2"
1045 1047
1046magnet-uri@^6.0.0: 1048magnet-uri@^6.0.0:
1047 version "6.1.0" 1049 version "6.2.0"
1048 resolved "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-6.1.0.tgz#fe73026ba1ee77c955097a4979d1003f4fb7ecf7" 1050 resolved "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-6.2.0.tgz#10f7be050bf23452df210838239b118463c3eeff"
1049 integrity sha512-731qLviHaqN/Ni96wm6gNKuvoip+QHWTznjHNz/4qDlsHh3/CWJoL8fZ18IIRhGJgnWoKJp8RVE5lZvQ60Khhw== 1051 integrity sha512-O9AgdDwT771fnUj0giPYu/rACpz8173y8UXCSOdLITjOVfBenZ9H9q3FqQmveK+ORUMuD+BkKNSZP8C3+IMAKQ==
1050 dependencies: 1052 dependencies:
1051 bep53-range "^1.0.0" 1053 bep53-range "^1.1.0"
1052 thirty-two "^1.0.2" 1054 thirty-two "^1.0.2"
1053 1055
1054make-dir@^3.0.0: 1056make-dir@^3.0.0:
@@ -1084,19 +1086,19 @@ mediasource@^2.2.2, mediasource@^2.4.0:
1084 readable-stream "^3.6.0" 1086 readable-stream "^3.6.0"
1085 to-arraybuffer "^1.0.1" 1087 to-arraybuffer "^1.0.1"
1086 1088
1087memory-chunk-store@^1.3.1: 1089memory-chunk-store@^1.3.5:
1088 version "1.3.2" 1090 version "1.3.5"
1089 resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.2.tgz#3bde573c957c0260d8116e6e2c0ce62ff2032894" 1091 resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.5.tgz#700f712415895600bc5466007333efa19f1de07c"
1090 integrity sha512-EBcbwpdQlzT5aNV0FTT+RAfh1cGEssjiCcRGcTk57mKsnZlRMOtH4Cfk/AqQnkz8xP2dUF+/lgpmErSGwwE1FA== 1092 integrity sha512-E1Xc1U4ifk/FkC2ZsWhCaW1xg9HbE/OBmQTLe2Tr9c27YPSLbW7kw1cnb3kQWD1rDtErFJHa7mB9EVrs7aTx9g==
1091 dependencies: 1093 dependencies:
1092 queue-microtask "^1.2.2" 1094 queue-microtask "^1.2.3"
1093 1095
1094mime@^1.3.4: 1096mime@^1.3.4:
1095 version "1.6.0" 1097 version "1.6.0"
1096 resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1098 resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
1097 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1099 integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
1098 1100
1099mime@^2.4.1, mime@^2.4.6, mime@^2.5.0: 1101mime@^2.4.1, mime@^2.4.6, mime@^2.5.2:
1100 version "2.5.2" 1102 version "2.5.2"
1101 resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" 1103 resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
1102 integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== 1104 integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
@@ -1106,11 +1108,6 @@ mimic-response@^1.0.0:
1106 resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 1108 resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
1107 integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 1109 integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
1108 1110
1109mimic-response@^2.0.0:
1110 version "2.1.0"
1111 resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
1112 integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
1113
1114mimic-response@^3.1.0: 1111mimic-response@^3.1.0:
1115 version "3.1.0" 1112 version "3.1.0"
1116 resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" 1113 resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
@@ -1192,12 +1189,12 @@ ms@^2.1.1:
1192 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1189 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1193 integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1190 integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1194 1191
1195multicast-dns@^6.0.1: 1192multicast-dns@^7.2.2:
1196 version "6.2.3" 1193 version "7.2.3"
1197 resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" 1194 resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.3.tgz#cbd07571dda41807b36f71067681f19e85ccc2cd"
1198 integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== 1195 integrity sha512-TzxgGSLRLB7tqAlzjgd2x2ZE0cDsGFq4rs9W4yE5xp+7hlRXeUQGtXZsTGfGw2FwWB45rfe8DtXMYBpZGMLUng==
1199 dependencies: 1196 dependencies:
1200 dns-packet "^1.3.1" 1197 dns-packet "^5.2.2"
1201 thunky "^1.0.2" 1198 thunky "^1.0.2"
1202 1199
1203multistream@^4.0.1, multistream@^4.1.0: 1200multistream@^4.0.1, multistream@^4.1.0:
@@ -1295,9 +1292,9 @@ nopt@^4.0.1:
1295 osenv "^0.1.4" 1292 osenv "^0.1.4"
1296 1293
1297npm-bundled@^1.0.1: 1294npm-bundled@^1.0.1:
1298 version "1.1.1" 1295 version "1.1.2"
1299 resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" 1296 resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
1300 integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== 1297 integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
1301 dependencies: 1298 dependencies:
1302 npm-normalize-package-bin "^1.0.1" 1299 npm-normalize-package-bin "^1.0.1"
1303 1300
@@ -1356,13 +1353,14 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
1356 dependencies: 1353 dependencies:
1357 wrappy "1" 1354 wrappy "1"
1358 1355
1359open@^7.1.0: 1356open@^8.0.0:
1360 version "7.4.2" 1357 version "8.2.0"
1361 resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" 1358 resolved "https://registry.yarnpkg.com/open/-/open-8.2.0.tgz#d6a4788b00009a9d60df471ecb89842a15fdcfc1"
1362 integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== 1359 integrity sha512-O8uInONB4asyY3qUcEytpgwxQG3O0fJ/hlssoUHsBboOIRVZzT6Wq+Rwj5nffbeUhOdMjpXeISpDDzHCMRDuOQ==
1363 dependencies: 1360 dependencies:
1364 is-docker "^2.0.0" 1361 define-lazy-prop "^2.0.0"
1365 is-wsl "^2.1.1" 1362 is-docker "^2.1.1"
1363 is-wsl "^2.2.0"
1366 1364
1367os-homedir@^1.0.0: 1365os-homedir@^1.0.0:
1368 version "1.0.2" 1366 version "1.0.2"
@@ -1404,19 +1402,7 @@ parse-json@^5.0.0:
1404 json-parse-even-better-errors "^2.3.0" 1402 json-parse-even-better-errors "^2.3.0"
1405 lines-and-columns "^1.1.6" 1403 lines-and-columns "^1.1.6"
1406 1404
1407parse-torrent@^7.1.3: 1405parse-torrent@^9.0.0, parse-torrent@^9.1.3:
1408 version "7.1.3"
1409 resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-7.1.3.tgz#5981a0d9381b16297a7af053763068e8da5c9610"
1410 integrity sha512-to8zT7+o6bVTyP35r2QgG1svuFGMFO1mE6ri1oWHgL9tlgnOtfjmfHmA3mOuP9HTIU/8OiZw0NG5zbyqVLxhvA==
1411 dependencies:
1412 bencode "^2.0.0"
1413 blob-to-buffer "^1.2.6"
1414 get-stdin "^7.0.0"
1415 magnet-uri "^5.1.3"
1416 simple-get "^3.0.1"
1417 simple-sha1 "^3.0.0"
1418
1419parse-torrent@^9.1.1:
1420 version "9.1.3" 1406 version "9.1.3"
1421 resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-9.1.3.tgz#9b4bc8dca243b356bf449938d6d38a259a2a707c" 1407 resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-9.1.3.tgz#9b4bc8dca243b356bf449938d6d38a259a2a707c"
1422 integrity sha512-/Yr951CvJM8S6TjMaqrsmMxeQEAjDeCX+MZ3hGXXc7DG2wqzp/rzOsHtDzIVqN6NsFRCqy6wYLF/W7Sgvq7bXw== 1408 integrity sha512-/Yr951CvJM8S6TjMaqrsmMxeQEAjDeCX+MZ3hGXXc7DG2wqzp/rzOsHtDzIVqN6NsFRCqy6wYLF/W7Sgvq7bXw==
@@ -1468,9 +1454,9 @@ process-nextick-args@~2.0.0:
1468 integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1454 integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
1469 1455
1470protobufjs@^6.8.8: 1456protobufjs@^6.8.8:
1471 version "6.10.2" 1457 version "6.11.2"
1472 resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.2.tgz#b9cb6bd8ec8f87514592ba3fdfd28e93f33a469b" 1458 resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b"
1473 integrity sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ== 1459 integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==
1474 dependencies: 1460 dependencies:
1475 "@protobufjs/aspromise" "^1.1.2" 1461 "@protobufjs/aspromise" "^1.1.2"
1476 "@protobufjs/base64" "^1.1.2" 1462 "@protobufjs/base64" "^1.1.2"
@@ -1483,7 +1469,7 @@ protobufjs@^6.8.8:
1483 "@protobufjs/pool" "^1.1.0" 1469 "@protobufjs/pool" "^1.1.0"
1484 "@protobufjs/utf8" "^1.1.0" 1470 "@protobufjs/utf8" "^1.1.0"
1485 "@types/long" "^4.0.1" 1471 "@types/long" "^4.0.1"
1486 "@types/node" "^13.7.0" 1472 "@types/node" ">=13.7.0"
1487 long "^4.0.0" 1473 long "^4.0.0"
1488 1474
1489pump@^3.0.0: 1475pump@^3.0.0:
@@ -1499,7 +1485,7 @@ qap@^3.1.2:
1499 resolved "https://registry.yarnpkg.com/qap/-/qap-3.3.1.tgz#11f9e8fa8890fe7cb99210c0f44d0613b7372cac" 1485 resolved "https://registry.yarnpkg.com/qap/-/qap-3.3.1.tgz#11f9e8fa8890fe7cb99210c0f44d0613b7372cac"
1500 integrity sha1-Efno+oiQ/ny5khDA9E0GE7c3LKw= 1486 integrity sha1-Efno+oiQ/ny5khDA9E0GE7c3LKw=
1501 1487
1502queue-microtask@^1.2.0, queue-microtask@^1.2.2, queue-microtask@^1.2.3: 1488queue-microtask@^1.2.2, queue-microtask@^1.2.3:
1503 version "1.2.3" 1489 version "1.2.3"
1504 resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1490 resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1505 integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1491 integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
@@ -1543,6 +1529,11 @@ range-slice-stream@^2.0.0:
1543 dependencies: 1529 dependencies:
1544 readable-stream "^3.0.2" 1530 readable-stream "^3.0.2"
1545 1531
1532rc4@^0.1.5:
1533 version "0.1.5"
1534 resolved "https://registry.yarnpkg.com/rc4/-/rc4-0.1.5.tgz#08c6e04a0168f6eb621c22ab6cb1151bd9f4a64d"
1535 integrity sha1-CMbgSgFo9utiHCKrbLEVG9n0pk0=
1536
1546rc@^1.2.7: 1537rc@^1.2.7:
1547 version "1.2.8" 1538 version "1.2.8"
1548 resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 1539 resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -1576,9 +1567,9 @@ readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.4.0, readable
1576 util-deprecate "^1.0.1" 1567 util-deprecate "^1.0.1"
1577 1568
1578record-cache@^1.0.2: 1569record-cache@^1.0.2:
1579 version "1.1.0" 1570 version "1.1.1"
1580 resolved "https://registry.yarnpkg.com/record-cache/-/record-cache-1.1.0.tgz#f8a467a691a469584b26e88d36b18afdb3932037" 1571 resolved "https://registry.yarnpkg.com/record-cache/-/record-cache-1.1.1.tgz#ba3088a489f50491a4af7b14d410822c394fb811"
1581 integrity sha512-u8rbtLEJV7HRacl/ZYwSBFD8NFyB3PfTTfGLP37IW3hftQCwu6z4Q2RLyxo1YJUNRTEzJfpLpGwVuEYdaIkG9Q== 1572 integrity sha512-L5hZlgWc7CmGbztnemQoKE1bLu9rtI2skOB0ttE4C5+TVszLE8Rd0YLTROSgvXKLAqPumS/soyN5tJW5wJLmJQ==
1582 1573
1583render-media@^4.1.0: 1574render-media@^4.1.0:
1584 version "4.1.0" 1575 version "4.1.0"
@@ -1605,31 +1596,31 @@ rimraf@^3.0.0:
1605 dependencies: 1596 dependencies:
1606 glob "^7.1.3" 1597 glob "^7.1.3"
1607 1598
1608run-parallel-limit@^1.0.6: 1599run-parallel-limit@^1.1.0:
1609 version "1.1.0" 1600 version "1.1.0"
1610 resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba" 1601 resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba"
1611 integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== 1602 integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==
1612 dependencies: 1603 dependencies:
1613 queue-microtask "^1.2.2" 1604 queue-microtask "^1.2.2"
1614 1605
1615run-parallel@^1.1.10, run-parallel@^1.1.2, run-parallel@^1.1.6, run-parallel@^1.1.9: 1606run-parallel@^1.1.10, run-parallel@^1.1.2, run-parallel@^1.1.6, run-parallel@^1.2.0:
1616 version "1.2.0" 1607 version "1.2.0"
1617 resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1608 resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1618 integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1609 integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1619 dependencies: 1610 dependencies:
1620 queue-microtask "^1.2.2" 1611 queue-microtask "^1.2.2"
1621 1612
1622run-series@^1.1.8, run-series@^1.1.9: 1613run-series@^1.1.9:
1623 version "1.1.9" 1614 version "1.1.9"
1624 resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.9.tgz#15ba9cb90e6a6c054e67c98e1dc063df0ecc113a" 1615 resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.9.tgz#15ba9cb90e6a6c054e67c98e1dc063df0ecc113a"
1625 integrity sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g== 1616 integrity sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==
1626 1617
1627rusha@^0.8.13: 1618rusha@^0.8.13:
1628 version "0.8.13" 1619 version "0.8.14"
1629 resolved "https://registry.yarnpkg.com/rusha/-/rusha-0.8.13.tgz#9a084e7b860b17bff3015b92c67a6a336191513a" 1620 resolved "https://registry.yarnpkg.com/rusha/-/rusha-0.8.14.tgz#a977d0de9428406138b7bb90d3de5dcd024e2f68"
1630 integrity sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo= 1621 integrity sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==
1631 1622
1632safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: 1623safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
1633 version "5.2.1" 1624 version "5.2.1"
1634 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1625 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1635 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1626 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -1705,15 +1696,6 @@ simple-get@^2.0.0, simple-get@^2.1.0:
1705 once "^1.3.1" 1696 once "^1.3.1"
1706 simple-concat "^1.0.0" 1697 simple-concat "^1.0.0"
1707 1698
1708simple-get@^3.0.1:
1709 version "3.1.0"
1710 resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
1711 integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
1712 dependencies:
1713 decompress-response "^4.2.0"
1714 once "^1.3.1"
1715 simple-concat "^1.0.0"
1716
1717simple-get@^4.0.0: 1699simple-get@^4.0.0:
1718 version "4.0.0" 1700 version "4.0.0"
1719 resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.0.tgz#73fa628278d21de83dadd5512d2cc1f4872bd675" 1701 resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.0.tgz#73fa628278d21de83dadd5512d2cc1f4872bd675"
@@ -1723,7 +1705,7 @@ simple-get@^4.0.0:
1723 once "^1.3.1" 1705 once "^1.3.1"
1724 simple-concat "^1.0.0" 1706 simple-concat "^1.0.0"
1725 1707
1726simple-peer@^9.7.1, simple-peer@^9.9.3: 1708simple-peer@^9.11.0:
1727 version "9.11.0" 1709 version "9.11.0"
1728 resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.11.0.tgz#e8d27609c7a610c3ddd75767da868e8daab67571" 1710 resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.11.0.tgz#e8d27609c7a610c3ddd75767da868e8daab67571"
1729 integrity sha512-qvdNu/dGMHBm2uQ7oLhQBMhYlrOZC1ywXNCH/i8I4etxR1vrjCnU6ZSQBptndB1gcakjo2+w4OHo7Sjza1SHxg== 1711 integrity sha512-qvdNu/dGMHBm2uQ7oLhQBMhYlrOZC1ywXNCH/i8I4etxR1vrjCnU6ZSQBptndB1gcakjo2+w4OHo7Sjza1SHxg==
@@ -1736,7 +1718,7 @@ simple-peer@^9.7.1, simple-peer@^9.9.3:
1736 randombytes "^2.1.0" 1718 randombytes "^2.1.0"
1737 readable-stream "^3.6.0" 1719 readable-stream "^3.6.0"
1738 1720
1739simple-sha1@^3.0.0, simple-sha1@^3.0.1: 1721simple-sha1@^3.0.0, simple-sha1@^3.0.1, simple-sha1@^3.1.0:
1740 version "3.1.0" 1722 version "3.1.0"
1741 resolved "https://registry.yarnpkg.com/simple-sha1/-/simple-sha1-3.1.0.tgz#40cac8436dfaf9924332fc46a5c7bca45f656131" 1723 resolved "https://registry.yarnpkg.com/simple-sha1/-/simple-sha1-3.1.0.tgz#40cac8436dfaf9924332fc46a5c7bca45f656131"
1742 integrity sha512-ArTptMRC1v08H8ihPD6l0wesKvMfF9e8XL5rIHPanI7kGOsSsbY514MwVu6X1PITHCTB2F08zB7cyEbfc4wQjg== 1724 integrity sha512-ArTptMRC1v08H8ihPD6l0wesKvMfF9e8XL5rIHPanI7kGOsSsbY514MwVu6X1PITHCTB2F08zB7cyEbfc4wQjg==
@@ -1744,7 +1726,7 @@ simple-sha1@^3.0.0, simple-sha1@^3.0.1:
1744 queue-microtask "^1.2.2" 1726 queue-microtask "^1.2.2"
1745 rusha "^0.8.13" 1727 rusha "^0.8.13"
1746 1728
1747simple-websocket@^9.0.0: 1729simple-websocket@^9.1.0:
1748 version "9.1.0" 1730 version "9.1.0"
1749 resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-9.1.0.tgz#91cbb39eafefbe7e66979da6c639109352786a7f" 1731 resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-9.1.0.tgz#91cbb39eafefbe7e66979da6c639109352786a7f"
1750 integrity sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ== 1732 integrity sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==
@@ -1819,7 +1801,7 @@ string-width@^4.2.0:
1819 is-fullwidth-code-point "^3.0.0" 1801 is-fullwidth-code-point "^3.0.0"
1820 strip-ansi "^6.0.0" 1802 strip-ansi "^6.0.0"
1821 1803
1822string2compact@^1.2.5, string2compact@^1.3.0: 1804string2compact@^1.3.0:
1823 version "1.3.0" 1805 version "1.3.0"
1824 resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.3.0.tgz#22d946127b082d1203c51316af60117a337423c3" 1806 resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.3.0.tgz#22d946127b082d1203c51316af60117a337423c3"
1825 integrity sha512-004ulKKANDuQilQsNxy2lisrpMG0qUJxBU+2YCEF7KziRyNR0Nredm2qk0f1V82nva59H3y9GWeHXE63HzGRFw== 1807 integrity sha512-004ulKKANDuQilQsNxy2lisrpMG0qUJxBU+2YCEF7KziRyNR0Nredm2qk0f1V82nva59H3y9GWeHXE63HzGRFw==
@@ -1938,7 +1920,7 @@ torrent-discovery@^9.4.0:
1938 debug "^4.0.0" 1920 debug "^4.0.0"
1939 run-parallel "^1.1.2" 1921 run-parallel "^1.1.2"
1940 1922
1941torrent-piece@^2.0.0: 1923torrent-piece@^2.0.1:
1942 version "2.0.1" 1924 version "2.0.1"
1943 resolved "https://registry.yarnpkg.com/torrent-piece/-/torrent-piece-2.0.1.tgz#a1a50fffa589d9bf9560e38837230708bc3afdc6" 1925 resolved "https://registry.yarnpkg.com/torrent-piece/-/torrent-piece-2.0.1.tgz#a1a50fffa589d9bf9560e38837230708bc3afdc6"
1944 integrity sha512-JLSOyvQVLI6JTWqioY4vFL0JkEUKQcaHQsU3loxkCvPTSttw8ePs2tFwsP4XIjw99Fz8EdOzt/4faykcbnPbCQ== 1926 integrity sha512-JLSOyvQVLI6JTWqioY4vFL0JkEUKQcaHQsU3loxkCvPTSttw8ePs2tFwsP4XIjw99Fz8EdOzt/4faykcbnPbCQ==
@@ -2011,19 +1993,19 @@ ut_metadata@^3.5.2:
2011 debug "^4.2.0" 1993 debug "^4.2.0"
2012 simple-sha1 "^3.0.1" 1994 simple-sha1 "^3.0.1"
2013 1995
2014ut_pex@^2.0.1: 1996ut_pex@^3.0.0:
2015 version "2.0.1" 1997 version "3.0.1"
2016 resolved "https://registry.yarnpkg.com/ut_pex/-/ut_pex-2.0.1.tgz#30d3cc19ee32f9513b06ed2b03851ba508566da1" 1998 resolved "https://registry.yarnpkg.com/ut_pex/-/ut_pex-3.0.1.tgz#fb8b6e066f8f6f6de3e6b3e28e7d18e697be5854"
2017 integrity sha512-kI1/y1IhbuTqjyVqekSZCd3afPQTpdIRCrON1WXc9jGdcIAaze3FAoZ1ssYJmGBuJbdg7LQO42daJGCaoRXl+A== 1999 integrity sha512-t1MHIDHSISgOJcmq8UM6Qv9/hRQYVaUvzqSNnXa5ATDbS9hXfhBpyBo2HcSyJtwPSHsmMtNui8G6yKirwJ8vow==
2018 dependencies: 2000 dependencies:
2019 bencode "^2.0.0" 2001 bencode "^2.0.1"
2020 compact2string "^1.2.0" 2002 compact2string "^1.4.1"
2021 string2compact "^1.2.5" 2003 string2compact "^1.3.0"
2022 2004
2023utf-8-validate@^5.0.2: 2005utf-8-validate@^5.0.5:
2024 version "5.0.4" 2006 version "5.0.5"
2025 resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.4.tgz#72a1735983ddf7a05a43a9c6b67c5ce1c910f9b8" 2007 resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1"
2026 integrity sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q== 2008 integrity sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==
2027 dependencies: 2009 dependencies:
2028 node-gyp-build "^4.2.0" 2010 node-gyp-build "^4.2.0"
2029 2011
@@ -2032,10 +2014,10 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
2032 resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2014 resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
2033 integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2015 integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
2034 2016
2035utp-native@^2.3.0: 2017utp-native@^2.4.0:
2036 version "2.4.0" 2018 version "2.5.0"
2037 resolved "https://registry.yarnpkg.com/utp-native/-/utp-native-2.4.0.tgz#7010de2134e9d767be0ec34e817c3300592befc0" 2019 resolved "https://registry.yarnpkg.com/utp-native/-/utp-native-2.5.0.tgz#3d8321760108b30cb15391196c8cc93db85b61ce"
2038 integrity sha512-jKwpFiEaDUuNH5S4vVk/+waAX+yA6f3Lw4flqOROH1ZE/jcT4mh0/hjIGSuPP9j9RbQcsBG6Fu6LaFk4ojXFxw== 2020 integrity sha512-HoHPE6gwLxC0xlpYJUl+Xw2sh809lhXx3TexHsb2/xY8vEd6NwuvAxOI/X27dBTc/TOT5diWUpCJWDaunkcVvA==
2039 dependencies: 2021 dependencies:
2040 napi-macros "^2.0.0" 2022 napi-macros "^2.0.0"
2041 node-gyp-build "^4.2.0" 2023 node-gyp-build "^4.2.0"
@@ -2069,9 +2051,9 @@ webidl-conversions@^4.0.2:
2069 integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 2051 integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
2070 2052
2071webtorrent-cli@^3.2.0: 2053webtorrent-cli@^3.2.0:
2072 version "3.2.1" 2054 version "3.3.0"
2073 resolved "https://registry.yarnpkg.com/webtorrent-cli/-/webtorrent-cli-3.2.1.tgz#a39e49fe7d8a4e3c00fe34d22f113f1e021c9bec" 2055 resolved "https://registry.yarnpkg.com/webtorrent-cli/-/webtorrent-cli-3.3.0.tgz#465e9fb82373c6b279904b5876d4745cb8ac6b43"
2074 integrity sha512-DHUtDymD5ZGv/h35FY4n9YdlHoNOy07X7ibexi+19AL/+MFdGuIIQEEnJQT/wA05mrzR6ubeJmcLXXqZISwLFQ== 2056 integrity sha512-E0gb1fXb8xNScgewQmvAmNLrnEto6MOaKlfzITVzR+bbU80LeV/YdrLw536ffcwiUv0arKQyfR/WIweBFrKWbg==
2075 dependencies: 2057 dependencies:
2076 clivas "^0.2.0" 2058 clivas "^0.2.0"
2077 common-tags "^1.8.0" 2059 common-tags "^1.8.0"
@@ -2083,11 +2065,11 @@ webtorrent-cli@^3.2.0:
2083 minimist "^1.2.5" 2065 minimist "^1.2.5"
2084 moment "^2.27.0" 2066 moment "^2.27.0"
2085 network-address "^1.1.2" 2067 network-address "^1.1.2"
2086 open "^7.1.0" 2068 open "^8.0.0"
2087 parse-torrent "^7.1.3" 2069 parse-torrent "^9.0.0"
2088 prettier-bytes "^1.0.4" 2070 prettier-bytes "^1.0.4"
2089 vlc-command "^1.2.0" 2071 vlc-command "^1.2.0"
2090 webtorrent ">=0.108.6" 2072 webtorrent "^1.0.0"
2091 winreg "^1.2.4" 2073 winreg "^1.2.4"
2092 optionalDependencies: 2074 optionalDependencies:
2093 airplay-js "^0.3.0" 2075 airplay-js "^0.3.0"
@@ -2095,63 +2077,64 @@ webtorrent-cli@^3.2.0:
2095 nodebmc "0.0.7" 2077 nodebmc "0.0.7"
2096 2078
2097webtorrent-hybrid@^4.0.3: 2079webtorrent-hybrid@^4.0.3:
2098 version "4.0.3" 2080 version "4.1.0"
2099 resolved "https://registry.yarnpkg.com/webtorrent-hybrid/-/webtorrent-hybrid-4.0.3.tgz#d47d47824e3f8c7a5a5a70cc1b5398059c7fbcc0" 2081 resolved "https://registry.yarnpkg.com/webtorrent-hybrid/-/webtorrent-hybrid-4.1.0.tgz#86e397a8f051de225c60ce751f47d28a906cbfdc"
2100 integrity sha512-D8/Fmxt/xWUwrA/qJ5SrLDucOYE9B4AhWzuLgfP1y6ZlHI+Sl0PXnqblO1yT97odW0mPO12Qy+7fQM6vxXJMqA== 2082 integrity sha512-IqRWVI+gXHjv/ybj3YK6Q4gJM1OaIgy3Nw3ec0iPS7TeBrG6R3yhfHupF39DIwyKFERZDnYoxVnxHOt8TAaucw==
2101 dependencies: 2083 dependencies:
2102 create-torrent "^4.4.2" 2084 create-torrent "^4.4.2"
2103 webtorrent ">=0.111.0" 2085 webtorrent "^1.0.0"
2104 webtorrent-cli "^3.2.0" 2086 webtorrent-cli "^3.2.0"
2105 wrtc "^0.4.6" 2087 wrtc "^0.4.6"
2106 2088
2107webtorrent@>=0.108.6, webtorrent@>=0.111.0: 2089webtorrent@^1.0.0:
2108 version "0.116.2" 2090 version "1.0.0"
2109 resolved "https://registry.yarnpkg.com/webtorrent/-/webtorrent-0.116.2.tgz#5f7a851443947cf72ea09c4bca68371ea442a952" 2091 resolved "https://registry.yarnpkg.com/webtorrent/-/webtorrent-1.0.0.tgz#1d8fd388726ca013feb17d2437b1b9df2d24b5e8"
2110 integrity sha512-u6ctyPEwUvbFKZsT9HRU1Q+SSqKWoNMlXWbaPTUlGsPrNZ3mCCeHtn8Hcf61jr1e4hna5oQBtVjg2N5/2V8d9g== 2092 integrity sha512-htwcY5OBOWL/OMwaw3xi1Mp2gE9k5UmGTKeO3n1ixQDH9QgeqqRlBJz2ZLEyOL8yN1FdS/D9z+ijm06bZ3oW5w==
2111 dependencies: 2093 dependencies:
2112 addr-to-ip-port "^1.5.1" 2094 addr-to-ip-port "^1.5.1"
2113 bitfield "^4.0.0" 2095 bitfield "^4.0.0"
2114 bittorrent-dht "^10.0.0" 2096 bittorrent-dht "^10.0.0"
2115 bittorrent-protocol "^3.2.0" 2097 bittorrent-protocol "^3.3.1"
2116 chrome-net "^3.3.4" 2098 chrome-net "^3.3.4"
2117 chunk-store-stream "^4.2.0" 2099 chunk-store-stream "^4.3.0"
2118 cpus "^1.0.3" 2100 cpus "^1.0.3"
2119 create-torrent "^4.4.4" 2101 create-torrent "^4.7.0"
2120 debug "^4.3.1" 2102 debug "^4.3.1"
2121 end-of-stream "^1.4.4" 2103 end-of-stream "^1.4.4"
2122 escape-html "^1.0.3" 2104 escape-html "^1.0.3"
2123 fs-chunk-store "^2.0.2" 2105 fs-chunk-store "^2.0.3"
2124 http-node "github:feross/http-node#webtorrent" 2106 http-node "github:feross/http-node#webtorrent"
2125 immediate-chunk-store "^2.1.1" 2107 immediate-chunk-store "^2.2.0"
2126 load-ip-set "^2.1.2" 2108 load-ip-set "^2.2.1"
2127 memory-chunk-store "^1.3.1" 2109 lt_donthave "^1.0.1"
2128 mime "^2.5.0" 2110 memory-chunk-store "^1.3.5"
2111 mime "^2.5.2"
2129 multistream "^4.1.0" 2112 multistream "^4.1.0"
2130 package-json-versionify "^1.0.4" 2113 package-json-versionify "^1.0.4"
2131 parse-torrent "^9.1.1" 2114 parse-torrent "^9.1.3"
2132 pump "^3.0.0" 2115 pump "^3.0.0"
2133 queue-microtask "^1.2.2" 2116 queue-microtask "^1.2.3"
2134 random-iterate "^1.0.1" 2117 random-iterate "^1.0.1"
2135 randombytes "^2.1.0" 2118 randombytes "^2.1.0"
2136 range-parser "^1.2.1" 2119 range-parser "^1.2.1"
2137 readable-stream "^3.6.0" 2120 readable-stream "^3.6.0"
2138 render-media "^4.1.0" 2121 render-media "^4.1.0"
2139 run-parallel "^1.1.10" 2122 run-parallel "^1.2.0"
2140 run-parallel-limit "^1.0.6" 2123 run-parallel-limit "^1.1.0"
2141 simple-concat "^1.0.1" 2124 simple-concat "^1.0.1"
2142 simple-get "^4.0.0" 2125 simple-get "^4.0.0"
2143 simple-peer "^9.9.3" 2126 simple-peer "^9.11.0"
2144 simple-sha1 "^3.0.1" 2127 simple-sha1 "^3.1.0"
2145 speedometer "^1.1.0" 2128 speedometer "^1.1.0"
2146 stream-to-blob "^2.0.1" 2129 stream-to-blob "^2.0.1"
2147 stream-to-blob-url "^3.0.2" 2130 stream-to-blob-url "^3.0.2"
2148 stream-with-known-length-to-buffer "^1.0.4" 2131 stream-with-known-length-to-buffer "^1.0.4"
2149 torrent-discovery "^9.4.0" 2132 torrent-discovery "^9.4.0"
2150 torrent-piece "^2.0.0" 2133 torrent-piece "^2.0.1"
2151 unordered-array-remove "^1.0.2" 2134 unordered-array-remove "^1.0.2"
2152 ut_metadata "^3.5.2" 2135 ut_metadata "^3.5.2"
2153 ut_pex "^2.0.1" 2136 ut_pex "^3.0.0"
2154 utp-native "^2.3.0" 2137 utp-native "^2.4.0"
2155 2138
2156which@^1.2.9: 2139which@^1.2.9:
2157 version "1.3.1" 2140 version "1.3.1"
@@ -2208,10 +2191,10 @@ wrtc@^0.4.6:
2208 optionalDependencies: 2191 optionalDependencies:
2209 domexception "^1.0.1" 2192 domexception "^1.0.1"
2210 2193
2211ws@^7.3.0, ws@^7.4.2: 2194ws@^7.4.2, ws@^7.4.5:
2212 version "7.4.4" 2195 version "7.4.6"
2213 resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" 2196 resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
2214 integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== 2197 integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
2215 2198
2216xml2js@^0.4.8: 2199xml2js@^0.4.8:
2217 version "0.4.23" 2200 version "0.4.23"