From 86a294c327efc6de188367e24bf77b29120fdd62 Mon Sep 17 00:00:00 2001 From: Adam Argyle Date: Wed, 4 Nov 2020 21:08:33 -0800 Subject: [PATCH] Firefox addon (#314) * update design properties with firefoxs calculated defaults * firefox bugfix: rect requires inline w/h to work..? * no plugins, no dynamic import todo: make a new rollup config and make a bigger bundle for firefox that has all the plugins loaded * polyfill not required, which is nice! * visbug element renders again * update lock * to be safe, find all and remove * new trick, inject on page not from extension * remove polyfill, remove bundle from content script * added web-ext to npm scripts * added firefox to postcss browserlist to fix some bugs like with system-ui * adds visbug bundle to web accessible resources * thanks kezzbracey for the suggestion to go attributes * remove opacity if backdrop filter isnt supported * fixes hover inspect * fixes margin and padding by removing typedOM usage * fixes hueshift * switch to less ambigious use of window * fixes plugins and datalist autocomplete * fixes safari search input styles * add safari project * adapt to platform * prep for updated version * safari build nits * resolves loading jank * puts a wrap on the safari build * update icons and nudge project details * fixes bug where extension button goes nowhere --- .gitignore | 1 + VisBug/VisBug Extension/Info.plist | 33 + .../SafariWebExtensionHandler.swift | 26 + .../VisBug_Extension.entitlements | 10 + VisBug/VisBug.xcodeproj/project.pbxproj | 536 ++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/VisBug.xcscheme | 78 + .../xcdebugger/Breakpoints_v2.xcbkptlist | 24 + .../xcschemes/xcschememanagement.plist | 27 + VisBug/VisBug/AppDelegate.swift | 21 + .../AccentColor.colorset/Contents.json | 20 + .../AppIcon.appiconset/Contents.json | 64 + .../AppIcon.appiconset/VisBug1x-1.png | Bin 0 -> 7378 bytes .../AppIcon.appiconset/VisBug1x-2.png | Bin 0 -> 3518 bytes .../AppIcon.appiconset/VisBug1x.png | Bin 0 -> 15159 bytes .../AppIcon.appiconset/VisBug2x-1.png | Bin 0 -> 15152 bytes .../AppIcon.appiconset/VisBug2x-4.png | Bin 0 -> 7384 bytes .../AppIcon.appiconset/VisBug2x.png | Bin 0 -> 33614 bytes VisBug/VisBug/Assets.xcassets/Contents.json | 6 + VisBug/VisBug/Base.lproj/Main.storyboard | 167 + VisBug/VisBug/Info.plist | 32 + VisBug/VisBug/ViewController.swift | 51 + VisBug/VisBug/VisBug.entitlements | 10 + app/components/_variables.css | 15 +- app/components/selection/hover.element.js | 8 +- app/components/styles.store.js | 2 + app/components/vis-bug/vis-bug.element.css | 6 +- app/components/vis-bug/vis-bug.element.js | 18 +- app/features/hueshift.js | 4 +- app/features/margin.js | 9 +- app/features/padding.js | 9 +- app/features/search.js | 28 +- app/features/selectable.js | 26 +- app/utilities/cross-browser.js | 18 + app/utilities/design-properties.js | 13 + app/utilities/index.js | 1 + app/utilities/styles.js | 49 +- extension/manifest.json | 3 +- extension/toolbar/eject.js | 4 +- extension/toolbar/inject.js | 10 +- extension/visbug.js | 15 +- extension/web-components.polyfill.js | 147 - package-lock.json | 8389 +++++++++++++---- package.json | 11 +- postcss.config.js | 3 +- 46 files changed, 7869 insertions(+), 2040 deletions(-) create mode 100644 VisBug/VisBug Extension/Info.plist create mode 100644 VisBug/VisBug Extension/SafariWebExtensionHandler.swift create mode 100644 VisBug/VisBug Extension/VisBug_Extension.entitlements create mode 100644 VisBug/VisBug.xcodeproj/project.pbxproj create mode 100644 VisBug/VisBug.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 VisBug/VisBug.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 VisBug/VisBug.xcodeproj/xcshareddata/xcschemes/VisBug.xcscheme create mode 100644 VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 VisBug/VisBug/AppDelegate.swift create mode 100644 VisBug/VisBug/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x-1.png create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x-2.png create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x.png create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-1.png create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-4.png create mode 100644 VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x.png create mode 100644 VisBug/VisBug/Assets.xcassets/Contents.json create mode 100644 VisBug/VisBug/Base.lproj/Main.storyboard create mode 100644 VisBug/VisBug/Info.plist create mode 100644 VisBug/VisBug/ViewController.swift create mode 100644 VisBug/VisBug/VisBug.entitlements create mode 100644 app/utilities/cross-browser.js delete mode 100644 extension/web-components.polyfill.js diff --git a/.gitignore b/.gitignore index ab8bd582..b1d511e5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ extension/toolbar/bundle.min.js extension/toolbar/bundle.css extension/build extension/tuts +VisBug/VisBug.xcodeproj/project.xcworkspace/xcuserdata/argyle.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/VisBug/VisBug Extension/Info.plist b/VisBug/VisBug Extension/Info.plist new file mode 100644 index 00000000..ac132339 --- /dev/null +++ b/VisBug/VisBug Extension/Info.plist @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + VisBug Extension + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSExtension + + NSExtensionPointIdentifier + com.apple.Safari.web-extension + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).SafariWebExtensionHandler + + + diff --git a/VisBug/VisBug Extension/SafariWebExtensionHandler.swift b/VisBug/VisBug Extension/SafariWebExtensionHandler.swift new file mode 100644 index 00000000..c8fa150b --- /dev/null +++ b/VisBug/VisBug Extension/SafariWebExtensionHandler.swift @@ -0,0 +1,26 @@ +// +// SafariWebExtensionHandler.swift +// VisBug Extension +// +// Created by Adam Argyle on 11/2/20. +// + +import SafariServices +import os.log + +let SFExtensionMessageKey = "message" + +class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { + + func beginRequest(with context: NSExtensionContext) { + let item = context.inputItems[0] as! NSExtensionItem + let message = item.userInfo?[SFExtensionMessageKey] + os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@", message as! CVarArg) + + let response = NSExtensionItem() + response.userInfo = [ SFExtensionMessageKey: [ "Response to": message ] ] + + context.completeRequest(returningItems: [response], completionHandler: nil) + } + +} diff --git a/VisBug/VisBug Extension/VisBug_Extension.entitlements b/VisBug/VisBug Extension/VisBug_Extension.entitlements new file mode 100644 index 00000000..f2ef3ae0 --- /dev/null +++ b/VisBug/VisBug Extension/VisBug_Extension.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/VisBug/VisBug.xcodeproj/project.pbxproj b/VisBug/VisBug.xcodeproj/project.pbxproj new file mode 100644 index 00000000..80bb5ce8 --- /dev/null +++ b/VisBug/VisBug.xcodeproj/project.pbxproj @@ -0,0 +1,536 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 8EBF95822550B10A007B8136 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EBF95812550B10A007B8136 /* AppDelegate.swift */; }; + 8EBF95852550B10A007B8136 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95832550B10A007B8136 /* Main.storyboard */; }; + 8EBF95872550B10A007B8136 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EBF95862550B10A007B8136 /* ViewController.swift */; }; + 8EBF95892550B10B007B8136 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95882550B10B007B8136 /* Assets.xcassets */; }; + 8EBF95902550B10B007B8136 /* VisBug Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 8EBF958F2550B10B007B8136 /* VisBug Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 8EBF95952550B10B007B8136 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EBF95942550B10B007B8136 /* Cocoa.framework */; }; + 8EBF95982550B10B007B8136 /* SafariWebExtensionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EBF95972550B10B007B8136 /* SafariWebExtensionHandler.swift */; }; + 8EBF95AC2550B10C007B8136 /* visbug.js in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95A52550B10C007B8136 /* visbug.js */; }; + 8EBF95AD2550B10C007B8136 /* toolbar in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95A62550B10C007B8136 /* toolbar */; }; + 8EBF95AE2550B10C007B8136 /* contextmenu in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95A72550B10C007B8136 /* contextmenu */; }; + 8EBF95AF2550B10C007B8136 /* icons in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95A82550B10C007B8136 /* icons */; }; + 8EBF95B02550B10C007B8136 /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95A92550B10C007B8136 /* manifest.json */; }; + 8EBF95B12550B10C007B8136 /* build in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95AA2550B10C007B8136 /* build */; }; + 8EBF95B22550B10C007B8136 /* tuts in Resources */ = {isa = PBXBuildFile; fileRef = 8EBF95AB2550B10C007B8136 /* tuts */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 8EBF95912550B10B007B8136 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8EBF95752550B10A007B8136 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8EBF958E2550B10B007B8136; + remoteInfo = "VisBug Extension"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 8EBF95A02550B10B007B8136 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 8EBF95902550B10B007B8136 /* VisBug Extension.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 8EBF957D2550B10A007B8136 /* VisBug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VisBug.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 8EBF95802550B10A007B8136 /* VisBug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = VisBug.entitlements; sourceTree = ""; }; + 8EBF95812550B10A007B8136 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 8EBF95842550B10A007B8136 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 8EBF95862550B10A007B8136 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 8EBF95882550B10B007B8136 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 8EBF958A2550B10B007B8136 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8EBF958F2550B10B007B8136 /* VisBug Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "VisBug Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8EBF95942550B10B007B8136 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 8EBF95972550B10B007B8136 /* SafariWebExtensionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariWebExtensionHandler.swift; sourceTree = ""; }; + 8EBF95992550B10B007B8136 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8EBF959A2550B10B007B8136 /* VisBug_Extension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = VisBug_Extension.entitlements; sourceTree = ""; }; + 8EBF95A52550B10C007B8136 /* visbug.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = visbug.js; path = ../../extension/visbug.js; sourceTree = ""; }; + 8EBF95A62550B10C007B8136 /* toolbar */ = {isa = PBXFileReference; lastKnownFileType = folder; name = toolbar; path = ../../extension/toolbar; sourceTree = ""; }; + 8EBF95A72550B10C007B8136 /* contextmenu */ = {isa = PBXFileReference; lastKnownFileType = folder; name = contextmenu; path = ../../extension/contextmenu; sourceTree = ""; }; + 8EBF95A82550B10C007B8136 /* icons */ = {isa = PBXFileReference; lastKnownFileType = folder; name = icons; path = ../../extension/icons; sourceTree = ""; }; + 8EBF95A92550B10C007B8136 /* manifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = manifest.json; path = ../../extension/manifest.json; sourceTree = ""; }; + 8EBF95AA2550B10C007B8136 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; name = build; path = ../../extension/build; sourceTree = ""; }; + 8EBF95AB2550B10C007B8136 /* tuts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = tuts; path = ../../extension/tuts; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8EBF957A2550B10A007B8136 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8EBF958C2550B10B007B8136 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8EBF95952550B10B007B8136 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 8EBF95742550B10A007B8136 = { + isa = PBXGroup; + children = ( + 8EBF957F2550B10A007B8136 /* VisBug */, + 8EBF95962550B10B007B8136 /* VisBug Extension */, + 8EBF95932550B10B007B8136 /* Frameworks */, + 8EBF957E2550B10A007B8136 /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + }; + 8EBF957E2550B10A007B8136 /* Products */ = { + isa = PBXGroup; + children = ( + 8EBF957D2550B10A007B8136 /* VisBug.app */, + 8EBF958F2550B10B007B8136 /* VisBug Extension.appex */, + ); + name = Products; + sourceTree = ""; + }; + 8EBF957F2550B10A007B8136 /* VisBug */ = { + isa = PBXGroup; + children = ( + 8EBF95802550B10A007B8136 /* VisBug.entitlements */, + 8EBF95812550B10A007B8136 /* AppDelegate.swift */, + 8EBF95832550B10A007B8136 /* Main.storyboard */, + 8EBF95862550B10A007B8136 /* ViewController.swift */, + 8EBF95882550B10B007B8136 /* Assets.xcassets */, + 8EBF958A2550B10B007B8136 /* Info.plist */, + ); + path = VisBug; + sourceTree = ""; + }; + 8EBF95932550B10B007B8136 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8EBF95942550B10B007B8136 /* Cocoa.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 8EBF95962550B10B007B8136 /* VisBug Extension */ = { + isa = PBXGroup; + children = ( + 8EBF95A42550B10C007B8136 /* Resources */, + 8EBF95972550B10B007B8136 /* SafariWebExtensionHandler.swift */, + 8EBF95992550B10B007B8136 /* Info.plist */, + 8EBF959A2550B10B007B8136 /* VisBug_Extension.entitlements */, + ); + path = "VisBug Extension"; + sourceTree = ""; + }; + 8EBF95A42550B10C007B8136 /* Resources */ = { + isa = PBXGroup; + children = ( + 8EBF95A52550B10C007B8136 /* visbug.js */, + 8EBF95A62550B10C007B8136 /* toolbar */, + 8EBF95A72550B10C007B8136 /* contextmenu */, + 8EBF95A82550B10C007B8136 /* icons */, + 8EBF95A92550B10C007B8136 /* manifest.json */, + 8EBF95AA2550B10C007B8136 /* build */, + 8EBF95AB2550B10C007B8136 /* tuts */, + ); + name = Resources; + path = "VisBug Extension"; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8EBF957C2550B10A007B8136 /* VisBug */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8EBF95A12550B10B007B8136 /* Build configuration list for PBXNativeTarget "VisBug" */; + buildPhases = ( + 8EBF95792550B10A007B8136 /* Sources */, + 8EBF957A2550B10A007B8136 /* Frameworks */, + 8EBF957B2550B10A007B8136 /* Resources */, + 8EBF95A02550B10B007B8136 /* Embed App Extensions */, + ); + buildRules = ( + ); + dependencies = ( + 8EBF95922550B10B007B8136 /* PBXTargetDependency */, + ); + name = VisBug; + productName = VisBug; + productReference = 8EBF957D2550B10A007B8136 /* VisBug.app */; + productType = "com.apple.product-type.application"; + }; + 8EBF958E2550B10B007B8136 /* VisBug Extension */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8EBF959D2550B10B007B8136 /* Build configuration list for PBXNativeTarget "VisBug Extension" */; + buildPhases = ( + 8EBF958B2550B10B007B8136 /* Sources */, + 8EBF958C2550B10B007B8136 /* Frameworks */, + 8EBF958D2550B10B007B8136 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "VisBug Extension"; + productName = "VisBug Extension"; + productReference = 8EBF958F2550B10B007B8136 /* VisBug Extension.appex */; + productType = "com.apple.product-type.app-extension"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 8EBF95752550B10A007B8136 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1220; + LastUpgradeCheck = 1220; + TargetAttributes = { + 8EBF957C2550B10A007B8136 = { + CreatedOnToolsVersion = 12.2; + }; + 8EBF958E2550B10B007B8136 = { + CreatedOnToolsVersion = 12.2; + }; + }; + }; + buildConfigurationList = 8EBF95782550B10A007B8136 /* Build configuration list for PBXProject "VisBug" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 8EBF95742550B10A007B8136; + productRefGroup = 8EBF957E2550B10A007B8136 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8EBF957C2550B10A007B8136 /* VisBug */, + 8EBF958E2550B10B007B8136 /* VisBug Extension */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8EBF957B2550B10A007B8136 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8EBF95892550B10B007B8136 /* Assets.xcassets in Resources */, + 8EBF95852550B10A007B8136 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8EBF958D2550B10B007B8136 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8EBF95AE2550B10C007B8136 /* contextmenu in Resources */, + 8EBF95AF2550B10C007B8136 /* icons in Resources */, + 8EBF95B22550B10C007B8136 /* tuts in Resources */, + 8EBF95B02550B10C007B8136 /* manifest.json in Resources */, + 8EBF95B12550B10C007B8136 /* build in Resources */, + 8EBF95AD2550B10C007B8136 /* toolbar in Resources */, + 8EBF95AC2550B10C007B8136 /* visbug.js in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8EBF95792550B10A007B8136 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8EBF95872550B10A007B8136 /* ViewController.swift in Sources */, + 8EBF95822550B10A007B8136 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8EBF958B2550B10B007B8136 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8EBF95982550B10B007B8136 /* SafariWebExtensionHandler.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 8EBF95922550B10B007B8136 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8EBF958E2550B10B007B8136 /* VisBug Extension */; + targetProxy = 8EBF95912550B10B007B8136 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 8EBF95832550B10A007B8136 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 8EBF95842550B10A007B8136 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 8EBF959B2550B10B007B8136 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 8EBF959C2550B10B007B8136 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 8EBF959E2550B10B007B8136 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = "VisBug Extension/VisBug_Extension.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2; + INFOPLIST_FILE = "VisBug Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@executable_path/../../../../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.14; + MARKETING_VERSION = 0.3.0; + PRODUCT_BUNDLE_IDENTIFIER = argyleink.VisBug.Extension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 8EBF959F2550B10B007B8136 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = "VisBug Extension/VisBug_Extension.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2; + INFOPLIST_FILE = "VisBug Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@executable_path/../../../../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.14; + MARKETING_VERSION = 0.3.0; + PRODUCT_BUNDLE_IDENTIFIER = argyleink.VisBug.Extension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 8EBF95A22550B10B007B8136 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = VisBug/VisBug.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 2; + INFOPLIST_FILE = VisBug/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.14; + MARKETING_VERSION = 0.3.0; + PRODUCT_BUNDLE_IDENTIFIER = argyleink.VisBug; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 8EBF95A32550B10B007B8136 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = VisBug/VisBug.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 2; + INFOPLIST_FILE = VisBug/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.14; + MARKETING_VERSION = 0.3.0; + PRODUCT_BUNDLE_IDENTIFIER = argyleink.VisBug; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 8EBF95782550B10A007B8136 /* Build configuration list for PBXProject "VisBug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8EBF959B2550B10B007B8136 /* Debug */, + 8EBF959C2550B10B007B8136 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 8EBF959D2550B10B007B8136 /* Build configuration list for PBXNativeTarget "VisBug Extension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8EBF959E2550B10B007B8136 /* Debug */, + 8EBF959F2550B10B007B8136 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 8EBF95A12550B10B007B8136 /* Build configuration list for PBXNativeTarget "VisBug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8EBF95A22550B10B007B8136 /* Debug */, + 8EBF95A32550B10B007B8136 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 8EBF95752550B10A007B8136 /* Project object */; +} diff --git a/VisBug/VisBug.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/VisBug/VisBug.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/VisBug/VisBug.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/VisBug/VisBug.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/VisBug/VisBug.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/VisBug/VisBug.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/VisBug/VisBug.xcodeproj/xcshareddata/xcschemes/VisBug.xcscheme b/VisBug/VisBug.xcodeproj/xcshareddata/xcschemes/VisBug.xcscheme new file mode 100644 index 00000000..c4364810 --- /dev/null +++ b/VisBug/VisBug.xcodeproj/xcshareddata/xcschemes/VisBug.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 00000000..59ae58ba --- /dev/null +++ b/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcschemes/xcschememanagement.plist b/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..97cc493d --- /dev/null +++ b/VisBug/VisBug.xcodeproj/xcuserdata/argyle.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + VisBug Extension.xcscheme_^#shared#^_ + + orderHint + 1 + + VisBug.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8EBF957C2550B10A007B8136 + + primary + + + + + diff --git a/VisBug/VisBug/AppDelegate.swift b/VisBug/VisBug/AppDelegate.swift new file mode 100644 index 00000000..bc9a67fa --- /dev/null +++ b/VisBug/VisBug/AppDelegate.swift @@ -0,0 +1,21 @@ +// +// AppDelegate.swift +// VisBug +// +// Created by Adam Argyle on 11/3/20. +// + +import Cocoa + +@NSApplicationMain +class AppDelegate: NSObject, NSApplicationDelegate { + + func applicationDidFinishLaunching(_ aNotification: Notification) { + // Insert code here to initialize your application + } + + func applicationWillTerminate(_ aNotification: Notification) { + // Insert code here to tear down your application + } + +} diff --git a/VisBug/VisBug/Assets.xcassets/AccentColor.colorset/Contents.json b/VisBug/VisBug/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..762a0487 --- /dev/null +++ b/VisBug/VisBug/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "display-p3", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/Contents.json b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..57e1894c --- /dev/null +++ b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,64 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "VisBug1x-2.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "VisBug2x-4.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "VisBug1x-1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "VisBug2x-1.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "VisBug1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "VisBug2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x-1.png b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d41ab68e9fa5eeb067b186089ccd06075618354b GIT binary patch literal 7378 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
oHd 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 literal 0 HcmV?d00001 diff --git a/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x.png b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7a27fc275cf7e8bb4231dfbb30d4e049a3b224 GIT binary patch literal 15159 zcmX9_2{=^W`#&?rp6t;gL}ZInvZO&ol6@;ew)910%RXZ(OCgdyTeh(;k#$CqB3ork z8Ipb9$C#P>zy1EtGxN;cbKdjbbI(2RIp_Vn?Vf)gbpUD-SSk1E0Z{&W zQ&Zj4AF=v-IfSSCTlXfOvUwvI1sl`pE#>EfhIu_`IpJ%jGAVy z{5yG(3iF`!-`TfpLv7I!k)k>Cr$ifYWo2apC?WqVSFThBdQV=hJn%f+d%WF1r7X?Y zPkY}ZrR-N_KA?J|%|kJ5M+O(a(Ik~$GdyH(Sp4V7Eu{he`i07tpx2H$Wd z-jp$9Z-+B8YDsgd4hvoap>wwf8%2Vuv<9_Lv@Z1!R2rB#xVV5`JQw<+ajXmy6^;VQ z56ur(hg8iEKgZBxCQjr^V!tE;J5$&BT~@@ovIj@iXBzWDf* zLl~q1jHk8EU@waTOM5TD#HiXpn;}84otb!fV!rCM)h33wLr~|Qkt(qazb%OCX1-H^ zOsrX=Czw+%kq`k}xb@@y;*K#Wq3gGspop|lb}S9+_7XV0l{mOFC5r<4GPrpGD&ioQ zQHUFs$Yi1ch0M}5c7G|yFc!5x=l1Co!>it)%l;#zBuYzyn7hksPmtI(>)qg)dbOV= zK(vI+8dMrMZ14n)H3=9JO%vt9Mh^aEv{Pe+FL)XNmk~XtrT&>18eC5|8yH=BH&>X5 zk_0auhS}|qtVV3nr+Kl_m(vx?LV-hO%ztV-B|!7DGR3TlEK3i*-;MrH?UfEV^RX!u zAhvKG$EBlOs_8j6`*-P>UYWF=CGd1a8zQ3BzAx;T2A)TO``g3YSu$Z8MhK=~J)76U z(O7=PVH1=st9k*FqoinPK$j+uP|G?tyj_H2ux9NLMlc!jQrzEpoW+QP=uAEE zdonP1{LI@ zZA1}m1lmx1lN;3u< zjM(Wh*OkV(%Y5Qz5Q;|Lc>@{%TO*AdwTZXLiAGJK`l@61k>L5N2LnU))6-ay%V>XZ z1SqunHxJf|h!1h3*Q{&M=!gjHM zonjX{HW`%SR4RxLl_uib+uK7Xu9fu<46Lj6H_dMEEPkJzh>JV-Z2cw5M-5rc*deG^ zBAsSc-8fIgKy7S0AyTpS=^SHLLDELi;O0N`QsJN=B0q&wQe|y-4z}l=rgFm1B2rUR z12_M4)#`G{CH-4B8-z%7Oi>j}=unE{!$IPwq_Aw;uU4Al^83V+8 zeSHhN>}!tDuD{wlbnGDFkRHT#wi?NeB3-2aZQJX}>Y^q`dts0kU9m-M3*!6rA6}}A z36;k56(>4X;2DRq)AAnOxq={|+%V8^nZ*zT%@-kt^h@!SkbZpJuz;CnOAkcqw%RL5 zIadRc^fslioG>5+L25gI*cN}ch5MFZT^l1b0fd^ZK zVsmB|$kvOgAxO0iMmc(`U8^P{7d8u3D>J3VmG}f{NRLsevk#)_1350KZL1A~kYW4_ zddMK>+HF;*4P9R@j=jxT#Ox&9hC2L$M9A|wm>tT&wp#?g23o~XHoI%r?`ymc2{!&z zdmG?}A>wf6Ed+t-XA-nLS{0SCi?W11M#>+J6+7lA(JKRrCQJuqu0c-7Gg z(QsDozOCBp@5s7afPaV1PVX4STlV0|{f>VMOvDi5Y%D#J2p45q#iDF%Svlx@F@;Hs zNd^4YC5fUB$sSe1K8%n?9M*7hiEA424C}}SxYIUQroE#Jb`NwC4 zGH1f>n1YP+2I7D}&9|PLV(?wzw!V)tA)e9s@kOBnRPG{a{udk8=5AjU; zj^!b>|7qmNQ zH6xx3?5aBDHEoJ4sgmD@}e;f0o2vEKqQj)0HK- z40SdYn07$2LpzLiq74SrO$T$jzhd{VocpPz%N>wyZ(?U`1@y>ta$>sBOl<{rorsqu z>I*g94EtgVa8n*=&VQ9B{=bqrfuSK8nH+QBU!6x!e&Dt-kVCRk4BlMj{B&iy6x5aA zK=NhL9f=qgwYqiKwB<6GGr!ednRWxoUlVf|q`=A{9e?KKx8sxOBKgO>LNNzG!W4|{ zGs@v&EOH0`5+j_@*fV^-$ic4%@Z5VjwnRLwCxu=As3q?$c6Ue&d_91toXUQJ9Lg{z zKwvurVYCP2<^>5n3l#Q&fgE&k2J7G!?huiGlJ}G=z1?|ug?@QqQ}!yiKBHUH(m^hh zmIb239Fo@}KVuVm)Iff)VPLruE|htcAB!%NR5N{|u5E^J(S>f>^Z+5Z5ziYN>6V z$rhL(M%(_ai3Mu(R)~^tC<@+e#g17%Jg$QB*A-c4L267QqiHxTuz9$ShaweG+Y-vuGdI?kd`_1?%~+LoWnjOIN7!yb@dLfP+I!8j;{!p z6VMzok*%u5?h*d3T$RHEs*S+s5bhO=9L;*joAPtrea$dalf-8GtO945PiQN{0dIPt zXcV?L6ua}|Lhmw;ysN#tyf2wS#f7%P9~%bWs=r7w|4+@_ki&w2<iM zj5kC>cUYYm4(Za&FM06kCV1;}rc*4Zeslw+J;vwxNB1DEmG2D=KZ%_-KHQUt=sx1` z_A{}Icm8!S8|?I(?>lX?J5i2|HIC$ygH~5sq)qV)*UU1`l!3H3$z$#1I3RdAOhO8j z)56|ZdP3GzhcMc$UG}m=J@{ettt<|go%<%Vb-y1RG@aRL*G0DLJ(l)NLScu|o*Bwh zslE2s5a{df;+S!&?c-(@*W2_$=U%^S9YIBG+%Nzc4j5Q3-H-0Z-X&j%xRj&3AtEo( zOPS!2T30EQ_=X~kxreQHS0eR{5Y?hTmpnSYyF7i|0B;UB6=UPc=3}}&Y2z_g<4;}9kjyX zK_Rx#I08i*3GVIA{^k`BP>Onfm!7|n5!;6OThivg`n%Q@5>OZ1PdRaEE68bW7q#i#uDD9xblnw3~<4u&MH^jLpeJ*C$ z4sNhVdl^A~JMwPQ0s#e%3i{#MM?L%2H_V5L!KAA9>_1!fp<2{J8Na-ezrWRK`>yJO74<*irZm zH1gS4Ie&TszBI$cfPya=&1(<0$06SV zUJO+-ZwYOZo5QJ37mL;o!n0f}onw=TfVUE0D=Ax7{4ijVqP0 zg<2`7S0@OGRzQ|s(>br%qAV-l>Evb&)*}pWDmTX%yeiVQI@>G#;km%vxyxAMCD3c> z1MS@uvTUeq9ByypZ@+8PAzwCGhdbFJXf?+Ef!?+LQdilz*xBT;{Fu_V zlQ^UtH^=+KE~)|>e>sssf+<+rrSfBEFwe&7L}O3%?|D<)gSIOOg$PX2)#R{CSC3Fu zHVYz*cUP>dgp>qmA6g8vX0YzF(C)H@)0`1e8~JPuna0YLXmKy2)))#tPIm8tGO;uWk+Sx@}zX7C1k08p|$t?cDXM;W}Y1>;ok7PvN_JAu2;2nT_6@q#CmpDMz$o zVfdVn^{DUjVsLSRLj3fJZok>}yDO3~gpTaA!9TdmMk!o!`jx{HDDiBuVlJ99ZCO$O zaSb77d=ipmrM2~6U2FL#toO)wdT(=2WTZCx!x;CG9;xP2LlQZBlLx_XmY49CO%eiO ztC+)U5H!u{AZz!>P|lo)&%VR6=pO2_J~K^!v-%rGY@YUHaaYGKryI;8#q95gRt^hL zfq1=;USas!8nNpkw!a!U*^q4?M4Z00o14m__B}1}SIBcF+tR=xXW4My4Ubf>u-h)` z{wvyDy40{I`|B4+7atsCf7stAV&>t7yR}u$g!Tp?EfNz@ggWD}eE3YfPFHKVDQdA^ z<$4aUO!3t{n)@s!V0_mvLb|>Y^`^WEg`Gn`x8FvM42z*jtvnzx_Ba%iYGgC4=aXSZUHkiETKfAEp088%g+!K4O2k z7*f?@;bZp28dr*G4?`LozUSPD#9y_A9)3f}DW8&j~tC&nUwPivm7AJ`^;=Q~VXBSoqH-+ctg< z7nn(o&z>UJsRrrY$h%}=tuUE7g{e<=MrI|!3upHiKm4PK2Qrs)|0c+^CM|Ce=OUh7 zaH1!OQDly>Hd76}cl59YYsjfTf>}Lfr|~wAC~hkKsYz(R>QKW&;T|D$*2DLYmL=j5 zKmUV1K4X`R)leMwIytqnvNDBd?luQ32<@M3OZ&J~9~8!I=nZ>ciQuI|S5LR*95#|L zY5%_>kyDw#kk;MNx@YD(QDui0w5snuyx7BD(KjIx+OPz{&f8YrUt&u^1LCMYI0wz} z7w+x4ysKKVA>25AG}K3T#xUaEf!Db(5Jn-y39#_MHq!l8OB39AI2O8 z#T|Y-VY_E*j3g%7*az3q<3rM4c??R2%?}$IJvwqOLVwG@*bnW-vEK&qrxmd~0mH+0 z@%vKDw6T0s0ZLo#F>(!FVFB;I8P0{Vl=iUpq1sD=g{XI%z9&C9SFN!k*vHz9p1ufO z)==4dP!`C#HSk8&iXk+}a*=WQPog`vpIOa&Rfy<&)$Shccf1ofr6#P+bUfkH1E+z9 zlv4|>em$9)oYsGbA+uaPSBt}`6RtJoZ&Ad&U zKC_w`tuZN_JGVuJ99&!_MskSoqtMmmJPP3*WF75XX={Fj;6eI)4#f+T9A3}|w{#Zs zn1AhLVQrKAF>RbuX$4L}y;*IK1pTyaRalr@{8w8z&fL;}_FgT@iMGk__Iuxk?jL0FOqkJ}ZrNXeYI4@5j8x0wLxx zKJDvB0BGR?dl2{V-hTp(_m;cbF>|d)n^;e=?Ek=<F|k;IrbTg*Z0Ae7UbdgLsH=BZeF;raz;9F8oL2WBdfaPgdc3gz?yxEGcsO*k zd{MS%OJWwXzDnA3WEJAf8J>5&QV6ZU2*Mwp%~#L8#T`2;FjF>20*atGezSt6zZhgh z9yrngiSC6Tn5k{JoyoPL5(4Q7%tnh)+MacN=!4Estn&wE>3e>$DKlnh+5HC6C^zVV zI5&s4i^)eu8(wZ0eb&rW{o^9v<@eWv?!R`WfLe0qE(*&)(D7%xkdf^gTGtVYPgW}Q z{5$Xx{B?Q&Ywy@TafT$TIb$o7_zxLj? zH*Oe{ueeOiO!v}B9%!PTwe2l}6cC;t{{=&kT=;M%TbwOy(tGwP!J?L41 zSBRhAUNj3qvvuhkq4`)78hTo6hfAxw-6b zW4;_M7ECbF7l4*eRS?tb#yog|IV4i|My9IfmHloGhpaL!$WAsez?V{`GM^$iFA4*e z??~@g{aJ-MXHw&noFYQEDzUcJ^neR{Vf^)~wZj$+vk1?;hN}c1d8ajsL>0x3)lS;R zBx_7EO7pp`vaa##ZmPmGlaT2EJls>Cj_=jQ&*4S=Io}0t7*j4xdi{WmEP!0~!%y|8 z`8HWtKcb*`jb|grf5S^qI14BNM;=i^pb-rna7YvP#w8r)`F3!srFEMEhQF7G-2S1w^aZ98j|TtkjBg~yqeCL`lQ;x@vU++`zm0*uJ$FnIm0wpEWo zHS(i=BsXbTwo;`uW4}Q|Of<&#c1Vs#*(QjE4h`Y2t`b^QMdMergc}=ZjwfL1C^Mn7 zRinx4fw1Q1xNp!)CfYOQDnGDr@JWCR%iU&tF78SXWR$;y;R%N>yr%>EFF_VT|5qxD zy2O8JccW-&zsd zB@+(Cq=D$mcveQ%;vJ9H5)o}@;mQM5FcWfU$A;A>NJ;|6Ef)998wY4fa|M=}F&!Qz zT1Xy(gZ(8qRGG$Afu2Y|VG=8bAAsW1U zl~dUhXF=0n=+fFPKB(ZR?vVudWnAcHdF^Lk*Fi?xa&&08?rs^>IkfOsEvtCMcOkt&AZYv72_TjA}Ek&)echjnTvHyYzt_f_tDtfNd%NBZXt7k-OBsH0c(#Q_Eo-#C zj?AuK>UgD}rDiGN`>h^mVabLaYr$|Vb{FH~r)SVk81 z0Xf=3<{RPmG47**T`Oo|jvQY13v(4q5qK2zgJ*XIBc59}VK%#-c`c2lYV15^ypuI7 zy84xAv^@1;rV*_>?@{W7MqX@PoqScNLgtJu^<)DGHklPP}$un*~t3wamf2AG{v!R{%V<7?c&M)hvhUj zUhEgGLCS**guR1ROTj}*lmC}1C!aMx`RSpG&^hzdzp$1pPGS_En!_t>SVa)6r5U!T zagbCR?b-F;tdjVukZ)25_(;=4C&Yx%r`4%>LnMC1zlDA)HqBm7Y9SKN^Qn> zs3&FhzDkvR!JtBayn&zU!divo`dQ$|H8nRUwxoji_CE>f#9?%p;1g%F1ELXvkXLD8 z0Mdw8f?ry^HPL7@zDqqB2*er(-!f7B7pg>W7(4i|BYTQa1bw7tI(Vh)-uIQ0a5E)i zg)x?p(8nTU`{p<`?xU*W?Eb`4*;v2vvvJ$Ue7mfRgWv7yzldCF`xAdlzctn7V_oJ(nb{sRMZ&~4$|xChph2nYA)i+J~g zKP5Mi#f{`EE0Do|*dct>(sAlB(!4!J@LAf!CQ30SVdm5;pvfJgTX@KtsrG zU*8Ke$%xR^t>JCW(!fd`cE`^3m+?5DI9xT9^;;X?KAH@*vnoEl4T9?zx$*0yR5#|k z=j^--pR*7|bp?1RGJ{rwjh|LD)QHY^i(Y#px__R~^E(U7FP`H$S0yC-aG6sTBwMaP zT&(0{8!{Vw$fr9E=VjVBJj*M%Z^ME)W*!aWI9hArz3e`42Yo{%;dCBdc7sYRz$qdI~h{uJuC2uCBNe=c(@MF zyXW1Z1oyaiq_1zTX>2xxa<7Obty7bwxhEUpX<1_J$rex6OFLG7a>0 zu5WJ|Xr}Z$ytfjiqW^?yxGIUaP_?GfWqn#ySQ?$?r}!$*S}gF^xTsoJUc)KO&Fyl*&#@oz?gC#FPgHZ@ZL{D|HdvuJKf*8nU)+&w1M)5{Qxp zL?zB0RK+|s?l+z9ZeYJ}!4v8+X%lzL`}&kmV}9elpz8--YTjPM7jXT*cxrkR_L_g( z_`UWGJpnUjLJ+-jM*gbt4(`E11#MDFp-`iR>2t+Z==*P$_K=goiNv$3R)rjwiUXCr zp?g!BagqrC;aS#}M~F1Lc)H4oQQk>0y0V)e2If|GduCGD8@EPIv#unVR!t80HU>V? zO>>I1fwANGoUimdh1-^O*SWAl@pPvP?p65Jyg5>j_bA@B`m<3MK=dH(!zpsl4&Lp` zKk8k#u$XoiLVHYl;Mamz!xm`Wkh*47`OePQv&R`ynnZ|@YwGrTobr7vT{Y> z>6^ulS?{UG#;Z?{$>Gx1v?zG`okh5*It-N68A=HGWeIjIWUZyp9&vzYQo_}7nDZ^9u-oX{tv@5VrabyBSO!H4oSyCM?`IY#uwk}$i(}o(O z;yvAv)f@~TE)Y6WkT+^CF5B8Kus`+skvCVs1sV_>m-T@ikGyKhuAq}g zq}>>UT9z(?&O6ZaGe#_)dY_3^VDS~oPWbK!=Sg#j-@0WT@3s7tyPGEWs(^1sTO7F2 z9f`{N&rlTb{|ZuF*qRv=d|KmTziFgj3eqr+q6zu}5Or|>RZI4nknG?MR1386>XUQOXOh^MXwwk^_hSZVB=7 zE82xDWAP;sgdI-#k0A>`_IpGTe($3<;(9}`D1 z&pPN%lpfiuU06GdaOoEg<>9ypr{8@#LkZq4Uiqj`Fua!IwTCgYg*zxO^uehk=LBzH zjRJ^ zk(Cy=n)4>^8~SO3VFFnnxShmmNPXD8O<>+bLHK{_>b_vw&esOrhNJ8#F}gEX-4IhQ zLE(5fz$y3CSXJfVJk}RZ8C4+vDfSdyL-K2`qZdDad^6>dwwv(y>Y_J9+-aj9G)E|M zVm+&&gaRKX+Q`m4>WKT$lZ`8F;(!gF2}hfaJ>@2T*sjo$G~h9Qt!}?0#0<2NoIJ26 zCDc%k!5`krQm~;h9?5lE`?dJnkQaQPs76kS+Nf!(Jf)P^!k7m3g7l@t4lZmF%TyGd zQr?3dkjriLZD1dhKFgGf{4{ttgg3ix4vw^ev^RX!5dzk=>YQ~{+yD5WKKkcQl?b+M zAg#%ItZ0tjZQ7I(ihE>BzDclTxJS)Y=LQUP_q|?0HD-Crq?Sjv{q5*amq!UtD*?Z2 zaUsiKI(J|vO3lr&o6?Ru4?Q8k)w5;uwrp-2D6Aw9o24(W#(La3*#8ajvQoSe4rIm7 zsT^Mics`f`y^pLeio<2J(PvaC3@d-~C{`OXe~|s$V=#P#g$J)INUH=u16!D#cE+ppw=%_CIr&nJSi+Z}5RC3)ojw1TLKb3ol1Mmto`sk!rkl zg5o=!taqxT+XjtZgqA^^J`@M#?HUWnIrd+#vC|jm<>*#%P-ndACyKpt!~lipoP^3P zMYeJ(cxo85CQ26vehK}6!~a7@5GLuaXH3k1G_z&&1sVP%z9dJ^31tdv_E%cL9J1)* z_!3d?HMmrQysE}%>@nu3tCy#|F)-XqeQALxC1L65tosi{WUMz}nUGLiIDJf9^I zRUDYy-n~q6y9xxLH1j(Zv>aCrIKC9MgpYl%^>>Lr!1S-Q@`PH>=+b3lm7&c9j;rbU z+nC`WR$zqHFxDY#;p8mzxzF^;{(#nocK9(9MvOe1Q;`;zy27ik_>wQ*v}AI=@o})~ z=zKO4jVY|^%@Y{*0& z%_G;VT>3k=qBZhb2(~VAu*Xga3+7%9=g>nA`k#$<(q(VusMjb!g*vn_qcD;8E3v2) zaEUFfu(o^rZ8Gdfm1q>uhdOj%#Dq|B63=LETzBaSmb^mSsUCqq{|1sHO{0Jz^kcMb z-b)D?ix0Eqx(v=hHpA? zl3`;sc`9Lpv=ngq&m>0buME~t!>-5*;YOF$$=c?P6RAic!I`R!+nkgznK@xb47U%` z4u>WT^wefA*I*alv4tGlV0@o7Zwe2S#Cv%tlTxW@$xC>|^u^`QS0h3}4TL#!=;~Z{ zn3~~ZfXTs|30?vp{_swvL$~wc)R*V~o*9#ikvgdl=PeUB%_C@0;REl|H=cRY+mb!H zjNzn@sgM*@tKs0Sq-!QRqF2E};l@6__bzQ=hyXEbGqp1kLQS)mc&W*A z72Lh|F8t)HsebG*z}vLIjjb<686y;R<>1^#HO$b}gcPmyr3?HU5${{$e2Ew{7GA8M zZmx+J6}a=g(yE7W^SA(fNZg{*@5^)Jhh^$-ctgaGkkqYLKHG9-nm*9gOaWuP(eCt$ zP90pJs^xDkwaxa>`f2&;OBU??zKyXSIo-{yq}BPym&D@_gvHteX)cwx1RE}RXF0`I zubQrRgT7JyGmlDp|ML0cq@h-7(^lxA|LnB&KHcHc1hja5koy;-Mai4BZbA7!)xY)) z&XO`6xj^!KMcARDKtt=6tH%UtI(1Ew1?@ZfaDJ3Vb#<@2>UKzKz85ySN>Xmz+Jq{C zSAtj7ITm)bgOkSgZBtBzKDUM^dZU(P;@_;dMqE}x)2)(7vB^IMGt>Puf1^=`foK9vQ~ReiwXHB4)4vb zQ@Iix{2!yn*0sMTxs$C@wO}8CXMx^M(U0`{OK5be#fRINWv^0Du0Zc~5iD2*r4Izv z5ECrlCDU3jzPt?^rAN6t-5?Ls&X>~j2j1<1k8d^4V3NzZfJsOMAFe76;VBtU5@s9O zgzlt&IggOL{bU}E^vr7bi|06t={z4758X~`Va=6V-fC@X3Xlv;3HzuxwD8O{xW5qA zBP|7_$|VwK!bLs|8aUAjMG!wsg z|DK4}K;~#5oU8q2ZmzgIQzL0A(xm=HC?C>zD|QNF+t3XfYt+@@qtL3v10li6z-!SF zH9A9?&P=Dw4H09xO&Vzr!)o$xQ9W02c#g!3Cw;EUBXGqBvFm0jAZWjW1CDR3Wm)cu zIIVkSZ;jIPVg)h;Pe~$lxXVJ{zL>%@@?up>P?~V~;*owi`K59=hS3x#=W=lz=fbYS z%|cL6e1Bv=PM2V9iu^+`*bDh5Mi&ktO28?su9{}nVC}0EGxRrY7y(xWjQKFwa?aGC z&MuezUlEcQD`LnTjWucidBI%aW6o5<4ksl+lYUCa6p2h-P9ew-cjVmA`5QKcLBa_6 zrJLB_=ex$H2Co|1WVvize>5pKy?)6JkyUbl_=^A^OtHfc6JK~ws^5k&FFzc`gPaS<4a zop4mHwkQH|vxd2Pb*=bU0>yv01JYe!V^$l$2^z{KVHcGOyKa!~PGMw(uJlHkZU2lt z4WIgR57ghi!47=5WIT>MXS%*^)xxcPn3!XXf;tkxk+?8gkER=4rT(88b7EB1(_Zn8?30tVX+S;{PeduN) z(2JZSa4JR>4&H;wD!G&EIYWzRHZCmlfV&sJDx({vwsUYu#hn zyHQLOg7fMDZFFV-S%eZm*xRTjxSh0HNX^U-oQ%zdIYV7I^glL8y;u66_VgwFj}o1+ zf@6KUGz?_U|B;&0F6tkKp|0y3-@eI#! zUCEmqSm$BD@QYCE>60*xS$eGRygy`SDetk9N zE6J|@-Clr&$x7YTc(W=T0lE{-#jN%>BON|>+5GNr7N5OanMG zdWoqY_rx}465AJ>vOiJO?t$y2pfFP$tDDyt4n^T;r$z~b+x-Haa-A>r*QR(1EqBGE zP(tcE3}AsXh#CVEXw-*oe?%!tfGHnybdbh|0XHwU(`*2k%|*o)NZ(Np{lP-WKe1~kcq+>C`9>2{;!;~T-fJkF$8Ph z%LHb%N9DgD1MhC8i<-zpr3QMe^qnVAD+_H@qX8ya{SZY8c9xtHaw=RB!yA7-T?`jJ z=V=&6Jm+Ef=3Pi`o}5Qv>S1(2v}?6i+aNc(_>aDIp>GA2;mw8N+C2 zbvqYS=+09VX#4X6$T8Wfu9wY=gb9WSBM3qnnuG=h7KEa?gxLOl*yi|6Q<$txJ#6Ay z7_ira%|na~B<%hbcl8urAL!fz)y#*7{JhNIM)w}@G`OP*lhrh)y3=%kTzU$Q5Vxen zm&ne#qmTo~RYUcnU^-kG7lM_RnlFjnNx|*!FV1!Uh52#tmtPBx?Ql$2(U^k*wN+aMp9&bI&y-89oMENRE3eMc$2u6iSjvmjfbLf*pT z@Wpjaq*{}3f|(VO`K~OOm86g|z^cQ~3~IldGD;t>emkY{Ih~$@>5>#Ye&!!fQRJ!C zb|S~yDmGG~Dk}IdOdqry5=Fg6@igCJayj?h#OfPlP`(iczcs9C#_4bc34ci(DzEu& z0L^LTeDz6Y7zQp%AS8u}H{W6@;d%bieA7m%V={DL>9pbzW-ypsWISamPG?{-+5LEg zj>MH$QmT%;Hh%)}Y>P1!1a8!bE#v=*iv!a4X}%oUdeep=l+a=KKX zr$4h>Vp24ZZLK{Zbn!ev7JXy nmEg7RpYy?o0p{y!BpUlUjftJy^@(pV&lTL%($}oiunYe`#!vri literal 0 HcmV?d00001 diff --git a/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-1.png b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..529c2ffb85d95d96929ab8b6ede8bd9030d23e11 GIT binary patch literal 15152 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 literal 0 HcmV?d00001 diff --git a/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-4.png b/VisBug/VisBug/Assets.xcassets/AppIcon.appiconset/VisBug2x-4.png new file mode 100644 index 0000000000000000000000000000000000000000..580a7d99ff179e4bf8a8b068d5ffcd4e35f17296 GIT binary patch literal 7384 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 literal 0 HcmV?d00001 diff --git a/VisBug/VisBug/Assets.xcassets/Contents.json b/VisBug/VisBug/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/VisBug/VisBug/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VisBug/VisBug/Base.lproj/Main.storyboard b/VisBug/VisBug/Base.lproj/Main.storyboard new file mode 100644 index 00000000..ad15cb70 --- /dev/null +++ b/VisBug/VisBug/Base.lproj/Main.storyboard @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisBug/VisBug/Info.plist b/VisBug/VisBug/Info.plist new file mode 100644 index 00000000..8a664504 --- /dev/null +++ b/VisBug/VisBug/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSApplicationCategoryType + public.app-category.developer-tools + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSMainStoryboardFile + Main + NSPrincipalClass + NSApplication + + diff --git a/VisBug/VisBug/ViewController.swift b/VisBug/VisBug/ViewController.swift new file mode 100644 index 00000000..165f0b71 --- /dev/null +++ b/VisBug/VisBug/ViewController.swift @@ -0,0 +1,51 @@ +// +// ViewController.swift +// VisBug +// +// Created by Adam Argyle on 11/2/20. +// + +import Cocoa +import SafariServices.SFSafariApplication +import SafariServices.SFSafariExtensionManager + +let appName = "VisBug" +let extensionBundleIdentifier = "argyleink.VisBug.Extension" + +class ViewController: NSViewController { + + @IBOutlet var appNameLabel: NSTextField! + + override func viewDidLoad() { + super.viewDidLoad() + self.appNameLabel.stringValue = appName + SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: extensionBundleIdentifier) { (state, error) in + guard let state = state, error == nil else { + // Insert code to inform the user that something went wrong. + return + } + + DispatchQueue.main.async { + if (state.isEnabled) { + self.appNameLabel.stringValue = "\(appName)'s extension is currently on." + } else { + self.appNameLabel.stringValue = "\(appName)'s extension is currently off. You can turn it on in Safari Extensions preferences." + } + } + } + } + + @IBAction func openSafariExtensionPreferences(_ sender: AnyObject?) { + SFSafariApplication.showPreferencesForExtension(withIdentifier: extensionBundleIdentifier) { error in + guard error == nil else { + // Insert code to inform the user that something went wrong. + return + } + + DispatchQueue.main.async { + NSApplication.shared.terminate(nil) + } + } + } + +} diff --git a/VisBug/VisBug/VisBug.entitlements b/VisBug/VisBug/VisBug.entitlements new file mode 100644 index 00000000..f2ef3ae0 --- /dev/null +++ b/VisBug/VisBug/VisBug.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/app/components/_variables.css b/app/components/_variables.css index d1818ca5..00a88edf 100644 --- a/app/components/_variables.css +++ b/app/components/_variables.css @@ -1,7 +1,9 @@ :host { --theme-bg: hsl(0 0% 100%); - --theme-bd: hsl(0 0% 100% / .8); - --theme-bd-2: hsl(0 0% 100% / .9); + --theme-bd: hsl(0 0% 100% / var(--theme-bd-opacity)); + --theme-bd-2: hsl(0 0% 100% / var(--theme-bd-2-opacity)); + --theme-bd-opacity: 1; + --theme-bd-2-opacity: 1; --theme-color: hotpink; --theme-blue: hsl(188 90% 45%); --theme-purple: hsl(267 100% 58%); @@ -20,12 +22,17 @@ @media (prefers-color-scheme: dark) { --theme-bg: hsl(0 0% 10%); - --theme-bd: hsl(0 0% 10% / .8); - --theme-bd-2: hsl(0 0% 10% / .9); + --theme-bd: hsl(0 0% 10% / var(--theme-bd-opacity)); + --theme-bd-2: hsl(0 0% 10% / var(--theme-bd-2-opacity)); --theme-text_color: hsl(0 0% 90%); --theme-icon_color: hsl(0 0% 80%); --theme-icon_hover-bg: hsl(0 0% 15%); --theme-icon_active-bg: hsl(0 0% 20%); } + + @supports (backdrop-filter: blur(5px)) { + --theme-bd-opacity: .8; + --theme-bd-2-opacity: .9; + } } diff --git a/app/components/selection/hover.element.js b/app/components/selection/hover.element.js index 856076e2..5786517b 100644 --- a/app/components/selection/hover.element.js +++ b/app/components/selection/hover.element.js @@ -14,9 +14,11 @@ export class Hover extends Handles { this.style.setProperty('--position', isFixed ? 'fixed' : 'absolute') return ` - - - + + ` } } diff --git a/app/components/styles.store.js b/app/components/styles.store.js index cc05d591..54008370 100644 --- a/app/components/styles.store.js +++ b/app/components/styles.store.js @@ -1,3 +1,5 @@ +import 'construct-style-sheets-polyfill' + import { default as visbug_css } from './vis-bug/vis-bug.element.css' import { default as handle_css } from './selection/handles.element.css' import { default as hover_css } from './selection/hover.element.css' diff --git a/app/components/vis-bug/vis-bug.element.css b/app/components/vis-bug/vis-bug.element.css index dcd87fad..ae7fa31d 100644 --- a/app/components/vis-bug/vis-bug.element.css +++ b/app/components/vis-bug/vis-bug.element.css @@ -13,6 +13,10 @@ @media (prefers-reduced-motion: no-preference) { transform: translateX(-200%); } + + & [constructible-support="true"] aside { + transition: opacity 0.3s ease, transform 0.2s ease; + } } :host > ol { @@ -98,7 +102,6 @@ box-shadow: 0 0.1em 4.5em hsla(0,0%,0%,15%); border-radius: 1em; - transition: opacity 0.3s ease, transform 0.2s ease; opacity: 0; transform: translateX(-1em); will-change: transform, opacity; @@ -245,6 +248,7 @@ background-color: var(--theme-bg); color: var(--theme-text_color); cursor: initial; + -webkit-appearance: none; &::placeholder { font-weight: lighter; diff --git a/app/components/vis-bug/vis-bug.element.js b/app/components/vis-bug/vis-bug.element.js index ef2fd285..1ffbb8d3 100644 --- a/app/components/vis-bug/vis-bug.element.js +++ b/app/components/vis-bug/vis-bug.element.js @@ -16,8 +16,12 @@ import { VisBugStyles } from '../styles.store' import { VisBugModel } from './model' import * as Icons from './vis-bug.icons' import { provideSelectorEngine } from '../../features/search' -import { metaKey } from '../../utilities/' import { PluginRegistry } from '../../plugins/_registry' +import { + metaKey, + isPolyfilledCE, + constructibleStylesheetSupport +} from '../../utilities/' const modemap = { 'hex': 'toHexString', @@ -30,15 +34,14 @@ export default class VisBug extends HTMLElement { super() this.toolbar_model = VisBugModel - this._tutsBaseURL = 'tuts' // can be set by content script this.$shadow = this.attachShadow({mode: 'closed'}) } connectedCallback() { this.$shadow.adoptedStyleSheets = [VisBugStyles] + this._tutsBaseURL = this.getAttribute('tutsBaseURL') || 'tuts' - if (!this.$shadow.innerHTML) - this.setup() + this.setup() this.selectorEngine = Selectable(this) this.colorPicker = ColorPicker(this.$shadow, this.selectorEngine) @@ -118,7 +121,7 @@ export default class VisBug extends HTMLElement { render() { return ` -
    +
      ${Object.entries(this.toolbar_model).reduce((list, [key, tool]) => ` ${list}
    1. @@ -244,11 +247,6 @@ export default class VisBug extends HTMLElement { return this.active_tool.dataset.tool } - set tutsBaseURL(url) { - this._tutsBaseURL = url - this.setup() - } - set colorMode(mode) { this._colormode = modemap[mode] } diff --git a/app/features/hueshift.js b/app/features/hueshift.js index b808f518..433606d1 100644 --- a/app/features/hueshift.js +++ b/app/features/hueshift.js @@ -19,8 +19,8 @@ const state = { } export function HueShift({Color, Visbug}) { - state.active_color = Color.getActive() - state.elements = [] + state.active_color = Color.getActive() + state.elements = [] Visbug.onSelectedUpdate(elements => { state.elements = elements diff --git a/app/features/margin.js b/app/features/margin.js index d52b5e2d..4a128752 100644 --- a/app/features/margin.js +++ b/app/features/margin.js @@ -90,16 +90,15 @@ function removeBackgrounds(els) { export function createMarginVisual(el, hover = false) { const bounds = el.getBoundingClientRect() - const styleOM = el.computedStyleMap() const calculatedStyle = getStyle(el, 'margin') const boxdisplay = document.createElement('visbug-boxmodel') if (calculatedStyle !== '0px') { const sides = { - top: styleOM.get('margin-top').value, - right: styleOM.get('margin-right').value, - bottom: styleOM.get('margin-bottom').value, - left: styleOM.get('margin-left').value, + top: getStyle(el, 'marginTop'), + right: getStyle(el, 'marginRight'), + bottom: getStyle(el, 'marginBottom'), + left: getStyle(el, 'marginLeft'), } Object.entries(sides).forEach(([side, val]) => { diff --git a/app/features/padding.js b/app/features/padding.js index 2c5900b6..fe1e9056 100644 --- a/app/features/padding.js +++ b/app/features/padding.js @@ -90,16 +90,15 @@ function removeBackgrounds(els) { export function createPaddingVisual(el, hover = false) { const bounds = el.getBoundingClientRect() - const styleOM = el.computedStyleMap() const calculatedStyle = getStyle(el, 'padding') const boxdisplay = document.createElement('visbug-boxmodel') if (calculatedStyle !== '0px') { const sides = { - top: styleOM.get('padding-top').value, - right: styleOM.get('padding-right').value, - bottom: styleOM.get('padding-bottom').value, - left: styleOM.get('padding-left').value, + top: getStyle(el, 'marginTop'), + right: getStyle(el, 'marginRight'), + bottom: getStyle(el, 'marginBottom'), + left: getStyle(el, 'marginLeft'), } Object.entries(sides).forEach(([side, val]) => { diff --git a/app/features/search.js b/app/features/search.js index c60b964a..8c94e144 100644 --- a/app/features/search.js +++ b/app/features/search.js @@ -1,8 +1,9 @@ import $ from 'blingblingjs' import hotkeys from 'hotkeys-js' import { querySelectorAllDeep } from 'query-selector-shadow-dom' -import { notList } from '../utilities' import { PluginRegistry, PluginHints } from '../plugins/_registry' +import { notList } from '../utilities' +import { isFirefox } from '../utilities/cross-browser.js' let SelectorEngine @@ -12,15 +13,26 @@ search_base.classList.add('search') search_base.innerHTML = ` + ${isFirefox > 0 + ? ` + + + + + `} + ${PluginHints.reduce((options, command) => - options += `` + options += isFirefox > 0 + ? ` - - - - - ` diff --git a/app/features/selectable.js b/app/features/selectable.js index 3db321a1..bd42b801 100644 --- a/app/features/selectable.js +++ b/app/features/selectable.js @@ -167,27 +167,27 @@ export function Selectable(visbug) { if (window.getSelection().toString().length) return - if (selected[0] && this.node_clipboard !== selected[0]) { + if (selected[0] && window.node_clipboard !== selected[0]) { e.preventDefault() let $node = selected[0].cloneNode(true) $node.removeAttribute('data-selected') - this.copy_backup = $node.outerHTML - e.clipboardData.setData('text/html', this.copy_backup) + window.copy_backup = $node.outerHTML + e.clipboardData.setData('text/html', window.copy_backup) const {state} = await navigator.permissions.query({name:'clipboard-write'}) if (state === 'granted') - await navigator.clipboard.writeText(this.copy_backup) + await navigator.clipboard.writeText(window.copy_backup) } } const on_cut = e => { - if (selected[0] && this.node_clipboard !== selected[0]) { + if (selected[0] && window.node_clipboard !== selected[0]) { let $node = selected[0].cloneNode(true) $node.removeAttribute('data-selected') - this.copy_backup = $node.outerHTML - e.clipboardData.setData('text/html', this.copy_backup) + window.copy_backup = $node.outerHTML + e.clipboardData.setData('text/html', window.copy_backup) selected[0].remove() } } @@ -195,7 +195,7 @@ export function Selectable(visbug) { const on_paste = async (e, index = 0) => { const clipData = e.clipboardData.getData('text/html') const globalClipboard = await navigator.clipboard.readText() - const potentialHTML = clipData || globalClipboard || this.copy_backup + const potentialHTML = clipData || globalClipboard || window.copy_backup if (selected.length && potentialHTML) { e.preventDefault() @@ -209,13 +209,13 @@ export function Selectable(visbug) { const on_copy_styles = async e => { e.preventDefault() - this.copied_styles = selected.map(el => + window.copied_styles = selected.map(el => getStyles(el)) try { const colormode = $('vis-bug')[0].colorMode - const styles = this.copied_styles[0] + const styles = window.copied_styles[0] .map(({prop,value}) => { if (prop.includes('color') || prop.includes('background-color') || prop.includes('border-color') || prop.includes('Color') || prop.includes('fill') || prop.includes('stroke')) value = new TinyColor(value)[colormode]() @@ -247,13 +247,13 @@ export function Selectable(visbug) { } const on_paste_styles = async (e, index = 0) => { - if (this.copied_styles) { + if (window.copied_styles) { selected.forEach(el => { - this.copied_styles[index] + window.copied_styles[index] .map(({prop, value}) => el.style[prop] = value) - index >= this.copied_styles.length - 1 + index >= window.copied_styles.length - 1 ? index = 0 : index++ }) diff --git a/app/utilities/cross-browser.js b/app/utilities/cross-browser.js new file mode 100644 index 00000000..91d5719c --- /dev/null +++ b/app/utilities/cross-browser.js @@ -0,0 +1,18 @@ +export const isFirefox = navigator.userAgent.search('Firefox') + +export const isPolyfilledCE = shadow_node => + shadow_node.children.length === 1 && shadow_node.firstElementChild.nodeName === 'STYLE' + ? true + : false + +const testConstructible = () => { + try { + new window.CSSStyleSheet('a{}') + return true + } + catch (e) { + return false + } +} + +export const constructibleStylesheetSupport = testConstructible() diff --git a/app/utilities/design-properties.js b/app/utilities/design-properties.js index 67637cea..65a0c1f5 100644 --- a/app/utilities/design-properties.js +++ b/app/utilities/design-properties.js @@ -1,3 +1,5 @@ +import {isFirefox} from './cross-browser.js' + export const desiredPropMap = { color: 'rgb(0, 0, 0)', backgroundColor: 'rgba(0, 0, 0, 0)', @@ -37,6 +39,17 @@ export const desiredPropMap = { gridAutoFlow: 'row', } +if (isFirefox) { + desiredPropMap.backgroundSize = 'auto' + desiredPropMap.borderWidth = '' + desiredPropMap.borderRadius = '' + desiredPropMap.padding = '' + desiredPropMap.margin = '' + desiredPropMap.gap = '' + desiredPropMap.gridArea = '' + desiredPropMap.borderColor = '' +} + export const desiredAccessibilityMap = [ 'role', 'tabindex', diff --git a/app/utilities/index.js b/app/utilities/index.js index ca9306e6..f8d98ea1 100644 --- a/app/utilities/index.js +++ b/app/utilities/index.js @@ -3,4 +3,5 @@ export * from './accessibility' export * from './common' export * from './strings' export * from './window' +export * from './cross-browser' export * from './isFixed' diff --git a/app/utilities/styles.js b/app/utilities/styles.js index 84ba1c5e..9375ca0d 100644 --- a/app/utilities/styles.js +++ b/app/utilities/styles.js @@ -12,46 +12,37 @@ export const getStyle = (el, name) => { export const getStyles = el => { const elStyleObject = el.style const computedStyle = window.getComputedStyle(el, null) + const vettedStyles = [] + const borders = [] + + for (const prop in el.style) { + const is_desired = desiredPropMap[prop] + + if (is_desired && is_desired != computedStyle[prop]) + vettedStyles.push({ + prop: prop, + value: computedStyle[prop], + }) + + if (prop === 'borderColor' || prop === 'borderWidth' || prop === 'borderStyle') + borders[prop] = computedStyle[prop].replace(/, rgba/g, '\rrgba') + } + + const { borderColor, borderWidth, borderStyle } = borders - const vettedStyles = Object.entries(el.style) - .filter(([prop]) => prop !== 'borderColor') - .filter(([prop]) => desiredPropMap[prop]) - .filter(([prop]) => desiredPropMap[prop] != computedStyle[prop]) - .map(([prop, value]) => ({ - prop, - value: computedStyle[prop].replace(/, rgba/g, '\rrgba'), - })) - - // below code sucks, but border-color is only something - // we want if it has border width > 0 - // i made it look really hard - const trueBorderColors = Object.entries(el.style) - .filter(([prop]) => prop === 'borderColor' || prop === 'borderWidth' || prop === 'borderStyle') - .map(([prop, value]) => ([ - prop, - computedStyle[prop].replace(/, rgba/g, '\rrgba'), - ])) - - const { borderColor, borderWidth, borderStyle } = Object.fromEntries(trueBorderColors) - const vettedBorders = [] - - // todo: push border style! if (parseInt(borderWidth) > 0) { - vettedBorders.push({ + vettedStyles.push({ prop: 'borderColor', value: borderColor, }) - vettedBorders.push({ + vettedStyles.push({ prop: 'borderStyle', value: borderStyle, }) } - return [ - ...vettedStyles, - ...vettedBorders, - ].sort(function({prop:propA}, {prop:propB}) { + return vettedStyles.sort(function({prop:propA}, {prop:propB}) { if (propA < propB) return -1 if (propA > propB) return 1 return 0 diff --git a/extension/manifest.json b/extension/manifest.json index 2aba469a..b8d99c73 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -24,7 +24,8 @@ } }, "web_accessible_resources": [ - "tuts/*" + "tuts/*", + "toolbar/*" ], "commands": { "_execute_browser_action": { diff --git a/extension/toolbar/eject.js b/extension/toolbar/eject.js index 92a7164d..b9b46f03 100644 --- a/extension/toolbar/eject.js +++ b/extension/toolbar/eject.js @@ -1,2 +1,2 @@ -document.querySelectorAll('vis-bug').forEach(node => - node.remove()) +document.querySelectorAll('vis-bug') + .forEach(node => node.remove()) diff --git a/extension/toolbar/inject.js b/extension/toolbar/inject.js index 4f813384..8e13647c 100644 --- a/extension/toolbar/inject.js +++ b/extension/toolbar/inject.js @@ -1,7 +1,11 @@ -var visbug = document.createElement('vis-bug') -var src_path = chrome.extension.getURL(`tuts/guides.gif`) +const script = document.createElement('script') +script.src = chrome.runtime.getURL('toolbar/bundle.min.js') +document.body.appendChild(script) -visbug.tutsBaseURL = src_path.slice(0, src_path.lastIndexOf('/')) +const visbug = document.createElement('vis-bug') + +const src_path = chrome.runtime.getURL(`tuts/guides.gif`) +visbug.setAttribute('tutsBaseURL', src_path.slice(0, src_path.lastIndexOf('/'))) document.body.prepend(visbug) diff --git a/extension/visbug.js b/extension/visbug.js index 007710b6..29437ca3 100644 --- a/extension/visbug.js +++ b/extension/visbug.js @@ -3,34 +3,33 @@ const state = { injected: {}, } +const platform = browser || chrome + const toggleIn = ({id:tab_id}) => { // toggle out: it's currently loaded and injected if (state.loaded[tab_id] && state.injected[tab_id]) { - chrome.tabs.executeScript(tab_id, { file: 'toolbar/eject.js' }) + platform.tabs.executeScript(tab_id, { file: 'toolbar/eject.js' }) state.injected[tab_id] = false - // chrome.storage.sync.remove([storagekey]) } // toggle in: it's loaded and needs injected else if (state.loaded[tab_id] && !state.injected[tab_id]) { - chrome.tabs.executeScript(tab_id, { file: 'toolbar/inject.js' }) + platform.tabs.executeScript(tab_id, { file: 'toolbar/inject.js' }) state.injected[tab_id] = true getColorMode() } // fresh start in tab else { - chrome.tabs.insertCSS(tab_id, { file: 'toolbar/bundle.css' }) - chrome.tabs.executeScript(tab_id, { file: 'web-components.polyfill.js' }) - chrome.tabs.executeScript(tab_id, { file: 'toolbar/bundle.min.js' }) - chrome.tabs.executeScript(tab_id, { file: 'toolbar/inject.js' }) + platform.tabs.insertCSS(tab_id, { file: 'toolbar/bundle.css' }) + platform.tabs.executeScript(tab_id, { file: 'toolbar/inject.js' }) state.loaded[tab_id] = true state.injected[tab_id] = true getColorMode() } - chrome.tabs.onUpdated.addListener(function(tabId) { + platform.tabs.onUpdated.addListener(function(tabId) { if (tabId === tab_id) state.loaded[tabId] = false }) diff --git a/extension/web-components.polyfill.js b/extension/web-components.polyfill.js deleted file mode 100644 index 51f43db1..00000000 --- a/extension/web-components.polyfill.js +++ /dev/null @@ -1,147 +0,0 @@ -(function(){/* - -Copyright (c) 2016 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt - - Copyright (c) 2016 The Polymer Project Authors. All rights reserved. - This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt - The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt - The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt - Code distributed by Google as part of the polymer project is also - subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt - -Copyright (c) 2017 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -'use strict';var hb="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this; -(function(){function k(){var a=this;this.m={};this.g=document.documentElement;var b=new ta;b.rules=[];this.h=r.set(this.g,new r(b));this.i=!1;this.b=this.a=null;ib(function(){a.c()})}function C(){this.customStyles=[];this.enqueued=!1}function jb(){}function aa(a){this.cache={};this.c=void 0===a?100:a}function p(){}function r(a,b,c,d,e){this.D=a||null;this.b=b||null;this.ia=c||[];this.L=null;this.T=e||"";this.a=this.w=this.H=null}function q(){}function ta(){this.end=this.start=0;this.rules=this.parent= -this.previous=null;this.cssText=this.parsedCssText="";this.atRule=!1;this.type=0;this.parsedSelector=this.selector=this.keyframesName=""}function Pc(a){function b(b,c){Object.defineProperty(b,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){var d=this,e=void 0;n(this)&&(e=[],K(this,function(a){a!==d&&e.push(a)}));c.set.call(this,b);if(e)for(var f=0;f":return">";case '"':return""";case "\u00a0":return" "}}function Eb(a){for(var b={},c=0;c";break a;case Node.TEXT_NODE:h=h.data;h=m&&kd[m.localName]?h:h.replace(ld,Db);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h),Error("not implemented");}}c+=h}return c}function Q(a){z.currentNode=a;return z.parentNode()}function Ba(a){z.currentNode= -a;return z.firstChild()}function Ca(a){z.currentNode=a;return z.lastChild()}function Fb(a){z.currentNode=a;return z.previousSibling()}function Gb(a){z.currentNode=a;return z.nextSibling()}function O(a){var b=[];z.currentNode=a;for(a=z.firstChild();a;)b.push(a),a=z.nextSibling();return b}function Hb(a){A.currentNode=a;return A.parentNode()}function Ib(a){A.currentNode=a;return A.firstChild()}function Jb(a){A.currentNode=a;return A.lastChild()}function Kb(a){A.currentNode=a;return A.previousSibling()} -function Lb(a){A.currentNode=a;return A.nextSibling()}function Mb(a){var b=[];A.currentNode=a;for(a=A.firstChild();a;)b.push(a),a=A.nextSibling();return b}function Nb(a){return Ia(a,function(a){return O(a)})}function Ob(a){switch(a.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:a=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);for(var b="",c;c=a.nextNode();)b+=c.nodeValue;return b;default:return a.nodeValue}}function H(a,b,c){for(var d in b){var e=Object.getOwnPropertyDescriptor(a, -d);e&&e.configurable||!e&&c?Object.defineProperty(a,d,b[d]):c&&console.warn("Could not define",d,"on",a)}}function L(a){H(a,Pb);H(a,Ja);H(a,Ka)}function Qb(a,b,c){zb(a);c=c||null;a.__shady=a.__shady||{};b.__shady=b.__shady||{};c&&(c.__shady=c.__shady||{});a.__shady.previousSibling=c?c.__shady.previousSibling:b.lastChild;var d=a.__shady.previousSibling;d&&d.__shady&&(d.__shady.nextSibling=a);(d=a.__shady.nextSibling=c)&&d.__shady&&(d.__shady.previousSibling=a);a.__shady.parentNode=b;c?c===b.__shady.firstChild&& -(b.__shady.firstChild=a):(b.__shady.lastChild=a,b.__shady.firstChild||(b.__shady.firstChild=a));b.__shady.childNodes=null}function La(a,b,c){if(b===a)throw Error("Failed to execute 'appendChild' on 'Node': The new child element contains the parent.");if(c){var d=c.__shady&&c.__shady.parentNode;if(void 0!==d&&d!==a||void 0===d&&Q(c)!==a)throw Error("Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.");}if(c===b)return b;b.parentNode&& -Ma(b.parentNode,b);d=U(a);var e;if(e=d)a:{if(!b.__noInsertionPoint){var f;"slot"===b.localName?f=[b]:b.querySelectorAll&&(f=b.querySelectorAll("slot"));if(f&&f.length){e=f;break a}}e=void 0}f=e;d&&("slot"===a.localName||f)&&d.J();if(P(a)){e=c;yb(a);a.__shady=a.__shady||{};void 0!==a.__shady.firstChild&&(a.__shady.childNodes=null);if(b.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var g=b.childNodes,h=0;h]/g,jd=Eb("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),kd=Eb("style script xmp iframe noembed noframes plaintext noscript".split(" ")),z=document.createTreeWalker(document,NodeFilter.SHOW_ALL,null,!1),A=document.createTreeWalker(document, -NodeFilter.SHOW_ELEMENT,null,!1),Cd=Object.freeze({parentNode:Q,firstChild:Ba,lastChild:Ca,previousSibling:Fb,nextSibling:Gb,childNodes:O,parentElement:Hb,firstElementChild:Ib,lastElementChild:Jb,previousElementSibling:Kb,nextElementSibling:Lb,children:Mb,innerHTML:Nb,textContent:Ob}),bb=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML")||Object.getOwnPropertyDescriptor(HTMLElement.prototype,"innerHTML"),na=document.implementation.createHTMLDocument("inert").createElement("div"),cb=Object.getOwnPropertyDescriptor(Document.prototype, -"activeElement"),Pb={parentElement:{get:function(){var a=this.__shady&&this.__shady.parentNode;a&&a.nodeType!==Node.ELEMENT_NODE&&(a=null);return void 0!==a?a:Hb(this)},configurable:!0},parentNode:{get:function(){var a=this.__shady&&this.__shady.parentNode;return void 0!==a?a:Q(this)},configurable:!0},nextSibling:{get:function(){var a=this.__shady&&this.__shady.nextSibling;return void 0!==a?a:Gb(this)},configurable:!0},previousSibling:{get:function(){var a=this.__shady&&this.__shady.previousSibling; -return void 0!==a?a:Fb(this)},configurable:!0},className:{get:function(){return this.getAttribute("class")||""},set:function(a){this.setAttribute("class",a)},configurable:!0},nextElementSibling:{get:function(){if(this.__shady&&void 0!==this.__shady.nextSibling){for(var a=this.nextSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return Lb(this)},configurable:!0},previousElementSibling:{get:function(){if(this.__shady&&void 0!==this.__shady.previousSibling){for(var a=this.previousSibling;a&& -a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return Kb(this)},configurable:!0}},Ja={childNodes:{get:function(){if(P(this)){if(!this.__shady.childNodes){this.__shady.childNodes=[];for(var a=this.firstChild;a;a=a.nextSibling)this.__shady.childNodes.push(a)}var b=this.__shady.childNodes}else b=O(this);b.item=function(a){return b[a]};return b},configurable:!0},childElementCount:{get:function(){return this.children.length},configurable:!0},firstChild:{get:function(){var a=this.__shady&& -this.__shady.firstChild;return void 0!==a?a:Ba(this)},configurable:!0},lastChild:{get:function(){var a=this.__shady&&this.__shady.lastChild;return void 0!==a?a:Ca(this)},configurable:!0},textContent:{get:function(){if(P(this)){for(var a=[],b=0,c=this.childNodes,d;d=c[b];b++)d.nodeType!==Node.COMMENT_NODE&&a.push(d.textContent);return a.join("")}return Ob(this)},set:function(a){switch(this.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:for(;this.firstChild;)this.removeChild(this.firstChild); -this.appendChild(document.createTextNode(a));break;default:this.nodeValue=a}},configurable:!0},firstElementChild:{get:function(){if(this.__shady&&void 0!==this.__shady.firstChild){for(var a=this.firstChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return Ib(this)},configurable:!0},lastElementChild:{get:function(){if(this.__shady&&void 0!==this.__shady.lastChild){for(var a=this.lastChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return Jb(this)},configurable:!0}, -children:{get:function(){var a;P(this)?a=Array.prototype.filter.call(this.childNodes,function(a){return a.nodeType===Node.ELEMENT_NODE}):a=Mb(this);a.item=function(b){return a[b]};return a},configurable:!0},innerHTML:{get:function(){var a="template"===this.localName?this.content:this;return P(this)?Ia(a):Nb(a)},set:function(a){for(var b="template"===this.localName?this.content:this;b.firstChild;)b.removeChild(b.firstChild);for(bb&&bb.set?bb.set.call(na,a):na.innerHTML=a;na.firstChild;)b.appendChild(na.firstChild)}, -configurable:!0}},Dc={shadowRoot:{get:function(){return this.__shady&&this.__shady.Ya||null},configurable:!0}},Ka={activeElement:{get:function(){var a=cb&&cb.get?cb.get.call(document):B.P?void 0:document.activeElement;if(a&&a.nodeType){var b=!!E(this);if(this===document||b&&this.host!==a&&this.host.contains(a)){for(b=U(a);b&&b!==this;)a=b.host,b=U(a);a=this===document?b?null:a:b===this?a:null}else a=null}else a=null;return a},set:function(){},configurable:!0}},zb=B.P?function(){}:function(a){a.__shady&& -a.__shady.Ha||(a.__shady=a.__shady||{},a.__shady.Ha=!0,H(a,Pb,!0))},yb=B.P?function(){}:function(a){a.__shady&&a.__shady.Fa||(a.__shady=a.__shady||{},a.__shady.Fa=!0,H(a,Ja,!0),H(a,Dc,!0))},ja=null,Dd={blur:!0,focus:!0,focusin:!0,focusout:!0,click:!0,dblclick:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,wheel:!0,beforeinput:!0,input:!0,keydown:!0,keyup:!0,compositionstart:!0,compositionupdate:!0,compositionend:!0,touchstart:!0,touchend:!0,touchmove:!0, -touchcancel:!0,pointerover:!0,pointerenter:!0,pointerdown:!0,pointermove:!0,pointerup:!0,pointercancel:!0,pointerout:!0,pointerleave:!0,gotpointercapture:!0,lostpointercapture:!0,dragstart:!0,drag:!0,dragenter:!0,dragleave:!0,dragover:!0,drop:!0,dragend:!0,DOMActivate:!0,DOMFocusIn:!0,DOMFocusOut:!0,keypress:!0},lc={get composed(){!1!==this.isTrusted&&void 0===this.da&&(this.da=Dd[this.type]);return this.da||!1},composedPath:function(){this.la||(this.la=Qa(this.__target,this.composed));return this.la}, -get target(){return bc(this.currentTarget,this.composedPath())},get relatedTarget(){if(!this.ma)return null;this.na||(this.na=Qa(this.ma,!0));return bc(this.currentTarget,this.na)},stopPropagation:function(){Event.prototype.stopPropagation.call(this);this.ea=!0},stopImmediatePropagation:function(){Event.prototype.stopImmediatePropagation.call(this);this.ea=this.Ea=!0}},Sa={focus:!0,blur:!0},Ed=Ra(window.Event),Fd=Ra(window.CustomEvent),Gd=Ra(window.MouseEvent),xb={};l.prototype=Object.create(DocumentFragment.prototype); -l.prototype.B=function(a,b){this.Ga="ShadyRoot";ea(a);ea(this);this.host=a;this.I=b&&b.mode;a.__shady=a.__shady||{};a.__shady.root=this;a.__shady.Ya="closed"!==this.I?this:null;this.N=!1;this.b=[];this.a=null;b=O(a);for(var c=0,d=b.length;cb.__shady.assignedNodes.length&&(b.__shady.ha=!0)}b.__shady.ha&&(b.__shady.ha=!1,this.g(b))}};l.prototype.f=function(a,b){a.__shady=a.__shady||{};var c=a.__shady.ga;a.__shady.ga=null;b||(b=(b=this.a[a.slot||"__catchall"])&&b[0]);b?(b.__shady.assignedNodes.push(a),a.__shady.assignedSlot=b):a.__shady.assignedSlot=void 0;c!==a.__shady.assignedSlot&& -a.__shady.assignedSlot&&(a.__shady.assignedSlot.__shady.ha=!0)};l.prototype.l=function(a){var b=a.__shady.assignedNodes;a.__shady.assignedNodes=[];a.__shady.O=[];if(a.__shady.pa=b)for(var c=0;cb.indexOf(d))||b.push(d)}for(a=0;a "+b}))}a=a.replace(Sd,function(a,b,c){return'[dir="'+c+'"] '+b+", "+b+'[dir="'+c+'"]'});return{value:a,Ra:b,stop:f}};q.prototype.m=function(a,b){a=a.split(Fc);a[0]+=b;return a.join(Fc)};q.prototype.I=function(a,b){var c=a.match(Gc);return(c=c&&c[2].trim()||"")?c[0].match(Hc)?a.replace(Gc,function(a,c,f){return b+ -f}):c.split(Hc)[0]===b?c:Td:a.replace(db,b)};q.prototype.G=function(a){a.selector=a.parsedSelector;this.o(a);this.j(a,this.B)};q.prototype.o=function(a){a.selector===Ud&&(a.selector="html")};q.prototype.B=function(a){return a.match(eb)?this.g(a,Ic):this.m(a.trim(),Ic)};hb.Object.defineProperties(q.prototype,{c:{configurable:!0,enumerable:!0,get:function(){return"style-scope"}}});var Od=/:(nth[-\w]+)\(([^)]+)\)/,Ic=":not(.style-scope)",Ec=",",Qd=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=[])+)/g,Hc=/[[.:#*]/, -db=":host",Ud=":root",eb="::slotted",Pd=new RegExp("^("+eb+")"),Gc=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,Rd=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,Sd=/(.*):dir\((?:(ltr|rtl))\)/,Nd=".",Fc=":",Md="class",Td="should_not_match",t=new q;r.get=function(a){return a?a.__styleInfo:null};r.set=function(a,b){return a.__styleInfo=b};r.prototype.c=function(){return this.D};r.prototype._getStyleRules=r.prototype.c;var Jc=function(a){return a.matches||a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector|| -a.oMatchesSelector||a.webkitMatchesSelector}(window.Element.prototype),Vd=navigator.userAgent.match("Trident");p.prototype.M=function(a){var b=this,c={},d=[],e=0;S(a,function(a){b.c(a);a.index=e++;b.G(a.s.cssText,c)},function(a){d.push(a)});a.b=d;a=[];for(var f in c)a.push(f);return a};p.prototype.c=function(a){if(!a.s){var b={},c={};this.b(a,c)&&(b.C=c,a.rules=null);b.cssText=this.F(a);a.s=b}};p.prototype.b=function(a,b){var c=a.s;if(c){if(c.C)return Object.assign(b,c.C),!0}else{c=a.parsedCssText; -for(var d;a=pa.exec(c);){d=(a[2]||a[3]).trim();if("inherit"!==d||"unset"!==d)b[a[1].trim()]=d;d=!0}return d}};p.prototype.F=function(a){return this.I(a.parsedCssText)};p.prototype.I=function(a){return a.replace(Ld,"").replace(pa,"")};p.prototype.G=function(a,b){for(var c;c=Jd.exec(a);){var d=c[1];":"!==c[2]&&(b[d]=!0)}};p.prototype.$=function(a){for(var b=Object.getOwnPropertyNames(a),c=0,d;c *"===f||"html"===f,h=0===f.indexOf(":host")&&!g;"shady"===c&&(g=f===e+" > *."+e||-1!==f.indexOf("html"),h=!g&&0===f.indexOf(e));"shadow"===c&&(g=":host > *"===f||"html"===f,h=h&&!g);if(g||h)c=e,h&&(u&&!b.v&&(b.v=t.l(b,t.g,t.h(a),e)),c=b.v||e),d({bb:c,Va:h,jb:g})}};p.prototype.Y=function(a,b){var c={},d={}, -e=this,f=b&&b.__cssBuild;S(b,function(b){e.ba(a,b,f,function(f){Jc.call(a.ib||a,f.bb)&&(f.Va?e.b(b,c):e.b(b,d))})},null,!0);return{$a:d,Ua:c}};p.prototype.aa=function(a,b,c){var d=this,e=N(a),f=t.f(e.is,e.T),g=new RegExp("(?:^|[^.#[:])"+(a.extends?"\\"+f.slice(0,-1)+"\\]":f)+"($|[.:[\\s>+~])");e=r.get(a).D;var h=this.h(e,c);return t.b(a,e,function(a){d.B(a,b);u||vc(a)||!a.cssText||(d.A(a,h),d.l(a,g,f,c))})};p.prototype.h=function(a,b){a=a.b;var c={};if(!u&&a)for(var d=0,e=a[d];d=f._useCount&&f.parentNode&&f.parentNode.removeChild(f));u?e.a?(e.a.textContent=b,d=e.a):b&&(d=Wa(b,c,a.shadowRoot,e.b)):d?d.parentNode||(Vd&&-1this.c&&e.shift();this.cache[a]=e};aa.prototype.fetch=function(a,b,c){if(a=this.cache[a])for(var d=a.length-1;0<=d;d--){var e=a[d];if(this.a(e,b,c))return e}};if(!u){var Kc=new MutationObserver(yc),Lc=function(a){Kc.observe(a, -{childList:!0,subtree:!0})};if(window.customElements&&!window.customElements.polyfillWrapFlushCallback)Lc(document);else{var gb=function(){Lc(document.body)};window.HTMLImports?window.HTMLImports.whenReady(gb):requestAnimationFrame(function(){if("loading"===document.readyState){var a=function(){gb();document.removeEventListener("readystatechange",a)};document.addEventListener("readystatechange",a)}else gb()})}jb=function(){yc(Kc.takeRecords())}}var ma={},Ad=Promise.resolve(),Xa=null,Ac=window.HTMLImports&& -window.HTMLImports.whenReady||null,Ya,sa=null,Z=null;C.prototype.sa=function(){!this.enqueued&&Z&&(this.enqueued=!0,ib(Z))};C.prototype.b=function(a){a.__seenByShadyCSS||(a.__seenByShadyCSS=!0,this.customStyles.push(a),this.sa())};C.prototype.a=function(a){return a.__shadyCSSCachedStyle?a.__shadyCSSCachedStyle:a.getStyle?a.getStyle():a};C.prototype.c=function(){for(var a=this.customStyles,b=0;b= 2.1.2 < 3" + "is-extglob": "^2.1.1" } }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, - "optional": true, "requires": { - "minimatch": "^3.0.4" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, - "inflight": { - "version": "1.0.6", - "bundled": true, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "is-number": "^7.0.0" } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, + } + } + }, + "fast-json-patch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz", + "integrity": "sha512-4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-redact": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-2.0.0.tgz", + "integrity": "sha512-zxpkULI9W9MNTK2sJ3BpPQrTEXFNESd2X6O1tXMFpK/XM0G5c5Rll2EVYZH2TqI3xRGK/VaJ+eEOt7pnENJpeA==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "optional": true, "requires": { - "number-is-nan": "^1.0.0" + "ms": "2.0.0" } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "firefox-profile": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.3.0.tgz", + "integrity": "sha512-3d7JPnFC3GrwGW8wonAqy2E4YCI7A8MO7yVDkqS09uQ3tLvMLCY3Ytt4ntvVXvyzjVMRmrLW9W/CubnnzrdLCA==", + "dev": true, + "requires": { + "adm-zip": "~0.4.x", + "archiver": "~2.1.0", + "async": "~2.5.0", + "fs-extra": "~4.0.2", + "ini": "~1.3.3", + "jetpack-id": "1.0.0", + "lazystream": "~1.0.0", + "lodash": "~4.17.2", + "minimist": "^1.1.1", + "uuid": "^3.0.0", + "xml2js": "~0.4.4" + }, + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "dev": true, - "optional": true, "requires": { - "brace-expansion": "^1.1.7" + "lodash": "^4.14.0" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, - "optional": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "minizlib": { - "version": "1.3.3", - "bundled": true, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "optional": true, "requires": { - "minipass": "^2.9.0" + "graceful-fs": "^4.1.6" } }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "first-chunk-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-3.0.0.tgz", + "integrity": "sha512-LNRvR4hr/S8cXXkIY5pTgVP7L3tq6LlYWcg9nWBuW7o1NMxKZo6oOVa/6GIekMGI0Iw7uC+HWimMe9u/VAeKqw==", + "dev": true + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatstr": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", + "dev": true + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, + "fluent-syntax": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/fluent-syntax/-/fluent-syntax-0.13.0.tgz", + "integrity": "sha512-0Bk1AsliuYB550zr4JV9AYhsETsD3ELXUQzdXGJfIc1Ni/ukAfBdQInDhVMYJUaT2QxoamNslwkYF7MlOrPUwg==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } + "optional": true }, - "ms": { - "version": "2.1.2", - "bundled": true, + "ansi-regex": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, - "needle": { - "version": "2.4.0", - "bundled": true, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } + "balanced-match": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, - "nopt": { - "version": "4.0.1", - "bundled": true, + "brace-expansion": { + "version": "1.1.11", + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, + "chownr": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } + "optional": true }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, + "code-point-at": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, + "debug": { + "version": "3.2.6", + "resolved": false, + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ms": "^2.1.1" } }, - "npmlog": { - "version": "4.1.2", - "bundled": true, + "deep-extend": { + "version": "0.6.0", + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": false, + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" } }, - "number-is-nan": { + "fs.realpath": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": false, + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": false, + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": false, + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "minipass": { + "version": "2.9.0", + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": false, + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "optional": true + }, + "needle": { + "version": "2.4.0", + "resolved": false, + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "resolved": false, + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true, "optional": true }, + "npm-packlist": { + "version": "1.4.7", + "resolved": false, + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "optional": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "optional": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -4982,19 +6926,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -5006,7 +6953,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -5014,7 +6962,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -5029,7 +6978,8 @@ }, "rimraf": { "version": "2.7.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "optional": true, "requires": { @@ -5038,45 +6988,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5085,7 +7040,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -5094,22 +7050,24 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": false, + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "optional": true, "requires": { @@ -5124,13 +7082,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -5139,15 +7099,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "yallist": { "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true + "resolved": false, + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -5157,44 +7117,120 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "generic-names": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", - "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true - }, - "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "fx-runner": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-1.0.11.tgz", + "integrity": "sha512-igHogHf5wTqqaPPTOav18MMTVq/eoeTJiw/PvPUuwnzU8vbyZInFPgR66G9ZBwvwxC7e611nbtB4xSMcYVhlvg==", "dev": true, "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", + "commander": "2.9.0", + "shell-quote": "1.6.1", + "spawn-sync": "1.0.15", + "when": "3.7.7", + "which": "1.2.4", + "winreg": "0.0.12" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", + "dev": true + }, + "which": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz", + "integrity": "sha1-FVf5YIBgTlsRs1meufRbUKnv1yI=", + "dev": true, + "requires": { + "is-absolute": "^0.1.7", + "isexe": "^1.1.1" + } + } + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "generic-names": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", + "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true @@ -5208,6 +7244,36 @@ "assert-plus": "^1.0.0" } }, + "git-rev-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-2.0.0.tgz", + "integrity": "sha512-vnHFv2eocTmt/wHqZm3ksxtVshK4vptT0cEoumk6hAYRFx3do6Qo7xHBTBCv29+r3ZZCQOQ1i328MUCsYF7AUw==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "graceful-fs": "4.1.15", + "shelljs": "0.7.7" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "shelljs": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz", + "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + } + } + }, "glob": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", @@ -5222,12 +7288,23 @@ "path-is-absolute": "^1.0.0" } }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^2.0.0" } }, "global-dirs": { @@ -5320,6 +7397,18 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -5337,22 +7426,16 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true } } }, @@ -5369,6 +7452,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -5468,6 +7552,12 @@ } } }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, "hasha": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", @@ -5490,9 +7580,9 @@ "dev": true }, "hotkeys-js": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.7.6.tgz", - "integrity": "sha512-X5d16trjp79o+OaCn7syXu0cs+TkLYlK/teE5FhpD1Cj9ROcEIhfIQ7Mhrk761ynF3NQLbLn5xRojP2UuSqDAw==" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.1.tgz", + "integrity": "sha512-YlhVQtyG9f1b7GhtzdhR0Pl+cImD1ZrKI6zYUa7QLd0zuThiL7RzZ+ANJyy7z+kmcCpNYBf5PjBa3CjiQ5PFpw==" }, "hsl-regex": { "version": "1.0.0", @@ -5512,6 +7602,39 @@ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", "dev": true }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", + "dev": true + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -5555,12 +7678,12 @@ } }, "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { - "agent-base": "^4.3.0", + "agent-base": "^4.1.0", "debug": "^3.1.0" } }, @@ -5585,6 +7708,12 @@ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -5675,6 +7804,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -5683,7 +7813,8 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "ini": { "version": "1.3.5", @@ -5691,6 +7822,123 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -5703,6 +7951,15 @@ "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", "dev": true }, + "is-absolute": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", + "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", + "dev": true, + "requires": { + "is-relative": "^0.1.0" + } + }, "is-absolute-url": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", @@ -5749,9 +8006,9 @@ } }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, "is-ci": { @@ -5777,6 +8034,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", + "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5817,6 +8083,21 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, "is-error": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", @@ -5830,9 +8111,10 @@ "dev": true }, "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -5844,11 +8126,12 @@ } }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "^1.0.0" } }, "is-installed-globally": { @@ -5861,12 +8144,43 @@ "is-path-inside": "^1.0.0" } }, + "is-mergeable-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz", + "integrity": "sha512-CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==", + "dev": true + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz", + "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", @@ -5874,9 +8188,13 @@ "dev": true }, "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } }, "is-number-like": { "version": "1.0.8", @@ -5974,12 +8292,30 @@ } } }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -5987,14 +8323,20 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, + "is-relative": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", + "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", + "dev": true + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -6061,6 +8403,12 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -6073,12 +8421,27 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jed": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jed/-/jed-1.1.1.tgz", + "integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=", + "dev": true + }, "jest-worker": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", @@ -6100,6 +8463,35 @@ } } }, + "jetpack-id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-1.0.0.tgz", + "integrity": "sha1-LPn7rkbYB0/Ba33gBxyO/rykc6Y=", + "dev": true + }, + "joi": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.3.0.tgz", + "integrity": "sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.0", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-select": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/js-select/-/js-select-0.6.0.tgz", + "integrity": "sha1-woTiKCTVknrsli3N8kcXSu+w0ZA=", + "dev": true, + "requires": { + "JSONSelect": "0.2.1", + "traverse": "0.4.x" + } + }, "js-string-escape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", @@ -6134,6 +8526,21 @@ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-merge-patch": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-merge-patch/-/json-merge-patch-0.2.3.tgz", + "integrity": "sha1-+ixrWvh9p3uuKWalidUuI+2B/kA=", + "dev": true, + "requires": { + "deep-equal": "^1.0.0" + } + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -6152,6 +8559,21 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -6168,9 +8590,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } @@ -6184,6 +8606,50 @@ "graceful-fs": "^4.1.6" } }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dev": true, + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -6196,6 +8662,45 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.6.1.tgz", + "integrity": "sha1-uI86ey5noqBIFSmCx6N1bZxIKPA=", + "dev": true, + "requires": { + "pako": "~1.0.2" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -6220,6 +8725,15 @@ "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", "dev": true }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -6229,12 +8743,49 @@ "invert-kv": "^1.0.0" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lighthouse-logger": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz", + "integrity": "sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "marky": "^1.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "limiter": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.4.tgz", "integrity": "sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg==", "dev": true }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -6387,18 +8938,54 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "dev": true + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "dev": true + }, "lodash.isfinite": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", "dev": true }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "dev": true + }, "lodash.islength": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz", "integrity": "sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc=", "dev": true }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6411,6 +8998,18 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -6526,6 +9125,15 @@ } } }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -6553,6 +9161,12 @@ "object-visit": "^1.0.0" } }, + "marky": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.1.tgz", + "integrity": "sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==", + "dev": true + }, "matcher": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", @@ -6562,6 +9176,12 @@ "escape-string-regexp": "^1.0.4" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, "md5-hex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", @@ -6577,10 +9197,20 @@ "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, + "mdn-browser-compat-data": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-1.0.1.tgz", + "integrity": "sha512-FxRIu4UYu4rRdFs5JFf6del6J+OpbOq2tYfIEK7N/PtEtz6yGVcWcytmh5L5hZxe58kuxUzjgR8+/0TRyRzRqA==", + "dev": true, + "requires": { + "extend": "3.0.2" + } + }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true }, "meow": { "version": "5.0.0", @@ -6736,11 +9366,32 @@ "dev": true }, "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", @@ -6768,18 +9419,26 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "minimist-options": { "version": "3.0.2", @@ -6798,9 +9457,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -6819,17 +9478,26 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "0.0.8" } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true, + "optional": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multimatch": { "version": "3.0.0", @@ -6843,6 +9511,61 @@ "minimatch": "^3.0.4" } }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "dev": true, + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", @@ -6883,41 +9606,115 @@ "dev": true }, "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true, + "optional": true + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, - "node-releases": { - "version": "1.1.53", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", - "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "dev": true + }, + "node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.65", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz", + "integrity": "sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } }, "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } }, "normalize-range": { "version": "0.1.2", @@ -7002,9 +9799,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -7037,15 +9834,15 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { @@ -7058,6 +9855,16 @@ "es-abstract": "^1.17.0-next.1" } }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -7135,6 +9942,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -7148,6 +9956,23 @@ "mimic-fn": "^1.0.0" } }, + "open": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", + "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", + "dev": true, + "requires": { + "is-wsl": "^2.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true + } + } + }, "openurl": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", @@ -7163,6 +9988,20 @@ "is-wsl": "^1.1.0" } }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, "ora": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", @@ -7223,6 +10062,12 @@ } } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -7232,12 +10077,30 @@ "lcid": "^1.0.0" } }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -7269,19 +10132,19 @@ "dev": true }, "p-queue": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.3.0.tgz", - "integrity": "sha512-fg5dJlFpd5+3CgG3/0ogpVZUeJbjiyXFg0nu53hrOYsybqSiDyxyOpad0Rm6tAiGjgztAwkyvhlYHC53OiAJOA==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dev": true, "requires": { - "eventemitter3": "^4.0.0", - "p-timeout": "^3.1.0" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "dependencies": { "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true } } @@ -7333,6 +10196,41 @@ "semver": "^5.1.0" } }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -7348,6 +10246,15 @@ "integrity": "sha512-AddiXFSLLCqj+tCRJ9MrUtHZB4DWojO3tk0NVZ+g5MaMQHF2+p2ktqxuoXyPFLljz/aUK0Nfhd/uGWnhXVXEyA==", "dev": true }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", @@ -7396,7 +10303,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -7451,7 +10359,8 @@ "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true }, "pify": { "version": "2.3.0", @@ -7474,6 +10383,26 @@ "pinkie": "^2.0.0" } }, + "pino": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.14.0.tgz", + "integrity": "sha512-Vj1f2wAojTGesogT0hsA/ua8ALltCOBCcA1nkEoDfnTsVWpgBu5UVSY7OdjiGmrMOKHBm24nd3nKXzyPUYJ3ig==", + "dev": true, + "requires": { + "fast-redact": "^2.0.0", + "fast-safe-stringify": "^2.0.7", + "flatstr": "^1.0.12", + "pino-std-serializers": "^2.4.2", + "quick-format-unescaped": "^3.0.3", + "sonic-boom": "^0.7.5" + } + }, + "pino-std-serializers": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.4.2.tgz", + "integrity": "sha512-WaL504dO8eGs+vrK+j4BuQQq6GLKeCCcHaMB2ItygzVURcL1CycwNEUHTD/lHFHs/NL5qAz2UKrjYWXKSf4aMQ==", + "dev": true + }, "pkg-conf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", @@ -7556,66 +10485,6 @@ } } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, "plur": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", @@ -7625,6 +10494,12 @@ "irregular-plurals": "^2.0.0" } }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, "portscanner": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", @@ -7642,9 +10517,9 @@ "dev": true }, "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -7717,22 +10592,23 @@ "dev": true }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } } } }, "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dev": true, "requires": { "postcss": "^7.0.27", @@ -7747,36 +10623,37 @@ "dev": true }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-value-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", - "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true } } }, "postcss-cli": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.0.tgz", - "integrity": "sha512-tCGK0GO2reu644dUHxks8U2SAtKnzftQTAXN1dwzFPoKXZr0b7VX4vTkQ2Pl2Lunas6+o8uHR56hlcYBm1srZg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.2.tgz", + "integrity": "sha512-3mlEmN1v2NVuosMWZM2tP8bgZn7rO5PYxRRrXtdSyL5KipcgBDjJ9ct8/LKxImMCJJi3x5nYhCGFJOkGyEqXBQ==", "dev": true, "requires": { - "chalk": "^3.0.0", + "chalk": "^4.0.0", "chokidar": "^3.3.0", - "dependency-graph": "^0.8.0", - "fs-extra": "^8.1.0", - "get-stdin": "^7.0.0", - "globby": "^10.0.1", + "dependency-graph": "^0.9.0", + "fs-extra": "^9.0.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.0", "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", "postcss-reporter": "^6.0.0", @@ -7792,12 +10669,11 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -7818,9 +10694,9 @@ "dev": true }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, "braces": { @@ -7839,9 +10715,9 @@ "dev": true }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -7849,9 +10725,9 @@ } }, "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "requires": { "anymatch": "~3.1.1", @@ -7861,7 +10737,7 @@ "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" + "readdirp": "~3.5.0" } }, "cliui": { @@ -7899,12 +10775,6 @@ "path-type": "^4.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -7925,14 +10795,15 @@ } }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, "fsevents": { @@ -7948,20 +10819,6 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", @@ -7972,25 +10829,23 @@ } }, "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "dev": true, "requires": { - "@types/glob": "^7.1.1", "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", "slash": "^3.0.0" } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, "has-flag": { @@ -8000,9 +10855,9 @@ "dev": true }, "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "is-binary-path": { @@ -8042,12 +10897,21 @@ "dev": true }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } } }, "locate-path": { @@ -8096,12 +10960,12 @@ "dev": true }, "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "requires": { - "picomatch": "^2.0.7" + "picomatch": "^2.2.1" } }, "require-main-filename": { @@ -8137,9 +11001,9 @@ } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -8154,6 +11018,12 @@ "is-number": "^7.0.0" } }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -8178,9 +11048,9 @@ "dev": true }, "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -8193,7 +11063,7 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" + "yargs-parser": "^18.1.2" } }, "yargs-parser": { @@ -8397,9 +11267,9 @@ } }, "postcss-font-variant": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", - "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", "dev": true, "requires": { "postcss": "^7.0.2" @@ -8524,9 +11394,9 @@ }, "dependencies": { "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -8600,9 +11470,9 @@ }, "dependencies": { "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -9220,12 +12090,24 @@ "uniq": "^1.0.1" } }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -9241,6 +12123,19 @@ "parse-ms": "^2.0.0" } }, + "probe-image-size": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-5.0.0.tgz", + "integrity": "sha512-V6uBYw5eBc5UVIE7MUZD6Nxg0RYuGDWLDenEn0B1WC6PcTvn1xdQ6HLDDuznefsiExC6rNrCz7mFRBo0f3Xekg==", + "dev": true, + "requires": { + "deepmerge": "^4.0.0", + "inherits": "^2.0.3", + "next-tick": "^1.0.0", + "request": "^2.83.0", + "stream-parser": "~0.3.1" + } + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -9260,9 +12155,9 @@ "dev": true }, "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", "dev": true }, "ps-tree": { @@ -9281,9 +12176,9 @@ "dev": true }, "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, "pump": { @@ -9303,9 +12198,9 @@ "dev": true }, "puppeteer": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", - "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.14.0.tgz", + "integrity": "sha512-SayS2wUX/8LF8Yo2Rkpc5nkAu4Jg3qu+OLTDSOZtisVQMB2Z5vjlY2TdPi/5CgZKiZroYIiyUN3sRX63El9iaw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -9328,15 +12223,15 @@ } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", + "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", "dev": true }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } @@ -9358,6 +12253,12 @@ "resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-0.4.6.tgz", "integrity": "sha512-xk3JL3a9UhU+ogajBy3k7tCsk1AflF2hqCMSU+d+7LKuKJll4SPte3aVzGkvUBpoehV1plk90agfGQ9DrIAxNQ==" }, + "quick-format-unescaped": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz", + "integrity": "sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==", + "dev": true + }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -9365,15 +12266,50 @@ "dev": true }, "ragrid": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ragrid/-/ragrid-1.0.6.tgz", - "integrity": "sha512-lSEXglXIPdZZithKjwwmibdx2P/iYyCS/YbZt253AfeBkdgAM+M/sbW55ww1ye/HRZWgBhnYB+ZL+qBVMSgbXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ragrid/-/ragrid-1.0.5.tgz", + "integrity": "sha1-Fu5QKo7gRthvOEtLRnCztO9FaJA=", + "dev": true, "requires": { - "csso": "^4.0.3", - "csso-cli": "^3.0.0", + "csso": "^3.0.1", + "csso-cli": "^1.0.0", "stylus": "^0.54.5" } }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -9405,9 +12341,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } @@ -9458,11 +12394,43 @@ } }, "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, "requires": { - "picomatch": "^2.0.7" + "resolve": "^1.1.6" } }, "redent": { @@ -9490,6 +12458,21 @@ "regenerate": "^1.4.0" } }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -9500,36 +12483,11 @@ "safe-regex": "^1.1.0" } }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "dependencies": { - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - } - } + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true }, "registry-auth-token": { "version": "3.4.0", @@ -9550,19 +12508,45 @@ "rc": "^1.0.1" } }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "relaxed-json": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/relaxed-json/-/relaxed-json-1.0.3.tgz", + "integrity": "sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==", "dev": true, "requires": { - "jsesc": "~0.5.0" + "chalk": "^2.4.2", + "commander": "^2.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "release-zalgo": { @@ -9593,9 +12577,9 @@ "dev": true }, "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -9605,7 +12589,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.3", + "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -9615,7 +12599,7 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, @@ -9628,26 +12612,6 @@ } } }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9672,6 +12636,39 @@ "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", "dev": true }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "dependencies": { + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + } + } + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -9705,7 +12702,8 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "resp-modifier": { "version": "6.0.2", @@ -9728,6 +12726,15 @@ } } }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -9763,18 +12770,18 @@ "dev": true }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { "glob": "^7.1.3" }, "dependencies": { "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -9788,9 +12795,9 @@ } }, "rollup": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.7.2.tgz", - "integrity": "sha512-SdtTZVMMVSPe7SNv4exUyPXARe5v/p3TeeG3LRA5WabLPJt4Usi3wVrvVlyAUTG40JJmqS6zbIHt2vWTss2prw==", + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.33.0.tgz", + "integrity": "sha512-7jFrmKgQj1GOWlC8rExHaPcv2SQnWMv1BFUyH/xWS5w80h6132wBUWp/qTvQkAbnlqGvi13T6iP2kHo9Sb2HxA==", "dev": true, "requires": { "fsevents": "~2.1.2" @@ -9825,20 +12832,21 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", "dev": true, "requires": { + "is-core-module": "^2.0.0", "path-parse": "^1.0.6" } } } }, "rollup-plugin-postcss": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-3.1.0.tgz", - "integrity": "sha512-GYx3VYkxKU4kePCQcYcZ8X5IiVSbPVK419o1yeLBmOpgTUQNUMIukOatYn9+iv3yXdFFV+dMh3rgJQNkbTfWZQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-3.1.8.tgz", + "integrity": "sha512-JHnGfW8quNc6ePxEkZ05HEZ1YiRxDgY9RKEetMfsrwxR2kh/d90OVScTc6b1c2Q17Cs/5TRYL+1uddG21lQe3w==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -9858,19 +12866,18 @@ }, "dependencies": { "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -9945,9 +12952,9 @@ "dev": true }, "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", @@ -9981,11 +12988,12 @@ } }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", "dev": true, "requires": { + "is-core-module": "^2.0.0", "path-parse": "^1.0.6" } }, @@ -9996,9 +13004,9 @@ "dev": true }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -10007,34 +13015,34 @@ } }, "rollup-plugin-terser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz", - "integrity": "sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", "dev": true, "requires": { "@babel/code-frame": "^7.5.5", "jest-worker": "^24.9.0", "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^4.0.0", "terser": "^4.6.2" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -10079,10 +13087,19 @@ "estree-walker": "^0.6.1" } }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", "dev": true }, "rx": { @@ -10091,6 +13108,12 @@ "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", "dev": true }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, "rxjs": { "version": "5.5.12", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", @@ -10107,11 +13130,18 @@ "dev": true }, "safe-identifier": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.1.tgz", - "integrity": "sha512-73tOz5TXsq3apuCc3vC8c9QRhhdNZGiBhHmPPjqpH4TO5oCDqk8UIsDcSs/RG6dYcFAkOOva0pqHS3u7hh7XXA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", + "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", "dev": true }, + "safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "dev": true, + "optional": true + }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -10124,12 +13154,14 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true }, "schema-utils": { "version": "1.0.0", @@ -10220,10 +13252,13 @@ "dev": true }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -10299,10 +13334,16 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10328,6 +13369,16 @@ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -10343,6 +13394,83 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "sign-addon": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sign-addon/-/sign-addon-2.0.4.tgz", + "integrity": "sha512-QKfE558nIQ2o9VACAIMQBI4I+IhlL+k9bxhVsQUb4B6Bu+tC8IDSlnHrydcYPf3AB6K+g+BVzbDD1JlSw4bRDg==", + "dev": true, + "requires": { + "common-tags": "1.8.0", + "core-js": "3.6.0", + "deepcopy": "2.0.0", + "es6-error": "4.1.1", + "es6-promisify": "6.0.2", + "jsonwebtoken": "8.5.1", + "mz": "2.7.0", + "request": "2.88.0", + "source-map-support": "0.5.16", + "stream-to-promise": "2.2.0" + }, + "dependencies": { + "core-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.0.tgz", + "integrity": "sha512-AHPTNKzyB+YwgDWoSOCaid9PUSEF6781vsfiK8qUz62zRR448/XgK2NtCbpiUGizbep8Lrpt0Du19PpGGZvw3Q==", + "dev": true + }, + "es6-promisify": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -10644,6 +13772,15 @@ } } }, + "sonic-boom": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.6.tgz", + "integrity": "sha512-k9E2QQ4zxuVRLDW+ZW6ISzJs3wlEorVdmM7ApDgor7wsGKSDG5YGHsGmgLY4XYh4DMlr/2ap2BWAE7yTFJtWnQ==", + "dev": true, + "requires": { + "flatstr": "^1.0.12" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -10654,6 +13791,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -10683,7 +13821,8 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "spawn-command": { "version": "0.0.2-1", @@ -10691,6 +13830,16 @@ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", "dev": true }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "requires": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", @@ -10777,18 +13926,18 @@ "dev": true }, "start-server-and-test": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.11.0.tgz", - "integrity": "sha512-FhkJFYL/lvbd0tKWvbxWNWjtFtq3Zpa09QDjA8EUH88AsgNL4hkAAKYNmbac+fFM8/GIZoJ1Mj4mm3SMI0X1bA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.11.5.tgz", + "integrity": "sha512-XUGifPzbJcgD6tqWMFvbxnra1KByRuiw6Oc9FHR3tPm7UxB70a4iFDIuXfOAFtMJLvOJuwB3gnMUZxko8gtLow==", "dev": true, "requires": { "bluebird": "3.7.2", "check-more-types": "2.24.0", - "debug": "4.1.1", + "debug": "4.2.0", "execa": "3.4.0", "lazy-ass": "1.6.0", "ps-tree": "1.2.0", - "wait-on": "4.0.0" + "wait-on": "5.2.0" }, "dependencies": { "bluebird": { @@ -10797,20 +13946,124 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "ms": { - "version": "2.1.2", + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "ms": { + "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -10841,12 +14094,6 @@ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "dev": true }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, "stream-combiner": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", @@ -10856,6 +14103,26 @@ "duplexer": "~0.1.1" } }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "dev": true, + "requires": { + "debug": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "stream-throttle": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", @@ -10866,6 +14133,46 @@ "limiter": "^1.0.5" } }, + "stream-to-array": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", + "dev": true, + "requires": { + "any-promise": "^1.1.0" + } + }, + "stream-to-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz", + "integrity": "sha1-se2y4cjLESidG1A8CNPyrvUeZQ8=", + "dev": true, + "requires": { + "any-promise": "~1.3.0", + "end-of-stream": "~1.1.0", + "stream-to-array": "~2.3.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", + "dev": true, + "requires": { + "once": "~1.3.0" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } + }, "string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", @@ -10884,45 +14191,67 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "string_decoder": { @@ -10938,6 +14267,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -10960,6 +14290,27 @@ "is-utf8": "^0.2.1" } }, + "strip-bom-stream": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-4.0.0.tgz", + "integrity": "sha512-0ApK3iAkHv6WbgLICw/J4nhwHeDZsBxIIsOD+gHgZICL6SeJ0S9f/WZqemka9cjkTyMN5geId6e8U5WGFAn3cQ==", + "dev": true, + "requires": { + "first-chunk-stream": "^3.0.0", + "strip-bom-buf": "^2.0.0" + }, + "dependencies": { + "strip-bom-buf": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-2.0.0.tgz", + "integrity": "sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==", + "dev": true, + "requires": { + "is-utf8": "^0.2.1" + } + } + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -11002,9 +14353,9 @@ }, "dependencies": { "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -11030,42 +14381,27 @@ } }, "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", - "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "dev": true, "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.0.0", - "source-map": "^0.7.3" + "css-parse": "1.7.x", + "debug": "*", + "glob": "7.0.x", + "mkdirp": "0.5.x", + "sax": "0.5.x", + "source-map": "0.1.x" }, "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "amdefine": ">=0.0.4" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" } } }, @@ -11102,7 +14438,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true }, "svgo": { "version": "1.3.2", @@ -11156,28 +14493,28 @@ } }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.1.0.tgz", + "integrity": "sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.0.0" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0.tgz", + "integrity": "sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.12", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz", + "integrity": "sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q==", "dev": true } } @@ -11188,6 +14525,12 @@ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11211,68 +14554,173 @@ "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "execa": "^0.7.0" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "color-convert": "^1.9.0" } }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true - } - } - }, - "terser": { - "version": "4.6.11", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.11.tgz", - "integrity": "sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true - } - } - }, + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "tfunk": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", @@ -11283,6 +14731,24 @@ "object-path": "^0.9.0" } }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -11307,12 +14773,27 @@ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + }, "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -11328,6 +14809,12 @@ "kind-of": "^3.0.2" } }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -11367,16 +14854,45 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, + "tosource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tosource/-/tosource-1.0.0.tgz", + "integrity": "sha1-QtiN0RZhi88A1hBt1URvNCeQL/E=", + "dev": true + }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "punycode": "^2.1.0" } }, + "traverse": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.4.6.tgz", + "integrity": "sha1-0EsigOTHkqWBVCnve4tgxkyczDQ=", + "dev": true + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -11402,9 +14918,9 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", "dev": true }, "tunnel-agent": { @@ -11422,6 +14938,27 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, "type-fest": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", @@ -11434,6 +14971,15 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "ua-parser-js": { "version": "0.7.17", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", @@ -11481,15 +15027,38 @@ "dev": true }, "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } } }, "uniq": { @@ -11624,176 +15193,1315 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wait-on": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.0.tgz", + "integrity": "sha512-U1D9PBgGw2XFc6iZqn45VBubw02VsLwnZWteQ1au4hUVHasTZuFSKRzlTB2dqgLhji16YVI8fgpEpwUdCr8B6g==", + "dev": true, + "requires": { + "axios": "^0.19.2", + "joi": "^17.1.1", + "lodash": "^4.17.19", + "minimist": "^1.2.5", + "rxjs": "^6.5.5" + }, + "dependencies": { + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "web-ext": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-4.0.0.tgz", + "integrity": "sha512-778HKIoWpIrZzOq7rPA7Fu7YQ/fnZ6w9XCKUqGJRjo2NgOtgtkLmkd7lCw3gU7KJYe7hurI5XYossJMgjmyNaQ==", + "dev": true, + "requires": { + "@babel/polyfill": "7.7.0", + "@babel/runtime": "7.7.7", + "@cliqz-oss/firefox-client": "0.3.1", + "@cliqz-oss/node-firefox-connect": "1.2.1", + "adbkit": "2.11.1", + "addons-linter": "1.19.0", + "bunyan": "1.8.12", + "camelcase": "5.3.1", + "chrome-launcher": "0.12.0", + "debounce": "1.2.0", + "decamelize": "3.2.0", + "es6-error": "4.1.1", + "event-to-promise": "0.8.0", + "firefox-profile": "1.3.0", + "fx-runner": "1.0.11", + "git-rev-sync": "2.0.0", + "import-fresh": "3.2.1", + "mkdirp": "0.5.1", + "multimatch": "4.0.0", + "mz": "2.7.0", + "node-notifier": "6.0.0", + "open": "7.0.0", + "parse-json": "5.0.0", + "sign-addon": "2.0.4", + "source-map-support": "0.5.16", + "stream-to-promise": "2.2.0", + "strip-bom": "4.0.0", + "strip-json-comments": "3.0.1", + "tmp": "0.1.0", + "update-notifier": "4.0.0", + "watchpack": "1.6.0", + "ws": "7.2.1", + "yargs": "15.0.2", + "zip-dir": "1.0.2" + }, + "dependencies": { + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "configstore": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", + "dev": true, + "requires": { + "dot-prop": "^5.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "decamelize": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-3.2.0.tgz", + "integrity": "sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==", + "dev": true, + "requires": { + "xregexp": "^4.2.4" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-installed-globally": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz", + "integrity": "sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "registry-auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", + "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", + "dev": true, + "requires": { + "rc": "^1.2.8", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "term-size": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz", + "integrity": "sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "update-notifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.0.0.tgz", + "integrity": "sha512-p9zf71hWt5GVXM4iEBujpUgx8mK9AWiCCapEJm/O1z5ntCim83Z1ATqzZFBHFYqx03laMqv8LiDgs/7ikXjf/g==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "requires": { - "ci-info": "^1.5.0" + "string-width": "^4.0.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } } - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + }, + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz", + "integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==", "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "wait-on": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-4.0.0.tgz", - "integrity": "sha512-QrW3J8LzS5ADPfD9Rx5S6KJck66xkqyiFKQs9jmUTkIhiEOmkzU7WRZc+MjsnmkrgjitS2xQ4bb13hnlQnKBUQ==", - "dev": true, - "requires": { - "@hapi/joi": "^16.1.8", - "lodash": "^4.17.15", - "minimist": "^1.2.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.8", - "rxjs": "^6.5.4" - }, - "dependencies": { - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz", + "integrity": "sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==", "dev": true, "requires": { - "tslib": "^1.9.0" + "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" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + } } } } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true }, "well-known-symbols": { "version": "2.0.0", @@ -11801,6 +16509,23 @@ "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", "dev": true }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "when": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", + "integrity": "sha1-q6A/w7tzbWyIsJHQE9io5ZDYRxg=", + "dev": true + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -11864,6 +16589,18 @@ "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", "dev": true }, + "winreg": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", + "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -11877,7 +16614,17 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } }, "write-file-atomic": { "version": "2.4.2", @@ -11905,12 +16652,45 @@ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + } + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, "xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true }, + "xregexp": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.2.4.tgz", + "integrity": "sha512-sO0bYdYeJAJBcJA8g7MJJX7UrOZIfJPd8U2SC7B2Dd/J24U0aQNoGp33shCaBSWeb0rD5rh6VBUIXOkGal1TZA==", + "dev": true, + "requires": { + "@babel/runtime-corejs2": "^7.2.0" + } + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -11961,13 +16741,12 @@ } }, "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "fd-slicer": "~1.0.1" } }, "yeast": { @@ -11975,6 +16754,28 @@ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true + }, + "zip-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-1.0.2.tgz", + "integrity": "sha1-JT+QeurWKiGs2HIdi4gDKyQRwFE=", + "dev": true, + "requires": { + "async": "^1.5.2", + "jszip": "^2.4.0" + } + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + } } } } diff --git a/package.json b/package.json index 53b00aac..8ea72c46 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "VisBug", - "version": "0.2.39", + "version": "0.3.0", "description": "", "author": "Adam Argyle", "license": "Apache-2.0", @@ -29,6 +29,7 @@ "extension:css": "postcss app/extension.css -o extension/toolbar/bundle.css", "extension:copy": "cp app/bundle.min.js extension/toolbar/ && cp -R app/tuts/ extension/tuts", "extension:zip": "rm -rf ./extension/build/* && mkdir ./visbug_v$npm_package_version && cp -R ./extension/* ./visbug_v$npm_package_version/ && zip -r ./extension/build/visbug.zip ./visbug_v$npm_package_version/ && rm -rf ./visbug_v$npm_package_version", + "extension:firefox": "npm run dev:extension && cd extension && web-ext run", "deploy": "gcloud app deploy --project=visbug-1337", "test": "ava", "test:dev": "ava -v -w", @@ -38,9 +39,9 @@ "dependencies": { "@ctrl/tinycolor": "^3.0.2", "blingblingjs": "^2.1.1", + "construct-style-sheets-polyfill": "^2.3.3", "hotkeys-js": "^3.7.6", - "query-selector-shadow-dom": "^0.4.6", - "ragrid": "^1.0.6" + "query-selector-shadow-dom": "^0.4.6" }, "devDependencies": { "ava": "^1.4.1", @@ -56,8 +57,10 @@ "rollup": "^2.7.2", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-postcss": "^3.1.0", + "ragrid": "^1.0.5", "rollup-plugin-terser": "^5.3.0", - "start-server-and-test": "^1.11.0" + "start-server-and-test": "^1.11.0", + "web-ext": "^4.0.0" }, "ava": { "require": [ diff --git a/postcss.config.js b/postcss.config.js index 75dff658..c32da99e 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -8,7 +8,8 @@ module.exports = { stage: 0, browsers: [ 'last 3 chrome version', + 'last 3 firefox version', ], }), ] -} \ No newline at end of file +}