From 81d65c347584dd3b1cb749b909aa5fbd346c91e9 Mon Sep 17 00:00:00 2001 From: Jon Barlow Date: Wed, 18 Dec 2019 20:32:45 +0000 Subject: [PATCH] Initial version --- LICENCE | 21 + README.md | 17 + app/appointment.js | 73 + app/clock.js | 29 + app/index.js | 44 + build/app.fba | Bin 0 -> 24240 bytes common/constants.js | 3 + common/utils.js | 63 + companion/index.js | 68 + package.json | 33 + resources/index.gui | 6 + resources/styles.css | 37 + resources/widgets.gui | 6 + screenshot.png | Bin 0 -> 22677 bytes tsconfig.json | 3 + yarn.lock | 3124 +++++++++++++++++++++++++++++++++++++++++ 16 files changed, 3527 insertions(+) create mode 100644 LICENCE create mode 100644 app/appointment.js create mode 100644 app/clock.js create mode 100644 app/index.js create mode 100644 build/app.fba create mode 100644 common/constants.js create mode 100644 common/utils.js create mode 100644 companion/index.js create mode 100644 package.json create mode 100644 resources/index.gui create mode 100644 resources/styles.css create mode 100644 resources/widgets.gui create mode 100644 screenshot.png create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..e9238a7 --- /dev/null +++ b/LICENCE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Fitbit, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index ea19f65..dd945b2 100644 --- a/README.md +++ b/README.md @@ -1 +1,18 @@ # sdk-calendar-clock + +Fitbit SDK example application which demonstrates the Companion Calendar API. + +![Screenshot](screenshot.png) + +The companion fetches calendar data using the Companion Calendar API and sends it to the +device using the File Transfer API. The application decides which event to display. + +> Note: Only a subset of the calendar data is sent to the device, if you need to +> use different fields, then you need to include them in the file transfer. + +Find out more information on the +[Fitbit Developer Website](https://dev.fitbit.com). + +## License + +This example is licensed under the [MIT License](./LICENSE). diff --git a/app/appointment.js b/app/appointment.js new file mode 100644 index 0000000..9ea7b27 --- /dev/null +++ b/app/appointment.js @@ -0,0 +1,73 @@ +import { inbox } from "file-transfer"; +import { readFileSync } from "fs"; + +import { dataFile, dataType } from "../common/constants"; +import { toEpochSec } from "../common/utils"; + +let data = {}; +let cb; + +export function initialize(callback) { + cb = callback; + data = loadData(); + updatedData(); + + fileHandler(); + inbox.addEventListener("newfile", fileHandler); +} + +export function next() { + if (existsData()) { + // Exclude all-day events + let events = data.filter(event => { + return !event.isAllDay; + }); + + if (events && events.length > 0) { + const currentDate = toEpochSec(new Date()); + + // Get all future events + let futureEvents = events.filter(event => { + return event.startDate > currentDate; + }); + + if (futureEvents && futureEvents.length > 0) { + // Get the first future appointment + return futureEvents[0]; + } + } + } + return; +} + +function fileHandler() { + let fileName; + do { + fileName = inbox.nextFile(); + data = loadData(); + updatedData(); + } while (fileName); +} + +function loadData() { + try { + return readFileSync(`/private/data/${dataFile}`, dataType); + } catch (ex) { + console.error(`Appointment: loadData() failed. ${ex}`); + return {}; + } +} + +function existsData() { + if (Object.keys(data).length === 0 && data.constructor === Object) { + console.warn("Appointment: No data found."); + return false; + } + return true; +} + +function updatedData() { + if (typeof cb === "function" && existsData()) { + cb(); + } +} diff --git a/app/clock.js b/app/clock.js new file mode 100644 index 0000000..bac84c9 --- /dev/null +++ b/app/clock.js @@ -0,0 +1,29 @@ +import clock from "clock"; +import { preferences } from "user-settings"; +import * as util from "../common/utils"; + +let cb; + +export function initialize(granularity, callback) { + clock.granularity = granularity ? granularity : "minutes"; + cb = callback; + clock.addEventListener("tick", tick); +} + +export function tick(evt) { + const today = evt ? evt.date : new Date(); + const mins = util.zeroPad(today.getMinutes()); + let hours = today.getHours(); + + if (preferences.clockDisplay === "12h") { + // 12h format + hours = hours % 12 || 12; + } else { + // 24h format + hours = util.zeroPad(hours); + } + + if (typeof cb === "function") { + cb({ time: `${hours}:${mins}` }); + } +} diff --git a/app/index.js b/app/index.js new file mode 100644 index 0000000..892cbb3 --- /dev/null +++ b/app/index.js @@ -0,0 +1,44 @@ +console.log("Hello world!"); +// basic clock +// show next appointment title.substr, location,/in 1 day/hours/mins + +/* +Meeting with blah blah blah +at BUH-q3wewe +in 3 hours (12:15pm) +*/ + +import document from "document"; + +import * as appointment from "./appointment"; +import * as clock from "./clock"; +import { fromEpochSec, timeUntil, trimString } from "../common/utils"; + +const time = document.getElementById("time"); +const title = document.getElementById("title"); +const details = document.getElementById("details"); + +clock.initialize("minutes", data => { + // Clock ticked, update UI + time.text = data.time; + renderAppointment(); +}); + +appointment.initialize(() => { + // We have fresh calendar data + clock.tick(); +}); + +function renderAppointment() { + let event = appointment.next(); + if (event) { + title.text = event.title.substr(0, 20); + details.text = `${timeUntil(fromEpochSec(event.startDate))} @ ${ + event.location + }`; + } else { + title.text = "No appointments"; + location.text = ""; + date.text = ""; + } +} diff --git a/build/app.fba b/build/app.fba new file mode 100644 index 0000000000000000000000000000000000000000..301279ab2089286e4fae91b363e78aa7c00412f8 GIT binary patch literal 24240 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 A-T(jq literal 0 HcmV?d00001 diff --git a/common/constants.js b/common/constants.js new file mode 100644 index 0000000..be3ea13 --- /dev/null +++ b/common/constants.js @@ -0,0 +1,3 @@ +export const dataType = "cbor"; +export const dataFile = "appointments.cbor"; +export const millisecondsPerMinute = 1000 * 60; diff --git a/common/utils.js b/common/utils.js new file mode 100644 index 0000000..519bf28 --- /dev/null +++ b/common/utils.js @@ -0,0 +1,63 @@ +/** + * Add zero in front of numbers < 10 + * @param {number} i + */ +export function zeroPad(i) { + if (i < 10) { + i = "0" + i; + } + return i; +} + +/** + * Convert a Date object to seconds since January 1, 1970 + * @param {Date} date + */ +export function toEpochSec(date) { + return Math.floor(date.getTime() / 1000); +} + +/** + * Convert a seconds since January 1, 1970 to a Date object + * @param {Number} seconds + */ +export function fromEpochSec(seconds) { + return new Date(seconds * 1000); +} + +/** + * Returns a friendly time until a specified date + * @param {Date} date + */ +export function timeUntil(date) { + const today = new Date(); + const days = parseInt((date - today) / (1000 * 60 * 60 * 24)); + const hours = parseInt((Math.abs(date - today) / (1000 * 60 * 60)) % 24); + const minutes = parseInt( + (Math.abs(date.getTime() - today.getTime()) / (1000 * 60)) % 60 + ); + + if (days > 0) { + return `in ${days} day${pluralize(days)}`; + } + + if (hours > 0) { + return `in ${hours}hr${pluralize(hours)}${ + hours < 3 && minutes > 0 ? ` ${minutes}min${pluralize(minutes)}` : "" + }`; + } + + if (minutes > 0) { + return `in ${minutes}min${pluralize(minutes)}`; + } + + return "Now"; +} + +/** + * Returns an `s` if the number is plural + * @param {Number} number + */ +function pluralize(number) { + return number === 1 ? "" : "s"; +} diff --git a/companion/index.js b/companion/index.js new file mode 100644 index 0000000..39aaa21 --- /dev/null +++ b/companion/index.js @@ -0,0 +1,68 @@ +import calendars from "calendars"; +import * as cbor from "cbor"; +import { me as companion } from "companion"; +import { outbox } from "file-transfer"; + +import { toEpochSec } from "../common/utils"; +import { dataFile, millisecondsPerMinute } from "../common/constants"; + +companion.wakeInterval = 15 * millisecondsPerMinute; +companion.addEventListener("wakeinterval", refreshData); + +refreshData(); + +function refreshData() { + let dataCalendars = [], + dataEvents = []; + + calendars + .searchSources() + .then(results => { + return calendars.searchCalendars(); + }) + .then(results => { + results.forEach(calendar => { + // console.log( + // `> calendar: ${calendar.title} (${calendar.sourceId}/${calendar.id})` + // ); + dataCalendars.push(calendar); + }); + + // Filter events to 48hr window + const start = new Date(); + const end = new Date(); + start.setHours(0, 0, 0, 0); + end.setHours(128, 59, 59, 999); + const eventsQuery = { + startDate: start, + endDate: end + }; + + return calendars.searchEvents(eventsQuery); + }) + .then(results => { + results.forEach(event => { + // console.log(`> event: ${event.title} (${event.startDate})`); + dataEvents.push({ + title: event.title, + location: event.location, + startDate: toEpochSec(event.startDate), + endDate: toEpochSec(event.endDate), + isAllDay: event.isAllDay + }); + }); + if (dataEvents && dataEvents.length > 0) { + sendData(dataEvents); + } + }) + .catch(error => { + console.error(error); + console.error(error.stack); + }); +} + +function sendData(data) { + outbox.enqueue(dataFile, cbor.encode(data)).catch(error => { + console.warn(`Failed to enqueue data. Error: ${error}`); + }); +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1d02270 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "sdk-calendar-clock", + "version": "0.1.0", + "private": true, + "license": "MIT", + "devDependencies": { + "@fitbit/sdk": "~4.1.0", + "@fitbit/sdk-cli": "^1.7.1" + }, + "fitbit": { + "appUUID": "24855175-1a50-42f2-8178-019cb091a886", + "appType": "clockface", + "appDisplayName": "SDK Calendar Clock", + "iconFile": "resources/icon.png", + "wipeColor": "#ffffff", + "requestedPermissions": [ + "access_calendar", + "run_background" + ], + "buildTargets": [ + "higgs", + "meson", + "gemini", + "mira" + ], + "i18n": {}, + "defaultLanguage": "en-US" + }, + "scripts": { + "build": "fitbit-build", + "debug": "fitbit" + } +} diff --git a/resources/index.gui b/resources/index.gui new file mode 100644 index 0000000..730e7d9 --- /dev/null +++ b/resources/index.gui @@ -0,0 +1,6 @@ + + + 13:37 + Appointment Title + + diff --git a/resources/styles.css b/resources/styles.css new file mode 100644 index 0000000..952dc43 --- /dev/null +++ b/resources/styles.css @@ -0,0 +1,37 @@ +text { + font-size: 32; + font-family: System-Regular; + font-weight: regular; + text-length: 32; + text-anchor: middle; + fill: white; +} + +#background { + width: 100%; + height: 100%; + fill: black; +} + +#time { + x: 50%; + y: 25%; + font-size: 45; +} + +#title { + x: 50%; + y: $+20; + font-family: System-Bold; +} + +#details { + font-size: 28; + font-family: System-Regular; + font-weight: regular; + text-length: 128; + text-anchor: middle; + fill: white; + x: 0; + y: $-15; +} \ No newline at end of file diff --git a/resources/widgets.gui b/resources/widgets.gui new file mode 100644 index 0000000..1892304 --- /dev/null +++ b/resources/widgets.gui @@ -0,0 +1,6 @@ + + + + + + diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bedb2e5d29a2e60069dfe2fb97232d33cd2548da GIT binary patch literal 22677 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

    YQjHYwwg21fLIWjRkPUq+quUJ#gHbSq1Fy_>?` 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 2.1.2 < 3" + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.11.0.tgz#7448bfa924092af311d47173bbab990cae2bb027" + integrity sha1-dEi/qSQJKvMR1HFzu6uZDK4rsCc= + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^1.0.1" + figures "^1.3.5" + lodash "^3.3.1" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" + integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +io-ts@2.0.1, io-ts@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.0.1.tgz#1261c12f915c2f48d16393a36966636b48a45aa1" + integrity sha512-RezD+WcCfW4VkMkEcQWL/Nmy/nqsWTvTYg7oUmTGzglvSSV2P9h2z1PVeREPFf0GWNzruYleAt1XCMQZSg1xxQ== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + +is-npm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" + integrity sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-reference@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427" + integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw== + dependencies: + "@types/estree" "0.0.39" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json5@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== + dependencies: + minimist "^1.2.0" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jszip@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.2.2.tgz#b143816df7e106a9597a94c77493385adca5bd1d" + integrity sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + set-immediate-shim "~1.0.1" + +keytar@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/keytar/-/keytar-5.0.0.tgz#c89b6b7a4608fd7af633d9f8474b1a7eb97cbe6f" + integrity sha512-a5UheK59YOlJf9i+2Osaj/kkH6mK0RCHVMtJ84u6ZfbfRIbOJ/H4b5VlOF/LgNHF6s78dRSBzZnvIuPiBKv6wg== + dependencies: + nan "2.14.0" + prebuild-install "5.3.3" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.isarraylike@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.isarraylike/-/lodash.isarraylike-4.2.0.tgz#4623310ab318804b667ddc3619058137559400c4" + integrity sha1-RiMxCrMYgEtmfdw2GQWBN1WUAMQ= + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= + +lodash.keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" + integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= + +lodash@^3.3.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= + +lodash@^4.17.13, lodash@^4.17.15, lodash@^4.5.1: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE= + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +magic-string@^0.25.2, magic-string@^0.25.4: + version "0.25.4" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" + integrity sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw== + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +mime-db@1.42.0: + version "1.42.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" + integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== + +mime-types@^2.1.12: + version "2.1.25" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" + integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== + dependencies: + mime-db "1.42.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.0.0.tgz#996a51c60adf12cb8a87d7fb8ef24c2f3d5ebb46" + integrity sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multistream@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.0.0.tgz#c771b6d17d169138b6abcb15f0061170e3c09cea" + integrity sha512-t0C8MAtH/d3Y+5nooEtUMWli92lVw9Jhx4uOhRl5GAwS5vc+YTmp/VXNJNsCBAMeEyK/6zhbk6x9JE3AiCvo4g== + dependencies: + readable-stream "^3.4.0" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + +napi-build-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508" + integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== + +node-abi@^2.7.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.13.0.tgz#e2f2ec444d0aca3ea1b3874b6de41d1665828f63" + integrity sha512-9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA== + dependencies: + semver "^5.4.1" + +node-fetch@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + +node-localstorage@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/node-localstorage/-/node-localstorage-0.6.0.tgz#45a0601c6932dfde6644a23361f1be173c75d3af" + integrity sha1-RaBgHGky395mRKIzYfG+Fzx1068= + +nofilter@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.3.tgz#34e54b4cc9757de0cad38cc0d19462489b1b7f5d" + integrity sha512-FlUlqwRK6reQCaFLAhMcF+6VkVG2caYjKQY3YsRDTl4/SEch595Qb3oLjJRDr8dkHAAOVj2pOx3VknfnSgkE5g== + +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= + +object.assign@^4.0.4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +open@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/open/-/open-7.0.0.tgz#7e52999b14eb73f90f0f0807fe93897c4ae73ec9" + integrity sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ== + dependencies: + is-wsl "^2.1.0" + +opener@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +pako@~1.0.2: + version "1.0.10" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +playback-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/playback-stream/-/playback-stream-1.0.0.tgz#90540532563cdf6641222adcace0d531d9659f54" + integrity sha1-kFQFMlY832ZBIircrODVMdlln1Q= + dependencies: + readable-stream "^2.1.5" + +plugin-error@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== + dependencies: + ansi-colors "^1.0.1" + arr-diff "^4.0.0" + arr-union "^3.1.0" + extend-shallow "^3.0.2" + +pngjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +pofile@^1.0.10, pofile@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pofile/-/pofile-1.1.0.tgz#9ce84bbef5043ceb4f19bdc3520d85778fad4f94" + integrity sha512-6XYcNkXWGiJ2CVXogTP7uJ6ZXQCldYLZc16wgRp8tqRaBTTyIfF+TUT3EQJPXTLAT7OTPpTAoaFdoXKfaTRU1w== + +prebuild-install@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.3.tgz#ef4052baac60d465f5ba6bf003c9c1de79b9da8e" + integrity sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.0" + mkdirp "^0.5.1" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +pumpify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-2.0.1.tgz#abfc7b5a621307c728b551decbbefb51f0e4aa1e" + integrity sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw== + dependencies: + duplexify "^4.1.1" + inherits "^2.0.3" + pump "^3.0.0" + +rc@^1.2.7, rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +"readable-stream@2 || 3", readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~1.0.17: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +registry-auth-token@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" + integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== + dependencies: + rc "^1.2.8" + safe-buffer "^5.0.1" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + +resolve@^1.11.0, resolve@^1.11.1, resolve@^1.3.2: + version "1.13.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16" + integrity sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w== + dependencies: + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +rollup-plugin-babel@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz#7eb5ac16d9b5831c3fd5d97e8df77ba25c72a2aa" + integrity sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.8.1" + +rollup-plugin-commonjs@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb" + integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== + dependencies: + estree-walker "^0.6.1" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + rollup-pluginutils "^2.8.1" + +rollup-plugin-node-resolve@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" + integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== + dependencies: + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.11.1" + rollup-pluginutils "^2.8.1" + +rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.27.9: + version "1.27.13" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.27.13.tgz#d6d3500512daacbf8de54d2800de62d893085b90" + integrity sha512-hDi7M07MpmNSDE8YVwGVFA8L7n8jTLJ4lG65nMAijAyqBe//rtu4JdxjUBE7JqXfdpqxqDTbCDys9WcqdpsQvw== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= + dependencies: + once "^1.3.0" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= + +rxjs@^6.4.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" + integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +semver@^5.0.3, semver@^5.4.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-immediate-shim@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-random@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/simple-random/-/simple-random-1.0.3.tgz#6ad160690356aeea0310d940e18a161fbe347520" + integrity sha1-atFgaQNWruoDENlA4YoWH740dSA= + +simple-sha256@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-sha256/-/simple-sha256-1.0.0.tgz#5a8146f46b77bb82a7374a44bb958bca76c73e95" + integrity sha512-kGttoS50Y53Wu45iir77VOO7aR2obk1Jjalwz7HiMWPwzWq781h3EtLjpCP4DoDYM5ppncv0f1juNX+hjzmXsg== + +source-map-compactor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/source-map-compactor/-/source-map-compactor-1.0.1.tgz#94372d27d1fca2d8f0ebf7ddbd210c783c3494fc" + integrity sha1-lDctJ9H8otjw6/fdvSEMeDw0lPw= + dependencies: + source-map "^0.5.6" + +source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sourcemap-codec@^1.4.4: + version "1.4.6" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" + integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + +stream.finished@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stream.finished/-/stream.finished-1.2.0.tgz#40fc76092792d08a43388184fd0d42c6ab9523a0" + integrity sha512-xSp45f/glqd035qAtFUxAGvhotjY/EfqDNV+rQW8o7ffligiOjPaguTEvRzeQAhiQMCdkPEBrp5++S/rQyavWQ== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +tar-fs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" + integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== + dependencies: + chownr "^1.1.1" + mkdirp "^0.5.1" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-stream@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" + integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== + dependencies: + bl "^3.0.0" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +terser@^4.4.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.3.tgz#401abc52b88869cf904412503b1eb7da093ae2f0" + integrity sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" + integrity sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s= + dependencies: + readable-stream "~1.0.17" + xtend "~2.1.1" + +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" + integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== + dependencies: + readable-stream "2 || 3" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + +ts-events@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/ts-events/-/ts-events-3.3.1.tgz#2fad39198089722904ed4d2fc80a3e70f90c5fa9" + integrity sha512-dMnQ9uStT0nfKqfePU6HLx2jcRoCgc3qLHk6oh6Wgr3Parqf16bhWNOSuOC9oVlSDnIZ3TvfMnO+b9HOrhR8sA== + +tslib@^1.10.0, tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +type-component@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/type-component/-/type-component-0.0.1.tgz#952a6c81c21efd24d13d811d0c8498cb860e1956" + integrity sha1-lSpsgcIe/STRPYEdDISYy4YOGVY= + +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typescript@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.3.tgz#b36840668a16458a7025b9eabfad11b66ab85c69" + integrity sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw== + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-notifier@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" + integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== + dependencies: + boxen "^3.0.0" + chalk "^2.0.1" + configstore "^4.0.0" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.1.0" + is-npm "^3.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + +validator@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-12.1.0.tgz#a3a7315d5238cbc15e46ad8d5e479aafa7119925" + integrity sha512-gIC2RBuFRi574Rb9vewGCJ7TCLxHXNx6EKthEgs+Iz0pYa9a9Te1VLG/bGLsAyGWrqR5FfR7tbFUI7FEF2LiGA== + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + +vinyl-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz#96c1a3479b8c5392542c612029013b5b27f88bbf" + integrity sha1-lsGjR5uMU5JULGEgKQE7Wyf4i78= + dependencies: + bl "^1.2.1" + through2 "^2.0.3" + +vinyl-fs@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0, vinyl@^2.1.0, vinyl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vorpal@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/vorpal/-/vorpal-1.12.0.tgz#4be7b2a4e48f8fcfc9cf3648c419d311c522159d" + integrity sha1-S+eypOSPj8/JzzZIxBnTEcUiFZ0= + dependencies: + babel-polyfill "^6.3.14" + chalk "^1.1.0" + in-publish "^2.0.0" + inquirer "0.11.0" + lodash "^4.5.1" + log-update "^1.0.2" + minimist "^1.2.0" + node-localstorage "^0.6.0" + strip-ansi "^3.0.0" + wrap-ansi "^2.0.0" + +websocket-stream@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/websocket-stream/-/websocket-stream-5.5.0.tgz#9827f2846fc0d2b4dca7aab8f92980b2548b868e" + integrity sha512-EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug== + dependencies: + duplexify "^3.5.1" + inherits "^2.0.1" + readable-stream "^2.3.3" + safe-buffer "^5.1.2" + ws "^3.2.0" + xtend "^4.0.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^3.2.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + +xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= + dependencies: + object-keys "~0.4.0" + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yargs-parser@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" + integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.0.2: + version "15.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.0.2.tgz#4248bf218ef050385c4f7e14ebdf425653d13bd3" + integrity sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^16.1.0" + +yazl@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" + integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== + dependencies: + buffer-crc32 "~0.2.3"