diff --git a/.gitignore b/.gitignore index 0df27101..0d5678bf 100644 --- a/.gitignore +++ b/.gitignore @@ -127,4 +127,8 @@ nb-configuration.xml ### Release creation ### tools/build/releases/* -!tools/build/releases/.gitkeep \ No newline at end of file +!tools/build/releases/.gitkeep +/assets/css/theme.css.map +/assets/js/theme.js.map +/assets/js/theme.js.LICENSE.txt +/assets/cache diff --git a/LICENCE.md b/LICENCE.md index fe43cfaf..7204cf08 100644 --- a/LICENCE.md +++ b/LICENCE.md @@ -1,3 +1,16 @@ -Copyright (c) 2007-2018 PrestaShop. +Copyright (c) 2011-2020 Prestarocket (Just Web S.A.R.L.) -This theme is licensed under AFL-3.0. \ No newline at end of file +By downloading or installing or using the Classic Rocket (the "Theme"), you consent to the terms and conditions of this license on behalf of yourself and the company on whose behalf you will use the Theme provided under this license. + + +The use of the Theme is permitted provided that the following conditions are met: + +You can: +- Customize the Theme +- Use the Theme for personal and client projects + +You cannot: +- Use in derivative PrestaShop themes that anyone can download for sale or for free. +- Use any of the components included in the Theme in a project that is not built upon the Theme + +Classic Rocket Theme (THE "SOFTWARE") ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index a56ddc36..92959351 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,24 @@ -# PrestaShop Classic Rocket +# PrestaShop Classic Rocket Classic Rocket is a rework of "classic theme". It has been built keeping in mind : performance, accessibility and SEO. Contributed by [Prestarocket](//www.prestarocket.com/blog/) (Twitter: [@prestarocket](https://twitter.com/prestarocket)) +Demo : [https://demoprestashop.prestarocket.com/](https://demoprestashop.prestarocket.com/) + Main features : - last version of Twitter Bootstrap - lazy loading images - offcanvas for main menu and filter menu - less css and less js -- form accessibility +- form accessibility and better validation - SEO: Hn, rel prev/next for pagination... - font performance +- better responsive We use [Dareboost](https://www.dareboost.com/) to test and improve our work. +## Contributing +PR on branch develop please ## Main differences with Classic Theme ### Performance @@ -22,7 +27,7 @@ With the same server (gzip, PrestaShop performance settings properly adjusted) - JS: 155 Ko (with Classic theme) to 86 Ko You can also see the web quality and performance comparison report on [Dareboost](https://www.dareboost.com/en/comparison/d_5b51dc70e967906045fd3683/d_5b51dc70e967906045fd3684) -### Twitter Bootstrap 4.1.x +### Twitter Bootstrap 4.4.x - Almost all tpl files are edited to use new BS classes (ex: col-xs-12 => col-12) - For retrocompatibility and third modules, we keep some important old classes in bs_alpha.scss @@ -110,15 +115,16 @@ Filter ``` ## Compatibility -PrestaShop 1.7.3.2 to 1.7.4.x +PrestaShop 1.7.3.2 to 1.7.6.x ## Download -- For PrestaShop 1.7.3.x (version 1.0.0): [classic-rocket](https://github.com/PrestaShop/classic-rocket/releases/download/1.0.0/classic-rocket.zip) +- [classic-rocket](https://github.com/PrestaShop/classic-rocket/releases) +## Misc +You can also use gulp to work faster during development (gulpfile.js => gulp watch) ## To do (you can help!): - test rtl -- form validation - more BEM - add more custom scss variables - more data in jsonld diff --git a/_dev/.browserslistrc b/_dev/.browserslistrc new file mode 100644 index 00000000..191d2879 --- /dev/null +++ b/_dev/.browserslistrc @@ -0,0 +1,3 @@ +defaults +ie 11 + diff --git a/_dev/babel.config.js b/_dev/babel.config.js new file mode 100644 index 00000000..9a46be1c --- /dev/null +++ b/_dev/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@babel/preset-env"], +}; diff --git a/_dev/css/abstracts/_mixins.scss b/_dev/css/abstracts/_mixins.scss new file mode 100644 index 00000000..e9a4b374 --- /dev/null +++ b/_dev/css/abstracts/_mixins.scss @@ -0,0 +1,12 @@ +@mixin media-breakpoint-desktop() { + + @include media-breakpoint-up(lg) { + @content; + } +} +@mixin media-breakpoint-mobile() { + + @include media-breakpoint-down(md) { + @content; + } +} \ No newline at end of file diff --git a/_dev/css/partials/_variables.scss b/_dev/css/abstracts/_variables-bootstrap.scss similarity index 100% rename from _dev/css/partials/_variables.scss rename to _dev/css/abstracts/_variables-bootstrap.scss diff --git a/_dev/css/abstracts/_variables.scss b/_dev/css/abstracts/_variables.scss new file mode 100644 index 00000000..96c1fe98 --- /dev/null +++ b/_dev/css/abstracts/_variables.scss @@ -0,0 +1,106 @@ +@import "variables/layout"; +@import "variables/product-miniature"; +@import "variables/searchbar"; + +//BS touchspin +$bs-touchspin-boxshadow: 2px 2px 4px 0 rgba(0,0,0,.2); + +//cart +$promo-code-bg: darken($body-bg,10%); + +//offcanvas +$zindex-offcanvas : $zindex-modal; +$offcanvas-width : 300px; + +//product slider +$product-thumb-margin: 5px; +$product-thumb-width: 100px; +$product-thumb-height: 100px; +$product-to-show: 3;//if you edit this, you have to add centerPadding ppy in data-slick with same value +$product-thumb-wrap-width: $product-to-show * ($product-thumb-width + 2 * $product-thumb-margin) - 2 * $product-thumb-margin; +$product-thumb-wrap-width-2: 2 * ($product-thumb-width + 2 * $product-thumb-margin) - 2 * $product-thumb-margin; +$product-thumb-wrap-height: $product-thumb-height + $product-thumb-margin * 2; + +//prices +$product-price-current-color: null; +$product-price-current-font-size: null; +$product-price-current-font-weight: 700; +$product-price-current-font-family: null; + +$product-price-regular-color: #7a7a7a; +$product-price-regular-font-size: $font-size-base * .875; +$product-price-regular-font-weight: 700; +$product-price-regular-font-family: null; + + +$product-price-discount-color: $tertiary; +$product-price-discount-font-size: null; +$product-price-discount-font-weight: 700; +$product-price-discount-font-family: null; + + + + +//product color box +$colorbox-border-color: #232323; + +//product add to cart spinner +$spinner-width-addtocart:$btn-font-size-lg; +$spinner-height-addtocart:$btn-font-size-lg; +$spinner-borderwidth-addtocart:2px; + + +//social share +$social-share-size: 2.5 * $font-size-base; +$social-share-bg-color: $gray-300; + +//main menu +$menu-topitem-font-size: $font-size-base; +$menu-topitem-font-weight: 600; +$menu-topitem-color: $gray-800; +$menu-topitem-text-transform: uppercase; +$menu-topitem-padding: $spacer/2; +$menu-topitem-margin-left: $spacer*2; + +$menu-sub-top: 60px; + + //main menu mobile +$menu-item-padding: $spacer/2; +$menu-item-border-color: $border-color; +$menu-sub-mobile-bg-color: $wrapper-bg; + +//heading +$h1-text-transform: uppercase; + +//footer +$footer-margin-top: $spacer; +$footer-padding-top: $spacer; + +//util +//$card-box-shadow : $box-shadow !default; +$card-box-shadow : null !default; + +//product section + +$section-title-font-family: null; +$section-title-color: null; +$section-title-size: null; +$section-title-font-weight: null; +$section-title-text-align: center; +$section-title-text-transform: uppercase; +$section-title-margin-bottom: $spacer; + +//blockcart +$blockcart-color: null; +$blockcart-background-color: null; +$blockcart-inactive-color: null; +$blockcart-inactive-background-color: null; +$blockcart-padding:null; + + +//block left column +$block-border-color: null; + + + + diff --git a/_dev/css/abstracts/variables/_layout.scss b/_dev/css/abstracts/variables/_layout.scss new file mode 100644 index 00000000..b45a2b7e --- /dev/null +++ b/_dev/css/abstracts/variables/_layout.scss @@ -0,0 +1,23 @@ +//color + +$bg-dark : #dededd; +$tertiary: #f39d72; + +//option +$enable-fluid-layout: false; + + +/* HEADER */ +$header-bg: $white; +$header-box-shadow: 0 2px 6px 0 rgba(0,0,0,.2); +$header-nav-bg-color: null; +$header-nav-color: $body-color; +$header-nav-padding-y: null; +$header-nav-border-color: $border-color; +$header-top-border-color: $header-nav-border-color; +/* MAIN */ +$spacer-y : $spacer*2; +$wrapper-bg: #f1f1f1; +/* FOOTER */ +$footer-bg: $white; +$footer-container-margin-top: $spacer; diff --git a/_dev/css/abstracts/variables/_product-miniature.scss b/_dev/css/abstracts/variables/_product-miniature.scss new file mode 100644 index 00000000..ce2b5109 --- /dev/null +++ b/_dev/css/abstracts/variables/_product-miniature.scss @@ -0,0 +1,16 @@ +/* PRODUCT MINIATURE */ +$pm-bg-color: null; +$pm-border-width: null; +$pm-border-color: null; +/* product title */ +$pm-name-color: $gray-700; +$pm-name-hover-color: $primary; +$pm-name-font-size: $font-size-base; +$pm-name-font-weight: 400; +$pm-name-font-family: null; +$pm-name-font-size: null; +$pm-name-hover-border-width: 1px; +$pm-name-hover-border-color: transparent; + +$pm-highlight-bg-color: #fff; +$pm-highlight-translateY: 0; \ No newline at end of file diff --git a/_dev/css/abstracts/variables/_searchbar.scss b/_dev/css/abstracts/variables/_searchbar.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/bootstrap.scss b/_dev/css/bootstrap.scss index b87409f4..9880618a 100644 --- a/_dev/css/bootstrap.scss +++ b/_dev/css/bootstrap.scss @@ -1,16 +1,16 @@ -@import "~bootstrap/scss/functions"; -@import "~bootstrap/scss/variables"; -@import "~bootstrap/scss/mixins"; -@import "~bootstrap/scss/root"; -@import "~bootstrap/scss/reboot"; -@import "~bootstrap/scss/type"; +@import "node_modules/bootstrap/scss/functions"; +@import "node_modules/bootstrap/scss/variables"; +@import "node_modules/bootstrap/scss/mixins"; +@import "node_modules/bootstrap/scss/root"; +@import "node_modules/bootstrap/scss/reboot"; +@import "node_modules/bootstrap/scss/type"; $theme-colors: map-remove($theme-colors,"primary","secondary","success","info","warning","danger","light","dark"); -@import "~bootstrap/scss/images"; -@import "~bootstrap/scss/code"; -@import "~bootstrap/scss/grid"; -@import "~bootstrap/scss/tables"; -@import "~bootstrap/scss/forms"; +@import "node_modules/bootstrap/scss/images"; +@import "node_modules/bootstrap/scss/code"; +@import "node_modules/bootstrap/scss/grid"; +@import "node_modules/bootstrap/scss/tables"; +@import "node_modules/bootstrap/scss/forms"; $theme-colors: ( "primary": $primary, "secondary": $secondary, @@ -21,22 +21,22 @@ $theme-colors: ( "light": $light, "dark": $dark ); -@import "~bootstrap/scss/buttons"; +@import "node_modules/bootstrap/scss/buttons"; $theme-colors: map-remove($theme-colors,"primary","secondary","success","info","warning","danger","light","dark"); -@import "~bootstrap/scss/transitions"; -@import "~bootstrap/scss/dropdown"; -@import "~bootstrap/scss/button-group"; -@import "~bootstrap/scss/input-group"; -@import "~bootstrap/scss/custom-forms"; -@import "~bootstrap/scss/nav"; -//@import "~bootstrap/scss/navbar"; +@import "node_modules/bootstrap/scss/transitions"; +@import "node_modules/bootstrap/scss/dropdown"; +@import "node_modules/bootstrap/scss/button-group"; +@import "node_modules/bootstrap/scss/input-group"; +@import "node_modules/bootstrap/scss/custom-forms"; +@import "node_modules/bootstrap/scss/nav"; +//@import "node_modules/bootstrap/scss/navbar"; -@import "~bootstrap/scss/card"; -@import "~bootstrap/scss/breadcrumb"; -@import "~bootstrap/scss/pagination"; -@import "~bootstrap/scss/badge"; -@import "~bootstrap/scss/jumbotron"; +@import "node_modules/bootstrap/scss/card"; +@import "node_modules/bootstrap/scss/breadcrumb"; +@import "node_modules/bootstrap/scss/pagination"; +@import "node_modules/bootstrap/scss/badge"; +@import "node_modules/bootstrap/scss/jumbotron"; $theme-colors: ( "primary": $primary, "secondary": $secondary, @@ -47,18 +47,18 @@ $theme-colors: ( "light": $light, "dark": $dark ); -@import "~bootstrap/scss/alert"; +@import "node_modules/bootstrap/scss/alert"; $theme-colors: map-remove($theme-colors,"primary","secondary","success","info","warning","danger","light","dark"); -//@import "~bootstrap/scss/progress"; -@import "~bootstrap/scss/media"; -@import "~bootstrap/scss/list-group"; -@import "~bootstrap/scss/close"; -@import "~bootstrap/scss/toasts"; -@import "~bootstrap/scss/modal"; -@import "~bootstrap/scss/tooltip"; -@import "~bootstrap/scss/popover"; -//@import "~bootstrap/scss/carousel"; +//@import "node_modules/bootstrap/scss/progress"; +@import "node_modules/bootstrap/scss/media"; +@import "node_modules/bootstrap/scss/list-group"; +@import "node_modules/bootstrap/scss/close"; +@import "node_modules/bootstrap/scss/toasts"; +@import "node_modules/bootstrap/scss/modal"; +@import "node_modules/bootstrap/scss/tooltip"; +@import "node_modules/bootstrap/scss/popover"; +//@import "node_modules/bootstrap/scss/carousel"; $theme-colors: ( "primary": $primary, "secondary": $secondary, @@ -69,8 +69,8 @@ $theme-colors: ( "light": $light, "dark": $dark ); -@import "~bootstrap/scss/spinners"; -@import "~bootstrap/scss/utilities"; -@import "~bootstrap/scss/print"; +@import "node_modules/bootstrap/scss/spinners"; +@import "node_modules/bootstrap/scss/utilities"; +@import "node_modules/bootstrap/scss/print"; diff --git a/_dev/css/components/_searchbar.scss b/_dev/css/components/_searchbar.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/components/block-social.scss b/_dev/css/components/block-social.scss index 248a77da..2408de93 100644 --- a/_dev/css/components/block-social.scss +++ b/_dev/css/components/block-social.scss @@ -20,13 +20,12 @@ background-position: center center; &.facebook { background-image: url(../img/facebook.svg); - } &.twitter { background-image: url(../img/twitter.svg); } - &.googleplus { - background-image: url(../img/gplus.svg); + &.linkedin { + background-image: url(../img/linkedin.svg); } &.pinterest { background-image: url(../img/pinterest.svg); @@ -39,7 +38,6 @@ } &.vimeo{ background-image: url(../img/vimeo.svg); - } &.instagram{ background-image: url(../img/instagram.svg); @@ -52,7 +50,7 @@ border-radius: 50%; transition: box-shadow 0.3s ease-in-out; &:hover{ - @extend .shadow; + box-shadow:$card-box-shadow;; } @@ -153,4 +151,4 @@ //} //.instagram { // background-image: url(../img/instagram.svg); -//} \ No newline at end of file +//} diff --git a/_dev/css/components/cart.scss b/_dev/css/components/cart.scss index f1c736c9..77c26cd1 100644 --- a/_dev/css/components/cart.scss +++ b/_dev/css/components/cart.scss @@ -1,12 +1,221 @@ -.blockcart{ - color:#fff; - background-color: theme-color('primary'); - padding:$spacer/2; -} -.blockcart.inactive{ - color:$gray-600; - background-color: $gray-200; +//.blockcart{ +// color:$blockcart-color; +// background-color: $blockcart-background-color; +// padding:$blockcart-padding; +//} +//.blockcart.inactive{ +// color:$blockcart-inactive-color; +// background-color: $blockcart-background-color; +// .material-icons{ +// color:$blockcart-inactive-color; +// } +//} +.product-line-actions{ + display:flex; + justify-content: space-between; + align-items: center; + .input-group.bootstrap-touchspin{ + max-width: 130px; + } + +} +.product-line-grid{ + .product-line__title{ + margin-bottom: $spacer*.75; + display: inline-block; + color: $body-color; + } + .product-price{ + display: flex; + align-items: center; + .discount{ + font-size: $font-size-sm; + line-height: 1; + } + } + .product-discount{ + margin-right: $spacer/2; + } + +} +.product-line__img{ + margin-right: $spacer; +} +@include media-breakpoint-mobile { + .product-line__img{ + width: 100px; + height: auto; + } + .product-line-actions { + justify-content: flex-end; + margin-top: $spacer; + .product-price{ + margin:0 $spacer*2; + } + } +} +@include media-breakpoint-mobile() { + .product-line__img{ + width: 50px; + } + .product-line-actions { + .product-price{ + margin:0 $spacer; + } + } + +} + +.cart__card-body{ + position: relative; + .cart__card-loader{ + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + align-items: center; + justify-content: center; + display: none; + background-color: rgba($white, .85); + opacity: 0; + transition: $transition-fade; + z-index: 3; + } + &.is--loading{ + .cart__card-loader { + display: flex; + opacity: 1; + } + + } +} +.nav-tabs--center{ + justify-content: center; +} +@include media-breakpoint-mobile{ + .checkout { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + z-index: 2; + padding: 1rem; + background-color: rgba(0,0,0,.4); + a{ + width: 100%; + } + } +} +.product-line__body{ + padding-right: $spacer/4; +} + +//order confirmation table +.total-value{ + background-color: $gray-300; + font-weight: 700; +} +.table__title-head{ + margin-bottom: 0; + font-size: $font-size-base; + +} +/* CART */ +.promo-code{ + margin-left: -$card-spacer-x; + margin-right: -$card-spacer-x; +} +.promo-code-alert { + display: none; +} +.cancel-promo{ + text-align: center; +} +.card-body .separator{ + margin-left: -$card-spacer-x; + margin-right: -$card-spacer-x; +} + +.cart-summary-line{ + display: flex; + justify-content: space-between; + +} +.cart-total{ +font-weight: bold; +} +.card-body--summary{ +.cart-total{ + @extend .total-value; + padding: $spacer/4; + .label{ + margin-bottom: 0; + } +} + &.card-body{ + padding-bottom: 0; + } +} +.media-list__item:not(:last-child){ + margin-bottom: $spacer/2; + +} + +//cart summary +.link__showsummary{ .material-icons{ - color:$gray-600; + @extend .icon-collapse; + } + &[aria-expanded=true] .material-icons{ + transform: rotateZ(180deg); + + } +} +.cart-item:not(:last-child){ + border-bottom: 1px solid $border-color; + margin-bottom: $spacer; + padding-bottom: $spacer; +} +.product-line-info{ + margin-bottom: $spacer/2; +} +.promo-code-button{ + text-align: center; + .collapse-button[aria-expanded=true] { + display: none; } -} \ No newline at end of file +} +.with-discounts{ + + +} +.promo-highlighted{ + text-align: center; + font-size: $font-size-sm; + margin-top: $spacer; + margin-bottom: $spacer/2; +} +.promo-discounts{ + font-weight: $font-weight-bold; + text-align: center; + color: $gray-700; + .code{ + color: $tertiary; + } +} +.form__add-voucher{ + margin-bottom: $spacer; +} +.promo-code{ + &__content{ + + padding: $card-spacer-x; + background-color: $promo-code-bg; + } + .collapse-button{ + text-align: center; + display: block; + color: $primary; + } +} diff --git a/_dev/css/components/categories.scss b/_dev/css/components/categories.scss index aaf55024..2900ef0c 100644 --- a/_dev/css/components/categories.scss +++ b/_dev/css/components/categories.scss @@ -7,44 +7,10 @@ } .block-categories { - @extend .shadow; + box-shadow:$card-box-shadow;; } -.left-column .search_filters { - @extend .card-block; -} - -//facets colors -.custom-color{ - &.custom-control{ - padding-left: 0; - } - .custom-control-label:before, - .custom-control-label:after - { - display:none - } -.color{ - margin-right: $custom-control-gutter - $custom-control-spacer-x; - -} -} - -.facet-block:not(:last-child){ - margin-bottom: $spacer; - border-bottom: 1px solid $card-border-color; - padding-bottom: $spacer; -} -.facet-block{ - .remove{ - display: none; - } -} - -.active_filters{ - background-color: $bg-dark; -} //block categories .block-categories a{ diff --git a/_dev/css/components/customer.scss b/_dev/css/components/customer.scss index 59dfb746..edb78848 100644 --- a/_dev/css/components/customer.scss +++ b/_dev/css/components/customer.scss @@ -5,7 +5,7 @@ } .link-item{ @extend .card; - @extend .shadow; + box-shadow:$card-box-shadow;; padding: $spacer; text-align: center; text-transform: uppercase; @@ -21,6 +21,7 @@ .address{ @extend .card; + height: 100%; } .address-header{ @extend .card-header; @@ -34,4 +35,9 @@ display: flex; justify-content: space-between; -} \ No newline at end of file +} + +.form--100{ + min-width: 100%; + width: 100%; +} diff --git a/_dev/css/components/facet.scss b/_dev/css/components/facet.scss new file mode 100644 index 00000000..d2ecccad --- /dev/null +++ b/_dev/css/components/facet.scss @@ -0,0 +1,240 @@ +@include media-breakpoint-desktop { + .collpase--facet { + &.collapse { + display: block; + } + } + .facet__block:not(:last-child) { + padding-bottom: $spacer; + } +} +@include media-breakpoint-mobile { + .facet__block:not(.show) { + padding-bottom: 0; + } +} + +.facet__block:not(:last-child){ + margin-bottom: $spacer; + border-bottom: 1px solid $card-border-color; + +} + +.facet__header { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: $spacer/1.5; +} + +.facet__title { + margin-bottom: 0; + font-weight: bold; + white-space: nowrap; + text-overflow: ellipsis; +} + + +.left-column .search_filters { + @extend .card-block; +} + +.custom-color{ + &.custom-control{ + padding-left: 0; + margin-bottom: .25rem; + } + .custom-control-label:before, + .custom-control-label:after + { + display:none + } + .color{ + margin-right: .25rem; + border: none; + } + .color__label{ + //dis + line-height: 1.25; + display: inline-block; + } + &.custom-control--active{ + .color{ + border: 2px solid black; + } + } +} + + + +.btn--clearfilter{ + margin-bottom: $spacer; +} +// +.active-filter__title{ + margin-bottom: $spacer/2; + font-weight: bold; +} +.active_filters__list{ +} +.active_filters{ + background-color: $bg-dark; +padding: $spacer $spacer ($spacer*.75); + margin-bottom: $spacer*1.25; +} +.active_filters__list-item{ + margin-bottom: $spacer/4; + +} + +//.active_filters{ +// display: flex; +// align-items: center; +// padding: $spacer; +// margin-bottom: $spacer; +//} +//.active_filters_title{ +// margin: 0; +// margin-right: $spacer / 2; +//} +//.active_filters_item{ +// margin-right: $spacer; +//} + + + + +.faceted-overlay { + left: 0; + top: 0; + width: 100%; + height: 100%; + position: fixed; + background-color: rgba(25, 25, 25, 0.5); + z-index: $zindex-modal+1; +} + +.faceted-overlay .overlay__inner { + left: 0; + top: 0; + width: 100%; + height: 100%; + position: absolute; +} + +.faceted-overlay .overlay__content { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} + +.faceted-overlay .spinner { + width: 75px; + height: 75px; + display: inline-block; + border-width: 2px; + border-color: rgba(255, 255, 255, 0.05); + border-top-color: #fff; + animation: spin 1s infinite linear; + border-radius: 100%; + border-style: solid; +} + +@keyframes spin { + 100% { + transform: rotate(360deg); + } +} + +/** + * 2007-2019 PrestaShop. + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +#search_filters .ui-slider-horizontal .ui-slider-handle { + margin-left: -1px; + cursor: pointer; +} + +#search_filters .ui-widget-header { + background: #555; +} + +#search_filters .ui-slider .ui-slider-handle { + top: -.45em; + width: 0.4em; + background: #fff; + border: 1px solid #555; +} + +#search_filters .ui-slider-horizontal { + height: .4em; +} + +/** + * 2007-2019 PrestaShop. + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +//#search_filters .facet .facet-title { +// width: calc(100% - 30px); +// overflow: hidden; +// text-overflow: ellipsis; +// white-space: nowrap; } +// +//#search_filters .facet .facet-label { +// width: 100%; +// text-align: left; } +//#search_filters .facet .facet-label .custom-checkbox, +//#search_filters .facet .facet-label .custom-radio { +// top: -7px; +// margin-right: 0; } +//#search_filters .facet .facet-label .color { +// margin-left: 0; } +//#search_filters .facet .facet-label a { +// width: calc(100% - 30px); +// overflow: hidden; +// text-overflow: ellipsis; +// white-space: nowrap; } + +/*# sourceMappingURL=front.css.map*/ \ No newline at end of file diff --git a/_dev/css/components/footer.scss b/_dev/css/components/footer.scss index fc30f6ee..2e2888fa 100644 --- a/_dev/css/components/footer.scss +++ b/_dev/css/components/footer.scss @@ -1,12 +1,7 @@ .l-footer { color: $text-muted; - .title{ - color:$black; - text-transform: uppercase; - display: block; - @extend .h3; - } + .cms-page-link, .account-list a{ color: $text-muted; @@ -15,4 +10,78 @@ } } -} \ No newline at end of file +} +.footer-container{ + margin-top: $footer-container-margin-top; +} + +.footer__title{ + color:$black; + &:visited,&:hover{ + color: $black; + } + text-transform: uppercase; + display: block; + font-weight: 700; + margin-bottom: $spacer/2; + &--mobile{ + display: none; + margin-bottom: 0; + padding: $spacer/2 0; + border-bottom: 1px solid $border-color; + + + &:after{ + content:"\e313"; + font-family: 'Material Icons'; + font-feature-settings: 'liga' 1; + position: absolute; + right: $grid-gutter-width/2; + transition: .3s transform ease-in-out; + font-size: $font-size-base *1.5; + } + &[data-toggle="collapse"][aria-expanded="true"]:after { + transform: rotate(180deg); + } + } +} + +@include media-breakpoint-mobile { + .footer__title{ + &--desktop{ + + display: none; + } + &--mobile{ + display: block; + } + } +} +.footer__copyright{ + text-align: center; + font-size: $font-size-sm; +} +.header__nav{ + align-items: center; +} +.header-nav__nav2{ + display: flex; + justify-content: flex-end; + align-items: center; +} +.header-mobile{ + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; +} +.header-mobile__user-cart{ + display: flex; + justify-content: flex-end; + align-items: center; +} +.header__top{ + display: flex; + justify-content: space-between; + position: static; +} diff --git a/_dev/css/components/imageslider.scss b/_dev/css/components/imageslider.scss index b57951dd..877a1945 100644 --- a/_dev/css/components/imageslider.scss +++ b/_dev/css/components/imageslider.scss @@ -6,7 +6,7 @@ } .slider-caption{ position: absolute; - bottom:30px; + top:10%; left: 90px; margin-bottom: 0; color: #fff; diff --git a/_dev/css/components/productcomments.scss b/_dev/css/components/productcomments.scss new file mode 100644 index 00000000..4dd29f99 --- /dev/null +++ b/_dev/css/components/productcomments.scss @@ -0,0 +1,122 @@ +@include media-breakpoint-desktop { + .product-comment-modal .modal-dialog{ + max-width: 774px; + } +} +.product-comment-modal{ + .modal-footer{ + margin-right: -$modal-inner-padding; + margin-left: -$modal-inner-padding; + } + .modal-body{ + padding-bottom: 0; + } +} +.modal--product-comment-posted-modal, +.modal--report-comment-posted{ + .modal-header{ + color:$success + } +} +.product-comment-post-error-message{ + .modal-header{ + color:$danger + } +} +.grade-stars, +.comments-note{ + display: flex; +} +.star{ + color: #f1ab00; +} + +/** product list **/ + +.product-list-reviews{ + .grade-stars{ + justify-content: center; + } + .star{ + .material-icons{ + font-size: $font-size-base; + } + } +} +/** product page **/ +.product-comments{ + margin-top: $spacer*2; + margin-bottom: $spacer*2; +} +.product-comments-additional-info{ + margin: $spacer 0; +} +.comments-note{ + .grade-stars{ + margin-left: $spacer/4; + } + margin-bottom: $spacer/2; +} +.comments__header{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.product-comment-list-item{ + background: $white; + margin-bottom: $spacer; + padding: $spacer; +} +.comment-infos{ + .grade-stars{ + margin-bottom: $spacer; + } + .comment-date, + .comment-author{ + font-size: $font-size-sm; + } +} + +/* comment list */ +.product-comments__pagination{ + ul{ + @extend .pagination; + @extend .pagination-sm; + } + li{ + @extend .page-item; + span{ + @extend .page-link; + } + &:not(.disabled){ + span:not(.current){ + cursor: pointer; + } + } + } +} +/* MODAL COMMENT */ +/* radio input star ratig */ +@import 'starability/starability-base'; + +.starability-basic { + @include starability-base; + min-height: auto; +} + +.product-criterion{ + display: flex; + justify-items: center; + justify-content: flex-end; + margin-bottom: $spacer; + &__name{ + width: auto; + font-size: $font-size-base; + margin-bottom: 0; + margin-right: $spacer/4; + } + label{ + margin-bottom: 0; + } +} + diff --git a/_dev/css/components/products.scss b/_dev/css/components/products.scss index c17923f0..351c3c0a 100644 --- a/_dev/css/components/products.scss +++ b/_dev/css/components/products.scss @@ -7,7 +7,7 @@ @extend .col-6; } -@include media-breakpoint-up(lg) { +@include media-breakpoint-desktop { .product-miniature{ @include make-col(4); } @@ -16,17 +16,31 @@ @include make-col(3); } } + +@media (max-width: 320px) { + .product-miniature{ + @include make-col(12); + } +} + .slick-slide .product-miniature{ max-width: 100%; } /* Product miniature*/ -.card-product{ +.card-product.card{ height:100%; position: relative; - &:hover .highlighted-informations{ - transform:translateY(0); + background-color: $pm-bg-color; + border-width: $pm-border-width; + border-color: $pm-border-color; + &:hover + { + .highlighted-informations{ + transform:translateY(0); + } } + .discount{ display:none; } @@ -44,19 +58,22 @@ position: absolute; bottom: 0; width:100%; - background: #fff; + background-color: $pm-highlight-bg-color; transform:translateY(100%); transition:transform .3s; + .card-product:hover & { + transform:translateY($pm-highlight-translateY); + } } .quick-view{ - cursor:pointer + cursor:pointer; } .product-flags{ position:absolute; top:0; margin-bottom: 0; - z-index: 2; + z-index: 1; left:-$spacer/4; display: flex; flex-direction: column; @@ -90,20 +107,31 @@ } .product-title{ - color: $pm-title-color; - font-size: $pm-title-font-size; + color: $pm-name-color; + font-size: $pm-name-font-size; text-decoration: none; text-align: center; - font-weight: $pm-title-font-weight; + font-weight: $pm-name-font-weight; & a { - color: $pm-title-color; + color: $pm-name-color; + &:hover{ + color: $pm-name-hover-color; + border-bottom: $pm-name-hover-border-width solid $pm-name-hover-border-color; + } + + } + .card-product:hover & { + color: $pm-name-hover-color; + & a { + color: $pm-name-hover-color; + } } } /* PRODUCT PAGE */ .products-imagescover{ - @extend .shadow; + box-shadow:$card-box-shadow;; } .product-img:not(:first-child) .rc { display: none; @@ -170,12 +198,29 @@ } //product prices -.current-price-display{ - font-size: $product-regular-price-font-size; - font-weight: $regular-price-font-weight; +.product__product-price.has-discount{ + .current-price{ + display: inline-block; + } +} +.price{ + color:$product-price-current-color; + font-size:$product-price-current-font-size; + font-weight:$product-price-current-font-weight; + font-family: $product-price-current-font-family; + &.current-price-discount{ + color:$product-price-discount-color; + font-size:$product-price-discount-font-size; + font-weight:$product-price-discount-font-weight; + font-family: $product-price-discount-font-family; + } } -.current-price-discount{ - color:$product-price-discount-color; +.regular-price{ + color:$product-price-regular-color; + font-size:$product-price-regular-font-size; + font-weight:$product-price-regular-font-weight; + font-family: $product-price-regular-font-family; + text-decoration: line-through; } .discount{ text-transform: uppercase; @@ -191,6 +236,7 @@ //@extend .d-flex; text-transform: uppercase; font-weight: 600; + white-space: nowrap; } //product tabs @@ -200,10 +246,10 @@ } //@extend .card; //@extend .card-block - //@extend .shadow; + //box-shadow:$card-box-shadow;; } .card--reassurance{ - @extend .shadow; + box-shadow:$card-box-shadow;; } // modal add to cart @@ -247,3 +293,161 @@ padding-left: $spacer; } +//modal cart +.modal-cart__image{ + margin-right: $spacer; + max-width: 200px; + + height: auto; +} +.modal-cart__name{ + color: $primary; + font-weight: $font-weight-bold; +} +.product-total{ + font-weight: $font-weight-bold; +} +.cart-content{ + > p:not(:last-child){ + margin-bottom: $spacer/2; + } +} +@include media-breakpoint-mobile { + .modal-cart__image{ + max-width: 120px; + } + .blockcart-modal { + .divide-right{ + display: flex; + justify-content: center; + } + .modal-footer { + position: fixed; + bottom: 0; + background: #fff; + justify-content: center; + left: 0; + width: 100%; + box-shadow: 0px -0.25rem 0.5rem rgba($black, .15); + } + .modal-body{ + margin-bottom: ($btn-padding-y * 2) + ($btn-font-size*$btn-line-height) + $modal-inner-padding * 2; + } + } +} +@include media-breakpoint-down(xs) { + .modal-cart__image{ + max-width: 70px; + } +} +//spinner add to cart +.btn-add-to-cart { + .btn-add-to-cart__spinner { + @extend .spinner-border; + width: $spinner-width-addtocart; + height: $spinner-height-addtocart; + border-width: $spinner-borderwidth-addtocart; + display: none; + } + &.is--loading{ + .btn-add-to-cart__spinner { + display: inline-block; + } + .btn-add-to-cart__icon { + display: none; + } + } +} + +.products-selection{ + justify-content: space-between; + align-items: center; +} +.pack-miniature-item{ + margin-bottom: $spacer / 2; +} +.ratio1_1{ + display: block; +} +.pack-product-name{ + margin: 0 $spacer * 1.5; + flex-grow: 1; +} +.product-miniature{ + margin-bottom: $spacer ; +} +.product__card-img{ + position: relative; +} +.product__card-desc{ + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; +} +.highlighted-informations{ + text-align: center; + padding: $spacer / 2; +} +.quantity__label{ + margin-bottom: 0; + margin-top: $spacer; + +} +.product-add-to-cart{ + .product-quantity{ + margin-top: -($spacer); + } +.qty{ + margin: 0 $spacer; + margin-top: $spacer; + +} +.add{ + margin-top: $spacer; + +} +} +.product-customization{ + margin-bottom: $spacer * 1.5; +} +.product-discounts{ + margin-bottom: $spacer * 1.5; +} +.product__quantity{ + margin-bottom: 0; +} +.sort-by-row{ + display: flex; + width: 100%; + justify-content: space-between; + align-items: center; +} +.total__item-show{ + text-align: center; + font-size: $font-size-sm; + margin-top: $spacer; +} +.variant-links{ + display: flex; + justify-content: center; +} +.product__download{ + text-transform: uppercase; +} +.card--address{ + height: 100%; + text-align: center; + justify-content: center; +} +.invoice__address{ + margin-top: $spacer; +} +.invoice-address{ + height: 100%; + text-align: center; + justify-content: center; +} +.nav-tabs{ + justify-content: center; +} \ No newline at end of file diff --git a/_dev/css/components/search-widget.scss b/_dev/css/components/search-widget.scss new file mode 100644 index 00000000..d0123b67 --- /dev/null +++ b/_dev/css/components/search-widget.scss @@ -0,0 +1,20 @@ +.search-widget{ + max-width: 450px; + margin: 0 auto; +} +.search-widget__group{ + position: relative; +} +.search-widget__input-right{ + padding-right: 50px ; +} +.search-widget__btn{ + position: absolute; + right: 0; + top: 0; +} +@include media-breakpoint-mobile{ + .search-widget{ + max-width: unset; + } +} diff --git a/_dev/css/components/slick-theme.scss b/_dev/css/components/slick-theme.scss index 79db3d6c..0406c53d 100644 --- a/_dev/css/components/slick-theme.scss +++ b/_dev/css/components/slick-theme.scss @@ -7,7 +7,7 @@ justify-content: center; padding-top: 0; padding-bottom: 0; - z-index: 2; + z-index: 1; & > i{ font-size: 2*$font-size-base; diff --git a/_dev/css/components/starability/_starability-base.scss b/_dev/css/components/starability/_starability-base.scss new file mode 100755 index 00000000..c7f77c03 --- /dev/null +++ b/_dev/css/components/starability/_starability-base.scss @@ -0,0 +1,161 @@ +@import 'variables'; + +@mixin starability-base() { + display: block; + position: relative; + width: $star-count * $star-size; + min-height: 2 * $star-size; + padding: 0; + border: none; + + > input { + position: absolute; + margin-right: -100%; + opacity: 0; + } + + > input:checked ~ label, + > input:focus ~ label { + background-position: 0 0; + } + + > input:checked + label, + > input:focus + label { + background-position: 0 (-$star-size); + } + + > input[disabled]:hover + label { + cursor: default; + } + + @if ($hover-enabled) { + > input:not([disabled]):hover ~ label { + background-position: 0 0; + } + + > input:not([disabled]):hover + label { + background-position: 0 (-$star-size); + } + + > input:not([disabled]):hover + label::before { + opacity: 1; + } + } + + @if ($accessible-highlight) { + > input:focus + label { + outline: 1px dotted #999; + } + } + + @if ($accessible-focus-ring) { + .starability-focus-ring { + position: absolute; + left: 0; + width: 100%; + height: $star-size; + outline: 2px dotted #999; + pointer-events: none; + opacity: 0; + } + + > .input-no-rate:focus ~ .starability-focus-ring { + opacity: 1; + } + } + + > label { + position: relative; + display: inline-block; + float: left; + width: $star-size; + height: $star-size; + font-size: 0.1em; + color: transparent; + cursor: pointer; + background-image: $img-stars-sprite; + background-repeat: no-repeat; + background-position: 0 (-$star-size); + + &::before { + content: ''; + position: absolute; + display: block; + height: $star-size; + background-image: $img-stars-sprite; + background-position: 0 $star-size; + pointer-events: none; + opacity: 0; + } + + @if ($hover-enabled) { + + // This function makes sure the right number of stars is highlighted + $star-count-highlight: $star-count; + + @while $star-count-highlight > 0 { + $star-number: $star-count-highlight; + + &:nth-of-type(#{$star-number})::before { + width: $star-number * $star-size - $star-size; + left: -($star-number * $star-size - $star-size); + } + + $star-count-highlight: $star-count-highlight - 1; + } + } + + @media screen and (min-resolution: 192dpi) { + background-image: $img-stars-sprite-2x; + background-size: $star-size auto; + } + } + + @if ($high-contrast-enabled) { + + // To make the rating widget accessible in high contrast, we remove the styling. + @media screen and (-ms-high-contrast: active) { + width: auto; + + > input { + position: static; + margin-right: 0; + opacity: 1; + } + + .input-no-rate { + display: none; + } + + > label { + display: inline; + float: none; + width: auto; + height: auto; + font-size: 1em; + color: inherit; + background: none; + + &::before, + &::after { + display: none; + } + } + } + } +} + +@mixin starability-animation-base($img-animated: $img-stars-sprite, $img-animated-2x: $img-stars-sprite-2x) { + content: ' '; + position: absolute; + opacity: 0; + width: $star-size; + height: $star-size; + background-image: $img-animated; + background-repeat: no-repeat; + + @media screen and (min-resolution: 192dpi) { + background-image: $img-animated-2x; + background-size: $star-size auto; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/_starability-result.scss b/_dev/css/components/starability/_starability-result.scss new file mode 100755 index 00000000..58554b35 --- /dev/null +++ b/_dev/css/components/starability/_starability-result.scss @@ -0,0 +1,39 @@ +.starability-result { + position: relative; + width: $star-count * $star-size; + height: $star-size; + background-image: $img-stars-sprite; + font-size: 0.1em; + color: transparent; + + &:after { + content: ' '; + position: absolute; + left: 0; + height: $star-size; + background-image: $img-stars-sprite; + background-position: 0 (-$star-size); + } + + $star-count-result: $star-count; + + @while $star-count-result > 0 { + $star-number: $star-count-result; + + &[data-rating="#{$star-number}"]::after { + width: $star-number * $star-size; + } + + $star-count-result: $star-count-result - 1; + } + + @media screen and (min-resolution: 192dpi) { + background-image: $img-stars-sprite-2x; + background-size: $star-size auto; + + &:after { + background-image: $img-stars-sprite-2x; + background-size: $star-size auto; + } + } +} diff --git a/_dev/css/components/starability/_variables.scss b/_dev/css/components/starability/_variables.scss new file mode 100755 index 00000000..07d88fbe --- /dev/null +++ b/_dev/css/components/starability/_variables.scss @@ -0,0 +1,24 @@ +$star-count: 5 !default; +$star-size: 30px !default; + +// images are stored using base64 encoding +$img-stars-sprite: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII="); +$img-stars-sprite-2x: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg=="); + +$img-checkmark: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzM4MUFFNkVFMEFDMTFFNjkzRkJGMTdBODM0NzVDNTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzM4MUFFNkZFMEFDMTFFNjkzRkJGMTdBODM0NzVDNTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMjVDOUVGRkUwQUMxMUU2OTNGQkYxN0E4MzQ3NUM1MCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMjVDOUYwMEUwQUMxMUU2OTNGQkYxN0E4MzQ3NUM1MCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrdrnzwAAAI6SURBVHja7Jc9SwNBEIZnL+qBIopgE7EKgtjY+gcsRA2JkEItbGxEooU2xkIs1EZBDFrZiY0pjFGwEfEviI2NpWkEEQRJIt46s4l4d9ndu5zRNB4c5D52npvZmXknjHMOjTgMaNDRMHCT/YIxpn5zLxaGdx4Dbo3hmxG8E648yQPwB2DGBTSzLCxk8yoT9m1ljgsZmIClj3XgMOvLFQaH0BJak32Af/BOdBwsOMYl7bUFkr3iJk7DUu5cBVbv8XY0CRbP1Q4ViHaxlmyoPk3qsfCUoPVIXxb98lwfatrTonUfzFNF2E2jn/ZcH2pKpLpBK2EXNnWhTsfR24/HH1De8GyVPjFDPTx5mpd7THUaOKKQReN9+ONW+txl2wkWzSEQ9BLaOidF7ZrmMF4/V0fcadu1x6IjBYFOwNxRoZwjhVVsNl2SFyO6Xh1WA9gJninXvRsHdHt8F6GLCgvh2kWCsczTyOgULOe2wDDmv6EdIz6hnuqkavC93ddX5RJbOjsQTcE04zbohg9oXgNGlZHLyhAUijeQTnSW4diJkpkXGzTlo54f1GCSNvXCQQHfS3Tb+vmKP2i1bYceCz0twr4WXiJ4bBhK1gxGYtN39pNtpcdUh6Sn2ojxAWyBdzVByaZLn6uzmkScGrsWLqtTjUgIm14zF30ZiXj9prpp2TQir2PKWsYWfq6IaMM1hXg3kOVcWtSrV9iVow+uJRuBxlv6WhJxr4RzJxKtUXjqf8r8i/H2/y/Mbx6fAgwA8wT2yCo9WaMAAAAASUVORK5CYII="); +$img-checkmark-2x: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTgyRjdBNDlFMEFDMTFFNjkzRkJGMTdBODM0NzVDNTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTgyRjdBNEFFMEFDMTFFNjkzRkJGMTdBODM0NzVDNTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMzgxQUU3OEUwQUMxMUU2OTNGQkYxN0E4MzQ3NUM1MCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFODJGN0E0OEUwQUMxMUU2OTNGQkYxN0E4MzQ3NUM1MCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvR97twAAARDSURBVHja7JvNaxNBFMDfbEvaDQQaPFUQBYvkD7D1ZtUKVSGJhVILft16UA9qogdRKKgXm9CLCnqrLVilUJOiUJTqVT0VLz3Ugz3YU2mh0MQiWefNJqVps5Od2dnN1mQgodm0M++37828ry0xDAPqaWhQZ6MB3ABuAO/t0Wz1BSHE+ezPruiQXzsNBThFP0WAQAcYEAYwQsVV1um1VXptkX5YoLd/DlrbPsH1VzmnS1t5H2L5hSzw0wth+LMRpxD46qVXdMEZcvQmzNJXBlqCGbjxZtWfwKjN3FqCLnWXgoaU2B+Bdfr2BPS2tKjW3QVOxYbo+zBdpd2VjUfIMps/mX1ZW+DR/v3wd/Mdnb7TmyOHfIfmwHm4NfXbe+BU/Biddto1rXK1TfogmfkqAyznltKxS2AUPnsOa5K0s7VRBpn7JaxhXKhgjPsjiiCXIZGdcM+k0Yzx7oq7GrcGdWHayUrm7dyk8YDCPesfWDBloTIx2VSHlnga12LP2tnTzFOoBGZ+1ivXI0XdWYwFFBxaZgT105fa3emu9LbDpYhMfg9juOh32JJps9DWiYYxEchv/FIWG7uuZRp7twYPYsIhp2Ez6wnVyEQxZdwU0zKVFWWWPrQwxauNpn5Aq94FmjYoAR2XM+nnV3XYWF3x3O8y2GD3Vh6cjvdBoTBJfwrYDkaC4X3GtbGcmIaxUuE5LDXjppYzZUl/IjMtqGm9KLugSZtlGY9hA92VUr+3By6+p78wb3sujuy8PRzx0IyXrGBxDCxNjAkGPhFxYCy4eQWrQY9lUp+KvaY+dlBwzg5xYFZddFCZ0EjSVnSEsLdnFpXBVpGdY9JGSBpW13tpnppm+arVYcNgjePWsNEXUrBVZFdciC/Clk5ZTM4rnrBkhQKf5cPCkBs7iANM1oX953bYMrdC+pl/LMFqpIden3cP1lp23qElWgA/BPn8kYrfJLIzFPKceUBxYEdio0o0y5Gdd2gtCsexUPgI6dgJC+gvoIcjXFgwbqrJnKxl5+3hBYmFQlAwPlhCW3UPUtHHymCryK5xdvecdJ3JhI7aq6ZQWAPuKT6Z5sSBsYu3ddBIQU+xwJ9fOrqvHBZlNmUXBEbzwy6e/AiwLGckOmANazx0IXKb5TXetCp/nHG4PKZ047u6BOlYwhVYGzLzgbE/y1qWDqGxU1GqKiJswUi5VuJBmaVrWqpNj5BJ+XDR1vwPIJl9xByGdNUSm9Fmf1aBf3QVdpnJKh9alvnOYfD/GLbzlID9ZtpI7Jt/uw80abmT7So3JqfNNOy8qzJt1aaMsjnPlnYMVpEgfQ6CETdGjslk4xEIuXwY+7AaGfINLspS5dEH5wUAltSzSkaupprldP/VHFq7QsN6eqilZN5NgaPshPTyNMY1Bc1YjYbLE4E6eTBt+6irRw+3j7p5uNRK63vl8eH/dTT+BaAB3ABuAO+p8U+AAQA0fxy2fEEf3gAAAABJRU5ErkJggg=="); + +$img-heart: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAcCAYAAAB2+A+pAAAAAXNSR0IArs4c6QAAAsJJREFUSA29lt9LFFEUx8+5u+5CLUEstlRsO5tKPvXjRXoSQpDUfiAhQS9FEIo+CP0Dbe+9FBIZEfgSRL2k4RbUq0S+SBBRGeOmmUJF6Ja67s7pnLE7O667Nis5A8M598z3nM+cuXdmLkLJMVfXuWepsHwBAc4TwF4k2AlAPxHxBREMG5l0uiTFHk4d7Oggq3Ca9S0c2A0Ii0Awi6ge1oQCD/Z9GPnmzuP6xSNjtPcTWTcYGCxG13sI+DgQiXTH3z76IVdmGjuj+aXlQQI6t17pGiGs8o1fNcz0gI7aYOrqCmTGs3eJ6LK+sJnlIu8SQTgmmkyeJvhJNG6md64hDBqXjvdiKmXZYO602yLrjiPw4qC6bsvIuuZFrjWo1BXDHL2H3+vbdi3kYRKIavVFTxYxZ+uIQp70WoQ4HwnXNAQX8tgHZFUHlSLVAjWYKJZdyfUpBKtVx/yyPL+tipf8Ib+ADocXoyLEqBPwyRGm4hf+l088B4NEWcWrZNaJ+Od8ZTCO+cfTJBxTEMDneuibZaZKKHrKn8A5v6DCEqbCyfQKAd7yCywsYfIcA0TCwQH+68xsN1wYwhKODa59P7yICnq3HcwMYTlgcRJmegQQh7YNzrVtxl+A3XERFuvhyX9VHP8fb61mrMddzf4fuwPzyTOx37T6mv8+B9zxLfuIn3dgTVPMHJ531yjpGEAEKqRO8GPPuIVb8rmG1CqFSq0NHWvAl7qz8Vwh95I7b9Cxqizix1Ag1LL/05PpcnkbOtaitQRs5s7HdcyztXOwuRJU6lTsWEOovi2cycPtKjaC93kj2CsfCV2jnP0nWCeZRjuvSrpZcctj78GwPzk16mnT6BksNzCdPHm4QDjE3R/VNySWX5eJANLFuPnsjTu+mV9xjsslSeFENN7EG7UUT9KqnOJLrBpoudqeYzPJU0fk9JxQIvwDg4rmetWjBsMAAAAASUVORK5CYII="); +$img-heart-2x: url("data:image/png;base64,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"); + +// if true there is an outline around the active star +$accessible-highlight: true !default; + +// if true there is an outline around all stars when using keyboard and no rate is selected +$accessible-focus-ring: true !default; + +// if true, stars are highlighted on hover (causes website repaints) +$hover-enabled: true !default; + +// if true, there is no styling in high contrast mode on Windows to ensure Accessibility +$high-contrast-enabled: true !default; diff --git a/_dev/css/components/starability/all.scss b/_dev/css/components/starability/all.scss new file mode 100755 index 00000000..cf6f7537 --- /dev/null +++ b/_dev/css/components/starability/all.scss @@ -0,0 +1,9 @@ +@import 'basic'; +@import 'slot'; +@import 'grow'; +@import 'growRotate'; +@import 'fade'; +@import 'checkmark'; +@import 'heart'; +@import 'heartbeat'; +@import 'coinFlip'; \ No newline at end of file diff --git a/_dev/css/components/starability/basic.scss b/_dev/css/components/starability/basic.scss new file mode 100755 index 00000000..86b126b0 --- /dev/null +++ b/_dev/css/components/starability/basic.scss @@ -0,0 +1,7 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +.starability-basic { + @include starability-base; +} \ No newline at end of file diff --git a/_dev/css/components/starability/checkmark.scss b/_dev/css/components/starability/checkmark.scss new file mode 100755 index 00000000..defd47e1 --- /dev/null +++ b/_dev/css/components/starability/checkmark.scss @@ -0,0 +1,59 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes checkmark { + + 0% { + transform: translateX(-0.5 * $star-size); + } + + 60% { + opacity: 1; + } + + 70% { + transform: none; + } + + 80% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.starability-checkmark { + @include starability-base(); + + > label { + z-index: 2; + } + + > label::after { + @include starability-animation-base($img-checkmark, $img-checkmark-2x); + background-image: $img-checkmark; + } + + $star-count-checkmark: $star-count; + + @while $star-count-checkmark > 0 { + $star-number: $star-count-checkmark; + $distance: ($star-count + 1) - $star-count-checkmark; + + > label:nth-of-type(#{$star-number})::after { + right: -($distance * $star-size) - 0.5 * $star-size; + } + + $star-count-checkmark: $star-count-checkmark - 1; + } + + > input:checked + label::after { + display: inline-block; + animation-name: checkmark; + animation-duration: .7s; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/coinFlip.scss b/_dev/css/components/starability/coinFlip.scss new file mode 100755 index 00000000..247a3f09 --- /dev/null +++ b/_dev/css/components/starability/coinFlip.scss @@ -0,0 +1,63 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes coinFlip { + + 0% { + transform: translateY(0); + opacity: 0; + } + + 25% { + transform: translateY(-34px); + opacity: 1; + } + + 30% { + transform: translateY(-30px); + } + + 35% { + transform: translateY(-30px) rotateY(0deg); + } + + 50% { + transform: translateY(-30px) rotateY(180deg); + } + + 65% { + transform: translateY(-30px) rotateY(0deg); + } + + 85% { + transform: translateY(-34px); + opacity: 1; + } + + 100% { + transform: translateY(0); + opacity: 0; + } +} + +.starability-coinFlip { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base; + bottom: 0; + left: 0; + z-index: 2; + } + + > input:checked + label::after { + background-position: 0 (-$star-size); + opacity: 1; + animation-name: coinFlip; + animation-duration: 1.2s; + animation-fill-mode: forwards; + animation-timing-function: ease-in-out; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/fade.scss b/_dev/css/components/starability/fade.scss new file mode 100755 index 00000000..d3670549 --- /dev/null +++ b/_dev/css/components/starability/fade.scss @@ -0,0 +1,38 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes fade { + + 0% { + transform: translateY($star-size); + } + + 80% { + opacity: 100%; + } + + 100% { + transform: none; + opacity: 0; + } +} + +.starability-fade { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base; + background-position: 0 (-$star-size); + bottom: $star-size; + left: 0; + } + + > input:checked + label::after { + opacity: 1; + animation-name: fade; + animation-duration: 1s; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/grow.scss b/_dev/css/components/starability/grow.scss new file mode 100755 index 00000000..8e79ae0a --- /dev/null +++ b/_dev/css/components/starability/grow.scss @@ -0,0 +1,39 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes grow { + + 0% { + transform: scale(1,1); + } + + 70% { + transform: scale(3,3); + opacity: 0; + } + + 100% { + transform: scale(1,1); + opacity: 0; + } +} + +.starability-grow { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base; + bottom: 0; + left: 0; + } + + > input:checked + label::after { + background-position: 0 (-$star-size); + opacity: 1; + animation-duration: 1s; + animation-name: grow; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/growRotate.scss b/_dev/css/components/starability/growRotate.scss new file mode 100755 index 00000000..a8b72ad4 --- /dev/null +++ b/_dev/css/components/starability/growRotate.scss @@ -0,0 +1,39 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes grow-rotate { + + 0% { + transform: scale(1,1) rotate(0deg); + } + + 99% { + transform: scale(4,4) rotate(90deg); + opacity: 0; + } + + 100% { + transform: scale(1,1) rotate(0deg); + opacity: 0; + } +} + +.starability-growRotate { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base; + bottom: 0; + left: 0; + } + + > input:checked + label::after { + background-position: 0 (-$star-size); + opacity: 1; + animation-duration: 1s; + animation-name: grow-rotate; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/heart.scss b/_dev/css/components/starability/heart.scss new file mode 100755 index 00000000..7a035ca0 --- /dev/null +++ b/_dev/css/components/starability/heart.scss @@ -0,0 +1,53 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes heart { + + 0% { + transform: translateY(0.5 * $star-size); + opacity: 1; + } + + 30% { + transform: translateY(0); + opacity: 0.7; + } + + 45% { + transform: translateY(0); + transform: scale(1.1, 1.1); + } + + 50% { + transform: scale(0.9, 0.9); + } + + 80% { + opacity: 0.9; + } + + 100% { + transform: scale(0.1, 0.1); + opacity: 0; + } +} + +.starability-heart { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base($img-heart, $img-heart-2x); + bottom: $star-size; + left: 0; + z-index: 2; + } + + > input:checked + label::after { + opacity: 1; + animation-name: heart; + animation-duration: 1s; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/heartbeat.scss b/_dev/css/components/starability/heartbeat.scss new file mode 100755 index 00000000..af86eaff --- /dev/null +++ b/_dev/css/components/starability/heartbeat.scss @@ -0,0 +1,53 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +@keyframes heartbeat { + + 0% { + transform: translateY(0.5 * $star-size); + } + + 30% { + transform: translateY(0); + opacity: 1; + } + + 45% { + transform: translateY(0); + transform: scale(0.8, 0.8); + } + + 50% { + transform: scale(0.7, 0.7); + } + + 75% { + opacity: 0.9; + } + + 100% { + transform: scale(1.25, 1.25); + opacity: 0; + } +} + +.starability-heartbeat { + @include starability-base; + will-change: contents; + + > label::after { + @include starability-animation-base($img-heart, $img-heart-2x); + bottom: $star-size; + left: 0; + z-index: 2; + } + + > input:checked + label::after { + opacity: 1; + animation-name: heartbeat; + animation-timing-function: cubic-bezier(.19,1,.69,1.35); + animation-duration: 1s; + animation-fill-mode: forwards; + } +} \ No newline at end of file diff --git a/_dev/css/components/starability/slot.scss b/_dev/css/components/starability/slot.scss new file mode 100755 index 00000000..f2b35fe6 --- /dev/null +++ b/_dev/css/components/starability/slot.scss @@ -0,0 +1,13 @@ +@import '../variables'; +@import '../starability-base'; +@import '../starability-result'; + +.starability-slot { + @include starability-base; + + > input:checked ~ label, + > input:hover ~ label, + > input:focus ~ label { + transition: background-position .7s; + } +} \ No newline at end of file diff --git a/_dev/css/components/utilities.scss b/_dev/css/components/utilities.scss index dd78f321..4e6fb066 100644 --- a/_dev/css/components/utilities.scss +++ b/_dev/css/components/utilities.scss @@ -6,4 +6,53 @@ img[data-lazy] { } .cursor-pointer{ cursor: pointer; -} \ No newline at end of file +} + +.visible--desktop{ + @include media-breakpoint-mobile(){ + display: none; + } +} +.visible--mobile{ + @include media-breakpoint-desktop(){ + display: none; + } +} +.d--none{ + display: none; +} +.d--block{ + display: block; +} + +.full-bleed { + width: 100vw; + margin-left: 50%; + transform: translateX(-50%); +} +.d--flex-between{ + display: flex; + justify-content: space-between; +} +.mb--0{ + margin-bottom: 0; +} +.text--center{ + text-align: center; +} +.text--right{ + text-align: right; + +} +.u-a-i-c{ + align-items: center; +} +.u-m-l-2{ + margin-left: $spacer/2; +} +.u-link-body{ + color: $body-color; +} +.u-bor-bot{ + border-bottom:1px solid $border-color; +} diff --git a/_dev/css/layout/_footer.scss b/_dev/css/layout/_footer.scss new file mode 100644 index 00000000..01b422a1 --- /dev/null +++ b/_dev/css/layout/_footer.scss @@ -0,0 +1,5 @@ +.l-footer{ + background-color: $footer-bg; + margin-top: $footer-margin-top; + padding-top: $footer-padding-top; +} \ No newline at end of file diff --git a/_dev/css/layout/_header.scss b/_dev/css/layout/_header.scss new file mode 100644 index 00000000..82ae7850 --- /dev/null +++ b/_dev/css/layout/_header.scss @@ -0,0 +1,89 @@ +.l-header{ + background-color: $header-bg; + margin-bottom: $spacer; + box-shadow: $header-box-shadow; +} + +.header__up{ + align-content: center; +} + +.header-top{ + flex-wrap: wrap; + padding-top: $spacer*1.25; + padding-bottom: $spacer*1.25; +} + +.header__search{ + flex: 1; + padding-right: $grid-gutter-width/2; + padding-left: $grid-gutter-width/2; +} +.header__right, +.header-nav__right{ + display: flex; + align-items: center; + justify-content: flex-end; +} +.header__rightitem:not(:last-child){ + margin-right: $spacer/2; +} +.header__logo--checkout{ + max-width: 200px; +} +.header-nav--checkout{ + padding-top: $spacer; + padding-bottom: $spacer; +} +@include media-breakpoint-mobile{ + .header__logo, + .header__logo--checkout{ + max-width: 50%; + } + .header__search { + width: 100%; + padding: 0; + flex: auto; + order: 10; + margin-top: 10px; + } + .header__logo--checkout{ + margin: 0 auto; + } +} +@include media-breakpoint-desktop(){ + .header-top__col{ + width: 30%; + } +} +@include media-breakpoint-up(xl) { + .header-top__col{ + width: 25%; + } +} + + +// +//.header-nav{ +// border-bottom: 1px solid $header-nav-border-color; +// background-color: $header-nav-bg-color; +// color:$header-nav-color; +// padding-top: $header-nav-padding-y; +// padding-bottom: $header-nav-padding-y; +// & a:not(.dropdown-item), .btn{ +// color: $header-nav-color; +// } +//} +////.header-top{ +//// border-bottom: 1px solid $header-top-border-color; +////} +//@include media-breakpoint-mobile { +// .header__container{ +// padding-left: 0; +// padding-right: 0; +// } +// .logo{ +// width:100%; +// max-width: 115px; +// } +//} diff --git a/_dev/css/components/mainmenu.scss b/_dev/css/layout/_mainmenu.scss similarity index 92% rename from _dev/css/components/mainmenu.scss rename to _dev/css/layout/_mainmenu.scss index bcda25a8..98f8f293 100755 --- a/_dev/css/components/mainmenu.scss +++ b/_dev/css/layout/_mainmenu.scss @@ -1,9 +1,12 @@ -.header-top{ - position: relative; +.menu{ + padding-bottom: $spacer; + } .menu-top{ - @extend .d-flex; + display: flex; + justify-content: center; margin: 0; + position: relative; } .menu__item-link--top{ color: $menu-topitem-color; @@ -13,7 +16,7 @@ padding: $spacer/2; } -@include media-breakpoint-up(md) { +@include media-breakpoint-desktop { .menu__item-header { height: 100%; } @@ -22,7 +25,7 @@ opacity: 0; width: 100%; left: 0; - top: 60px; + top: 100%; z-index: -1; transition: all .5s ease; } @@ -53,7 +56,7 @@ } //mobile -@include media-breakpoint-down(sm) { +@include media-breakpoint-mobile() { .menu-top{ flex-direction: column; margin-bottom: $spacer; @@ -69,7 +72,7 @@ .menu__item-link--top{ padding: 0; } - .js-top-menu{ + .top-menu-mobile{ margin-right: -$modal-inner-padding; margin-left: -$modal-inner-padding; } diff --git a/_dev/css/pages/_cart.scss b/_dev/css/pages/_cart.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/pages/_category.scss b/_dev/css/pages/_category.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/pages/_home.scss b/_dev/css/pages/_home.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/pages/_order.scss b/_dev/css/pages/_order.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/pages/_product.scss b/_dev/css/pages/_product.scss new file mode 100644 index 00000000..e69de29b diff --git a/_dev/css/partials/_commons.scss b/_dev/css/partials/_commons.scss index bded897d..432bebc6 100644 --- a/_dev/css/partials/_commons.scss +++ b/_dev/css/partials/_commons.scss @@ -7,6 +7,7 @@ a{ sup{ top:-0.3em; } + .l-wrapper{ @if $enable-fluid-layout { @extend .container-fluid; @@ -33,7 +34,7 @@ sup{ @extend .card-body; } .card-block{ - @extend .shadow; + box-shadow:$card-box-shadow;; } .page-footer{ @extend .card-footer; @@ -48,21 +49,7 @@ sup{ margin-bottom: $spacer; } /* HEADER */ -.l-header{ - background-color: $header-bg; - margin-bottom: $spacer; - box-shadow: 0 2px 6px 0 rgba(0,0,0,.2); -} -@include media-breakpoint-down(sm) { - .header__container{ - padding-left: 0; - padding-right: 0; - } - .logo{ - width:100%; - max-width: 115px; - } -} + /* FOOTER */ .l-footer{ background-color: $footer-bg; @@ -99,6 +86,12 @@ h1,.h1{ box-shadow: none; text-align: center; font-weight: 700; + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } } .btn { position: relative; @@ -126,8 +119,21 @@ h1,.h1{ height: 0; overflow: hidden; padding-top: 100%; - background: rgba(0,0,0,0.05) url("data:image/gif;base64,R0lGODlhIAAgAPUAAP///15eXvv7+9nZ2fDw8PX19eHh4a2trb+/v/j4+O7u7vz8/Lm5ubKysuzs7NHR0cLCwvLy8svLy+jo6IWFhZSUlJqamqysrMfHx/Pz84yMjKKiomVlZV5eXt/f39vb2+bm5nl5eZmZmXBwcI2NjczMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAG/0CAcEgkFjgcR3HJJE4SxEGnMygKmkwJxRKdVocFBRRLfFAoj6GUOhQoFAVysULRjNdfQFghLxrODEJ4Qm5ifUUXZwQAgwBvEXIGBkUEZxuMXgAJb1dECWMABAcHDEpDEGcTBQMDBQtvcW0RbwuECKMHELEJF5NFCxm1AAt7cH4NuAOdcsURy0QCD7gYfcWgTQUQB6Zkr66HoeDCSwIF5ucFz3IC7O0CC6zx8YuHhW/3CvLyfPX4+OXozKnDssBdu3G/xIHTpGAgOUPrZimAJCfDPYfDin2TQ+xeBnWbHi37SC4YIYkQhdy7FvLdpwWvjA0JyU/ISyIx4xS6sgfkNS4me2rtVKkgw0JCb8YMZdjwqMQ2nIY8BbcUQNVCP7G4MQq1KRivR7tiDEuEFrggACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCQmNBpCcckkEgREA4ViKA6azM8BEZ1Wh6LOBls0HA5fgJQ6HHQ6InKRcWhA1d5hqMMpyIkOZw9Ca18Qbwd/RRhnfoUABRwdI3IESkQFZxB4bAdvV0YJQwkDAx9+bWcECQYGCQ5vFEQCEQoKC0ILHqUDBncCGA5LBiHCAAsFtgqoQwS8Aw64f8m2EXdFCxO8INPKomQCBgPMWAvL0n/ff+jYAu7vAuxy8O/myvfX8/f7/Arq+v0W0HMnr9zAeE0KJlQkJIGCfE0E+PtDq9qfDMogDkGmrIBCbNQUZIDosNq1kUsEZJBW0dY/b0ZsLViQIMFMW+RKKgjFzp4fNokPIdki+Y8JNVxA79jKwHAI0G9JGw5tCqDWTiFRhVhtmhVA16cMJTJ1OnVIMo1cy1KVI5NhEAAh+QQJCgAAACwAAAAAIAAgAAAG/0CAcEgkChqNQnHJJCYWRMfh4CgamkzFwBOdVocNCgNbJAwGhKGUOjRQKA1y8XOGAtZfgIWiSciJBWcTQnhCD28Qf0UgZwJ3XgAJGhQVcgKORmdXhRBvV0QMY0ILCgoRmIRnCQIODgIEbxtEJSMdHZ8AGaUKBXYLIEpFExZpAG62HRRFArsKfn8FIsgjiUwJu8FkJLYcB9lMCwUKqFgGHSJ5cnZ/uEULl/CX63/x8KTNu+RkzPj9zc/0/Cl4V0/APDIE6x0csrBJwybX9DFhBhCLgAilIvzRVUriKHGlev0JtyuDvmsZUZlcIiCDnYu7KsZ0UmrBggRP7n1DqcDJEzciOgHwcwTyZEUmIKEMFVIqgyIjpZ4tjdTxqRCMPYVMBYDV6tavUZ8yczpkKwBxHsVWtaqo5tMgACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCQuBgNBcck0FgvIQtHRZCYUGSJ0IB2WDo9qUaBQKIXbLsBxOJTExUh5mB4iDo0zXEhWJNBRQgZtA3tPZQsAdQINBwxwAnpCC2VSdQNtVEQSEkOUChGSVwoLCwUFpm0QRAMVFBQTQxllCqh0kkIECF0TG68UG2O0foYJDb8VYVa0alUXrxoQf1WmZnsTFA0EhgCJhrFMC5Hjkd57W0jpDsPDuFUDHfHyHRzstNN78PPxHOLk5dwcpBuoaYk5OAfhXHG3hAy+KgLkgNozqwzDbgWYJQyXsUwGXKNA6fnYMIO3iPeIpBwyqlSCBKUqEQk5E6YRmX2UdAT5kEnHKkQ5hXjkNqTPtKAARl1sIrGoxSFNuSEFMNWoVCxEpiqyRlQY165wEHELAgAh+QQJCgAAACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0GxwFwmFJlnlAgaTKpFqEIqFJMBhcEABC5GjkPz0KN2tsvHBH4sJKgdd1NHSXILah9tAmdCC0dUcg5qVEQfiIxHEYtXSACKnWoGXAwHBwRDGUcKBXYFi0IJHmQEEKQHEGGpCnp3AiW1DKFWqZNgGKQNA65FCwV8bQQHJcRtds9MC4rZitVgCQbf4AYEubnKTAYU6eoUGuSpu3fo6+ka2NrbgQAE4eCmS9xVAOW7Yq7IgA4Hpi0R8EZBhDshOnTgcOtfM0cAlTigILFDiAFFNjk8k0GZgAxOBozouIHIOyKbFixIkECmIyIHOEiEWbPJTTQ5FxcVOMCgzUVCWwAcyZJvzy45ADYVZNIwTlIAVfNB7XRVDLxEWLQ4E9JsKq+rTdsMyhcEACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUYKQ4YKEYSKfVKPaUMZHwMDeQBxh04ABYSFGU4JBpsDBmFHdXMLIKofBEyKCpdgspsOoUsLXaRLCQMgwky+YJ1FC4POg8lVAg7U1Q5drtnHSw4H3t8HDdnZy2Dd4N4Nzc/QeqLW1bnM7rXuV9tEBhQQ5UoCbJDmWKBAQcMDZNhwRVNCYANBChZYEbkVCZOwASEcCDFQ4SEDIq6WTVqQIMECBx06iCACQQPBiSabHDqzRUTKARMhSFCDrc+WNQIcOoRw5+ZIHj8ADqSEQBQAwKKLhIzowEEeGKQ0owIYkPKjHihZoBKi0KFE01b4zg7h4y4IACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUUJeQCGChGEin1SkGlubEhDcYdOAAWEhRlOC12HYUd1eqeRokOKCphgrY5MpotqhgWfunqPt4PCg71gpgXIyWSqqq9MBQPR0tHMzM5L0NPSC8PCxVUCyeLX38+/AFfXRA4HA+pjmoFqCAcHDQa3rbxzBRD1BwgcMFIlidMrAxYICHHA4N8DIqpsUWJ3wAEBChQaEBnQoB6RRr0uARjQocMAAA0w4nMz4IOaU0lImkSngYKFc3ZWyTwJAALGK4fnNA3ZOaQCBQ22wPgRQlSIAYwSfkHJMrQkTyEbKFzFydQq15ccOAjUEwQAIfkECQoAAAAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVD29K/AFfRRQUDDt1PmoFqHgPtBLetvMwG7QMes0KxkkIFIQNKDhBgKvCh3gQiqmxt6NDBAAEIEAgUOHCgBBEH9Yg06uWAIQUABihQMACgBEUHTRwoUEOBIcqQI880OIDgm5ABDA8IgUkSwAAyij1/jejAARPPIQwONBCnBAJDCEOOCnFA8cOvEh1CEJEqBMIBEDaLcA3LJIEGDe/0BAEAIfkECQoAAAAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVDDti/BQccA8yrYBAjHR0jc53LRQYU6R0UBnO4RxmiG/IjJUIJFuoVKeCBigBN5QCk43BgFgMKFCYUGDAgFEUQRGIRYbCh2xACEDcAcHDgQDcQFGf9s7VkA0QCI0t2W0DRw68h8ChAEELSJE8xijBvVqCgIU9PjwA+UNzG5AHEB9xkDpk4QMGvARQsEDlKxMCALDeLcA0rqEEDlWCCAAAh+QQJCgAAACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0FRylQmFJlnlFhQJKrTrRCqoALIBXAxchySzZm2Wusdi8nfOfeYfAuPEWoCZkILR2l+V2VFCXkAhgoRhIp9UpBpbmxIQ3GHTgAFhIUZTgtdh2FHdXqnkaJDigqYYK2OTKaLaoYFn7p6j0wOA8PEAw6/Z4PKUhwdzs8dEL9kqqrN0M7SetTVCsLFw8d6C8vKvUQEv+dVCRAaBnNQtkwPFRQUFXOduUoTG/cUNkyYg+tIBlEMAFYYMAaBuCekxmhaJeSeBgiOHhw4QECAAwcCLhGJRUQCg3RDCmyUVmBYmlOiGqmBsPGlyz9YkAlxsJEhqCubABS9AsPgQAMqLQfM0oTMwEZ4QpLOwvMLxAEEXIBG5aczqtaut4YNXRIEACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RahAQRQtHaX5XZUUJeQAGHR0jA0SKfVKGCmlubEhCBSGRHSQOQwVmQwsZTgtdh0UQHKIHm2quChGophuiJHO3jkwOFB2UaoYFTnMGegDKRQQG0tMGBM1nAtnaABoU3t8UD81kR+UK3eDe4nrk5grR1NLWegva9s9czfhVAgMNpWqgBGNigMGBAwzmxBGjhACEgwcgzAPTqlwGXQ8gMgAhZIGHWm5WjelUZ8jBBgPMTBgwIMGCRgsygVSkgMiHByD7DWDmx5WuMkZqDLCU4gfAq2sACrAEWFSRLjUfWDopCqDTNQIsJ1LF0yzDAA90UHV5eo0qUjB8mgUBACH5BAkKAAAALAAAAAAgACAAAAb/QIBwSCwqFIuickk0FIiCo6A4ZSoZnRBUSiwoEtYipNOBDKOKKgD9DBNHHU4brc4c3cUBeSOk949geEQUZA5rXABHEW4PD0UOZBSHaQAJiEMJgQATFBQVBkQHZKACUwtHbX0RR0mVFp0UFwRCBSQDSgsZrQteqEUPGrAQmmG9ChFqRAkMsBd4xsRLBBsUoG6nBa14E4IA2kUFDuLjDql4peilAA0H7e4H1udH8/Ps7+3xbmj0qOTj5mEWpEP3DUq3glYWOBgAcEmUaNI+DBjwAY+dS0USGJg4wABEXMYyJNvE8UOGISKVCNClah4xjg60WUKyINOCUwrMzVRARMGENWQ4n/jpNTKTm15J/CTK2e0MoD+UKmHEs4onVDVVmyqdpAbNR4cKTjqNSots07EjzzJh1S0IADsAAAAAAAAAAAA=") no-repeat center center; + background: rgba(0,0,0,0.05); transition: background 150ms; + &:after{ + @extend .spinner-border; + content: ""; + border-color: $gray-300; + position: absolute; + top: calc(50% - #{($spinner-height/2)}); + left: calc(50% - #{($spinner-width/2)}); + z-index: 2; + border-right-color: transparent; + } + &--lazyload:after{ + display: none; + } } .rc > * { @@ -168,39 +174,7 @@ h1,.h1{ .icon-collapse[aria-expanded=true]{ transform: rotateZ(180deg); } -/* CART */ -.promo-code{ - margin-left: -$card-spacer-x; - margin-right: -$card-spacer-x; - padding: $card-spacer-x; - background-color: $promo-code-bg; -} -.promo-code-alert { - display: none; -} -.card-body .separator{ - margin-left: -$card-spacer-x; - margin-right: -$card-spacer-x; -} - -.cart-summary-line{ - display: flex; - justify-content: space-between; -} -.media-list__item:not(:last-child){ - margin-bottom: $spacer/2; - -} -//cart summary -.cart-item:not(:last-child){ - border-bottom: 1px solid $border-color; - margin-bottom: $spacer; - padding-bottom: $spacer; -} -.product-line-info{ - margin-bottom: $spacer/2; -} /* CHECKOUT STEP */ .order-checkout .card-body{ padding-bottom: 0; @@ -267,6 +241,20 @@ display: inline-block; } } // SHipping +.delivery-option{ + padding: $spacer; + margin-bottom: $spacer; + background-color: $gray-200; +} +.carrier-extra-content:not(:empty){ + margin-bottom: $spacer*2; + &:empty{ + display: none; + } +} +.carrier-name{ + font-weight: $font-weight-bold; +} .carrier-price{ font-weight: bold; font-size: $font-size-lg; @@ -281,17 +269,7 @@ display: inline-block; border: 3px solid $card-border-color; } -//prices -.regular-price{ - text-decoration: line-through; - font-size: $regular-price-font-size; - color: $regular-price-color; - font-weight: 700; -} -.price{ - font-weight: 700; - color:$black; -} + //forms custom-file-label.selected:after{ content: "" !important; @@ -316,20 +294,23 @@ custom-file-label.selected:after{ } //products-section-title .products-section-title{ - text-transform: uppercase; - text-align: center; + text-transform: $section-title-text-transform; + text-align: $section-title-text-align; display: block; - margin-bottom: $spacer; + margin-bottom: $section-title-margin-bottom; @extend .h1; - font-weight: 700; + font-family: $section-title-font-family; + color:$section-title-color; + font-size:$section-title-size; + font-weight:$section-title-font-weight; } //home content spacing .page-home > *{ - margin-bottom: $spacer * .75; + margin-bottom: $spacer-y; } -@include media-breakpoint-down(sm) { +@include media-breakpoint-mobile() { .modal-footer{ flex-direction: column; flex-direction:column-reverse; @@ -378,7 +359,7 @@ main > .notifications-container{ } } } -@include media-breakpoint-up(md){ +@include media-breakpoint-desktop{ .page-content, .checkout-form, @@ -400,8 +381,6 @@ main > .notifications-container{ } // badge order history -.badge.dark{ +.badge.bright{ color:#fff; - mix-blend-mode: difference; - -} \ No newline at end of file +} diff --git a/_dev/css/partials/_fonts.scss b/_dev/css/partials/_fonts.scss index 57d47325..c5fc73b6 100644 --- a/_dev/css/partials/_fonts.scss +++ b/_dev/css/partials/_fonts.scss @@ -1,3 +1,14 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(~material-design-icons/iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(~material-design-icons/iconfont/MaterialIcons-Regular.woff2) format('woff2'), + url(~material-design-icons/iconfont/MaterialIcons-Regular.woff) format('woff'), + url(~material-design-icons/iconfont/MaterialIcons-Regular.ttf) format('truetype'); +} .material-icons { font-family: 'Material Icons'; font-weight: normal; @@ -5,8 +16,8 @@ font-size: $font-size-base*$line-height-base; /* Preferred icon size */ display: inline-block; vertical-align: top; - //width: 1em; - //height: 1em; + width: 1em; + height: 1em; line-height: 1; text-transform: none; letter-spacing: normal; diff --git a/_dev/css/partials/_mixins.scss b/_dev/css/partials/_mixins.scss deleted file mode 100644 index 139d794f..00000000 --- a/_dev/css/partials/_mixins.scss +++ /dev/null @@ -1,39 +0,0 @@ -@mixin search-box { - form { - position: relative; - input[type=text] { - &:focus { - outline: 3px $brand-primary solid; - color: $gray-darker; - background: white; - + button .search { - color: $brand-primary; - } - } - border: none; - padding: 10px; - min-width: 255px; - color: $gray; - border: $input-btn-border-width solid $input-border-color; - } - button[type=submit] { - position: absolute; - background: none; - border: none; - bottom: 0.3125rem; - right: 0.125rem; - color: $gray; - .search:hover { - color: $brand-primary; - } - } - } -} - -@mixin box-shadow { - box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.2); -} - -@mixin box-shadow-light { - box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2); -} diff --git a/_dev/css/partials/custom_variables.scss b/_dev/css/partials/custom_variables.scss deleted file mode 100644 index 5102825e..00000000 --- a/_dev/css/partials/custom_variables.scss +++ /dev/null @@ -1,68 +0,0 @@ -//color - -$bg-dark : #dededd; -$tertiary: #f39d72; - -//BS touchspin -$bs-touchspin-boxshadow: 2px 2px 4px 0 rgba(0,0,0,.2); - -//option -$enable-fluid-layout: false; - -// main layout -$header-bg: $white; -$footer-bg: $white; -$wrapper-bg: #f1f1f1; -//product miniature - -$pm-title-color: $gray-700; -$pm-title-font-size: $font-size-base; -$pm-title-font-weight: 400; - -//cart -$promo-code-bg: darken($body-bg,10%); - -//offcanvas -$zindex-offcanvas : $zindex-modal; -$offcanvas-width : 300px; - -//product slider -$product-thumb-margin: 5px; -$product-thumb-width: 100px; -$product-thumb-height: 100px; -$product-to-show: 3;//if you edit this, you have to add centerPadding ppy in data-slick with same value -$product-thumb-wrap-width: $product-to-show * ($product-thumb-width + 2 * $product-thumb-margin) - 2 * $product-thumb-margin; -$product-thumb-wrap-width-2: 2 * ($product-thumb-width + 2 * $product-thumb-margin) - 2 * $product-thumb-margin; -$product-thumb-wrap-height: $product-thumb-height + $product-thumb-margin * 2; - -//prices -$regular-price-font-size: $font-size-base * .875; -$regular-price-font-weight: 700; -$regular-price-color: $gray-700; -$price-color: $black; -$product-price-discount-color: $tertiary; -$product-regular-price-font-size: $font-size-base * 1.25; - - -//product color box -$colorbox-border-color: #232323; - -//social share -$social-share-size: 2.5 * $font-size-base; -$social-share-bg-color: $gray-300; - -//main menu -$menu-topitem-font-size: $font-size-base; -$menu-topitem-color: $gray-800; -$menu-item-padding: $spacer/2; -$menu-item-border-color: $border-color; -$menu-sub-mobile-bg-color: $wrapper-bg; - -//heading -$h1-text-transform: uppercase; - -//footer -$footer-margin-top: $spacer; -$footer-padding-top: $spacer; - - diff --git a/_dev/css/theme.scss b/_dev/css/theme.scss index 94aecc8d..a0263a64 100644 --- a/_dev/css/theme.scss +++ b/_dev/css/theme.scss @@ -1,10 +1,25 @@ -@import "partials/variables"; +@import "abstracts/variables-bootstrap"; @import "bootstrap"; -@import "partials/custom_variables"; +@import "abstracts/mixins"; +@import "abstracts/variables"; @import "partials/fonts"; + +/** LAYOUT **/ +@import "layout/header"; +@import "layout/footer"; +@import "layout/mainmenu"; + + +/** PAGES **/ +@import "pages/cart"; +@import "pages/category"; +@import "pages/home"; +@import "pages/order"; +@import "pages/product"; + @import "partials/commons"; @import "partials/lazysizes"; - +/** COMPONENT **/ @import "components/alert"; @import "components/block-social"; @import "components/cart"; @@ -12,12 +27,15 @@ @import "components/customer"; @import "components/footer"; @import "components/imageslider"; -@import "components/mainmenu"; @import "components/offcanvas"; @import "components/products"; +@import "components/searchbar"; + +@import "components/facet"; +@import "components/search-widget"; @import "components/slick"; @import "components/slick-theme"; +@import "components/productcomments"; @import "components/utilities"; - @import "partials/bs_alpha"; diff --git a/_dev/css/utilities/_utilities.ratio.scss b/_dev/css/utilities/_utilities.ratio.scss new file mode 100644 index 00000000..aca17d13 --- /dev/null +++ b/_dev/css/utilities/_utilities.ratio.scss @@ -0,0 +1,56 @@ +//Ratio image +.u-rc { + position: relative; + width: 100%; +} + +.u-rc > img, +.u-rc > picture, +.u-rc > iframe { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; +} + +.u-rc > a { + display: block; +} + +.u-rc--2_1 { + padding-top: 50%; +} + +.u-rc--1_2 { + padding-top: 200%; +} + +.u-rc--4_3 { + padding-top: 75%; +} + +.u-rc--3_4 { + padding-top: percentage(4/3); +} + +.u-rc--16_9 { + padding-top: percentage(9/16); +} + +.u-rc--1_1 { + padding-top: 100%; +} + +.u-rc--3_2 { + padding-top: percentage(2/3); +} + +.u-rc--2_3 { + padding-top: percentage(3/2); +} + +//Product img square +.u-rc--pdt { + @extend .u-rc--1_1; +} diff --git a/_dev/gulpfile.js b/_dev/gulpfile.js new file mode 100644 index 00000000..9b014ecf --- /dev/null +++ b/_dev/gulpfile.js @@ -0,0 +1,27 @@ +var gulp = require('gulp'); +var sass = require('gulp-sass'); +var sourcemaps = require('gulp-sourcemaps'); +var replace = require('gulp-replace'); +var autoprefixer = require('gulp-autoprefixer'); + +gulp.task('sass',function(){ + return gulp.src('css/theme.scss') + .pipe(sourcemaps.init()) + .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) + .pipe(autoprefixer({ + // browsers: ['last 2 versions'], + cascade: false + })) + .pipe(sourcemaps.write('./maps')) + .pipe(replace("~material-design-icons/iconfont/", "../css/")) + .pipe(gulp.dest('../assets/css')); +}) + +gulp.task('move',function(){ + return gulp.src('img/**/*') + .pipe(gulp.dest('../assets/img/')); +}); + +gulp.task('watch', function(){ + gulp.watch('css/**/*.scss', gulp.series('sass','move')) +}); diff --git a/_dev/img/linkedin.svg b/_dev/img/linkedin.svg new file mode 100644 index 00000000..03709bed --- /dev/null +++ b/_dev/img/linkedin.svg @@ -0,0 +1 @@ + diff --git a/_dev/js/cart.js b/_dev/js/cart.js index 86961289..3ae28b53 100644 --- a/_dev/js/cart.js +++ b/_dev/js/cart.js @@ -34,10 +34,16 @@ $(document).ready(() => { prestashop.on('updateCart', () => { $('.quickview').modal('hide'); + $('.js-cart__card-body').addClass('is--loading'); }); prestashop.on('updatedCart', () => { createSpin(); + $('.js-cart__card-body.is--loading').removeClass('is--loading'); + }); + + prestashop.on('handleError', function (event) { + $('.js-cart__card-body.is--loading').removeClass('is--loading'); }); createSpin(); @@ -154,7 +160,8 @@ $(document).ready(() => { // Refresh cart preview prestashop.emit('updateCart', { - reason: dataset + reason: dataset, + resp: resp }); }).fail((resp) => { prestashop.emit('handleError', { @@ -199,7 +206,8 @@ $(document).ready(() => { // Refresh cart preview prestashop.emit('updateCart', { - reason: dataset + reason: dataset, + resp: resp }); }).fail((resp) => { prestashop.emit('handleError', {eventType: 'updateProductQuantityInCart', resp: resp}) @@ -270,7 +278,7 @@ $(document).ready(() => { const $discountInput = $('[name=discount_name]'); $discountInput.val($code.text()); - + $('#promo-code').collapse('show'); return false; } ) @@ -289,7 +297,7 @@ const CheckUpdateQuantityOperations = { if ('' !== errorMsg) { let strError = ' '; - $('#notifications .container').html(strError); + $('#notifications.notifications-container').html(strError); errorMsg = ''; isUpdateOperation = false; if (hasError) { @@ -299,7 +307,7 @@ const CheckUpdateQuantityOperations = { } else if (!hasError && isUpdateOperation) { hasError = false; isUpdateOperation = false; - $('#notifications .container').html(''); + $('#notifications.notifications-container').html(''); $checkoutBtn.removeClass('disabled'); } }, @@ -319,4 +327,4 @@ const CheckUpdateQuantityOperations = { isUpdateOperation = true; } -}; \ No newline at end of file +}; diff --git a/_dev/js/checkout.js b/_dev/js/checkout.js index 41bad810..0e140636 100644 --- a/_dev/js/checkout.js +++ b/_dev/js/checkout.js @@ -26,9 +26,6 @@ import $ from 'jquery'; import prestashop from 'prestashop'; function setUpCheckout() { - if ($('.js-cancel-address').length !== 0) { - $('.checkout-step:not(.js-current-step) .step-title').addClass('not-allowed'); - } $('.js-terms a').on('click', (event) => { event.preventDefault(); diff --git a/_dev/js/components/form.js b/_dev/js/components/form.js index 76875b41..99a8f3e6 100644 --- a/_dev/js/components/form.js +++ b/_dev/js/components/form.js @@ -79,6 +79,8 @@ export default class Form { divToScroll = _parent; } }); + $(this).data('disabled', false); + $('button[type="submit"]', form).removeClass('disabled'); } form.classList.add('was-validated'); if(divToScroll){ diff --git a/_dev/js/listing.js b/_dev/js/listing.js index 0bc563dc..d9345357 100644 --- a/_dev/js/listing.js +++ b/_dev/js/listing.js @@ -98,6 +98,7 @@ $(document).ready(() => { prestashop.on('updateProductList', (data) => { updateProductListDOM(data); + window.scrollTo(0, 0); }); }); diff --git a/_dev/js/product.js b/_dev/js/product.js index ca58ca79..833d2cea 100644 --- a/_dev/js/product.js +++ b/_dev/js/product.js @@ -89,3 +89,21 @@ $(document).ready(function () { $(document).on('shown.bs.modal','#product-modal', function (e) { $('#js-slick-product').resize(); }); + +//add to cart loader +$(document).on('click','.js-add-to-cart:enabled:not(.is--loading)',function(){ + $(this).addClass('is--loading').attr("disabled", true); +}); +prestashop.on('updateCart', function (event) { + removeAddToCartLoader(); + +}); +prestashop.on('handleError', function (event) { + removeAddToCartLoader(); + $('.js-add-to-cart').attr("disabled", false); + +}); +function removeAddToCartLoader(){ + $('.js-add-to-cart.is--loading').removeClass('is--loading'); + +} \ No newline at end of file diff --git a/_dev/js/responsive.js b/_dev/js/responsive.js index a8964ec7..baab7a96 100644 --- a/_dev/js/responsive.js +++ b/_dev/js/responsive.js @@ -28,7 +28,7 @@ import prestashop from 'prestashop'; prestashop.responsive = prestashop.responsive || {}; prestashop.responsive.current_width = window.innerWidth; -prestashop.responsive.min_width = 768; +prestashop.responsive.min_width = 992; prestashop.responsive.mobile = prestashop.responsive.current_width < prestashop.responsive.min_width; function swapChildren(obj1, obj2) diff --git a/_dev/js/theme.js b/_dev/js/theme.js index b7095433..a56a4225 100644 --- a/_dev/js/theme.js +++ b/_dev/js/theme.js @@ -25,6 +25,7 @@ import 'bootstrap/js/src/util'; import 'bootstrap/js/src/alert'; import 'bootstrap/js/src/button'; +import '../node_modules/bootstrap/js/src/collapse.js'; import 'bootstrap/js/src/collapse'; import 'bootstrap/js/src/dropdown'; import 'bootstrap/js/src/modal'; @@ -77,3 +78,6 @@ $(document).ready(() => { }) }); +document.addEventListener('lazyloaded', function(e){ + $(e.target).parent().addClass('rc--lazyload'); +}); diff --git a/_dev/package-lock.json b/_dev/package-lock.json new file mode 100644 index 00000000..bd911c56 --- /dev/null +++ b/_dev/package-lock.json @@ -0,0 +1,8141 @@ +{ + "name": "prestarocket-dev-tools", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "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.10.4" + } + }, + "@babel/compat-data": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz", + "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "caniuse-lite": { + "version": "1.0.30001099", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001099.tgz", + "integrity": "sha512-sdS9A+sQTk7wKoeuZBN/YMAHVztUfVnjDi4/UV3sDE8xoh7YR12hKW+pIdB3oqKGwr9XaFL2ovfzt9w8eUI5CA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.496", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz", + "integrity": "sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ==", + "dev": true + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + } + } + }, + "@babel/core": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz", + "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "@babel/generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", + "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", + "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "caniuse-lite": { + "version": "1.0.30001099", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001099.tgz", + "integrity": "sha512-sdS9A+sQTk7wKoeuZBN/YMAHVztUfVnjDi4/UV3sDE8xoh7YR12hKW+pIdB3oqKGwr9XaFL2ovfzt9w8eUI5CA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.496", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz", + "integrity": "sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ==", + "dev": true + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz", + "integrity": "sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz", + "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", + "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", + "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz", + "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", + "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "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.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", + "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz", + "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", + "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", + "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", + "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", + "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", + "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz", + "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", + "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz", + "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz", + "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", + "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz", + "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", + "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", + "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", + "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz", + "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", + "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", + "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-async-generator-functions": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-dynamic-import": "^7.10.4", + "@babel/plugin-proposal-json-strings": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.10.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.10.4", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.4", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.10.4", + "@babel/plugin-transform-block-scoped-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.10.4", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-computed-properties": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-dotall-regex": "^7.10.4", + "@babel/plugin-transform-duplicate-keys": "^7.10.4", + "@babel/plugin-transform-exponentiation-operator": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-function-name": "^7.10.4", + "@babel/plugin-transform-literals": "^7.10.4", + "@babel/plugin-transform-member-expression-literals": "^7.10.4", + "@babel/plugin-transform-modules-amd": "^7.10.4", + "@babel/plugin-transform-modules-commonjs": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": "^7.10.4", + "@babel/plugin-transform-modules-umd": "^7.10.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", + "@babel/plugin-transform-new-target": "^7.10.4", + "@babel/plugin-transform-object-super": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.4", + "@babel/plugin-transform-property-literals": "^7.10.4", + "@babel/plugin-transform-regenerator": "^7.10.4", + "@babel/plugin-transform-reserved-words": "^7.10.4", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.10.4", + "@babel/plugin-transform-sticky-regex": "^7.10.4", + "@babel/plugin-transform-template-literals": "^7.10.4", + "@babel/plugin-transform-typeof-symbol": "^7.10.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.4", + "@babel/plugin-transform-unicode-regex": "^7.10.4", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.4", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "caniuse-lite": { + "version": "1.0.30001099", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001099.tgz", + "integrity": "sha512-sdS9A+sQTk7wKoeuZBN/YMAHVztUfVnjDi4/UV3sDE8xoh7YR12hKW+pIdB3oqKGwr9XaFL2ovfzt9w8eUI5CA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.496", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz", + "integrity": "sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ==", + "dev": true + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz", + "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", + "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", + "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "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 + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "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 + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz", + "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001097", + "colorette": "^1.2.0", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "caniuse-lite": { + "version": "1.0.30001099", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001099.tgz", + "integrity": "sha512-sdS9A+sQTk7wKoeuZBN/YMAHVztUfVnjDi4/UV3sDE8xoh7YR12hKW+pIdB3oqKGwr9XaFL2ovfzt9w8eUI5CA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.496", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz", + "integrity": "sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ==", + "dev": true + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "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 + }, + "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 + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "dev": true + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.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" + } + }, + "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" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "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, + "optional": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bootstrap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", + "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" + }, + "bootstrap-touchspin": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/bootstrap-touchspin/-/bootstrap-touchspin-4.3.0.tgz", + "integrity": "sha512-jLynvVHYknc5c+90K0CTHzXADKxFGNCqD4u2N5MZwWuVNy2MovNRyKWGa/puuSebkdIFCqydVkziGWclhx3KKA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz", + "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001030", + "electron-to-chromium": "^1.3.363", + "node-releases": "^1.1.50" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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, + "optional": 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": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.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" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.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 + }, + "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 + }, + "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" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "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 + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "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 + } + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "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" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "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" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.376", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", + "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==", + "dev": true + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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 + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", + "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "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.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", + "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "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": { + "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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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" + } + }, + "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" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "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 + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "file-loader": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.1.0.tgz", + "integrity": "sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==", + "dev": true, + "requires": { + "loader-utils": "^1.4.0", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "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" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "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" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "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": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": 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" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "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 + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "graceful-fs": { + "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 + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "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" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "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 + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "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" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "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==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "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-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "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=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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" + } + } + } + }, + "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-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "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 + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "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 + }, + "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" + } + } + } + }, + "jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==", + "dev": true + }, + "js-base64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz", + "integrity": "sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "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==", + "dev": true + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "lazysizes": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/lazysizes/-/lazysizes-5.2.2.tgz", + "integrity": "sha512-fYgOv1Y35M86/7qyAdPPqoOhuyZrjxEAPxqwToRY2bO/PoBJ4lSqZYuZoavNp6eyuLpIAdHodpsPfj2Lkt86FQ==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "material-design-icons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", + "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "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==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", + "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "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 + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "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-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.52", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", + "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "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-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.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==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "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" + } + }, + "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" + } + } + } + }, + "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==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", + "dev": true, + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "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-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 + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "optional": 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 + }, + "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=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "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 + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "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==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "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==", + "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 + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "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==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "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" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "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" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "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" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "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" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "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==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "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": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "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==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^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" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "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" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^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" + } + }, + "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" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "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" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "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 + } + } + }, + "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=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "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" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "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" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "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 + } + } + }, + "terser-webpack-plugin": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz", + "integrity": "sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "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" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.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" + } + }, + "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 + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 + } + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "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" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "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==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "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 + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "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==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "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" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true + }, + "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": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "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" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "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" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": 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" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "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, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "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 + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "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 + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^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 + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.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 + }, + "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 + }, + "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" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "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 + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.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": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "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 + }, + "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 + }, + "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" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/_dev/package.json b/_dev/package.json index 3e8f6ff7..f3dfa957 100644 --- a/_dev/package.json +++ b/_dev/package.json @@ -4,31 +4,36 @@ "description": "Tools to help while developing the Classic theme", "main": "index.js", "scripts": { - "build": "NODE_ENV=production webpack --progress --colors --debug --display-chunks", - "watch": "webpack --progress --colors --debug --display-chunks --watch" + "build": "webpack -p", + "start": "webpack -p -w", + "debug": "webpack --mode development --devtool source-map --watch", + "sass": "webpack --mode development --onlysass true --devtool source-map --watch", + "fulldebug": "webpack --mode development --debug --devtool source-map --output-pathinfo --display-chunks --display-error-details --watch --progress --colors" }, "author": "Prestarocket", "license": "AFL-3.0", "devDependencies": { - "autoprefixer": "^9.4.4", - "babel-loader": "^5.3.2", - "bootstrap": "4.2.1", + "@babel/core": "^7.10.4", + "@babel/preset-env": "^7.10.4", + "autoprefixer": "^9.8.5", + "babel-loader": "^8.1.0", + "css-loader": "^3.6.0", + "file-loader": "^5.1.0", + "jquery": "^3.5.1", + "mini-css-extract-plugin": "^0.9.0", + "node-sass": "^4.14.1", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "postcss-loader": "^3.0.0", + "sass-loader": "^8.0.2", + "terser-webpack-plugin": "^2.3.7", + "webpack": "^4.43.0", + "webpack-cli": "^3.3.12" + }, + "dependencies": { + "bootstrap": "^4.4.1", "bootstrap-touchspin": "^4.2.5", - "css-loader": "^0.27.3", - "expose-loader": "^0.7.3", - "extract-text-webpack-plugin": "^2.1.0", - "file-loader": "^0.10.1", - "flexibility": "^1.0.5", - "jquery": "^2.1.4", - "lazysizes": "4.1.5", - "material-design-icons": "^2.1.3", - "node-sass": "^4.5.0", - "popper.js": "^1.14.3", - "postcss-flexibility": "^1.0.2", - "postcss-loader": "^1.3.3", - "sass-loader": "^6.0.3", - "style-loader": "^0.14.0", - "webpack": "^2.2.1", - "webpack-sources": "^0.1.0" + "lazysizes": "^5.2.0", + "material-design-icons": "^3.0.1", + "popper.js": "^1.16.1" } } diff --git a/_dev/webpack.config.js b/_dev/webpack.config.js index e3f61941..7daacf47 100644 --- a/_dev/webpack.config.js +++ b/_dev/webpack.config.js @@ -1,12 +1,12 @@ /** - * 2007-2017 PrestaShop + * 2007-2020 PrestaShop * * NOTICE OF LICENSE * - * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: - * https://opensource.org/licenses/AFL-3.0 + * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. @@ -18,93 +18,167 @@ * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA - * @copyright 2007-2017 PrestaShop SA - * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * @copyright 2007-2020 PrestaShop SA + * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ + const webpack = require('webpack'); const path = require('path'); -const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const autoprefixer = require('autoprefixer'); +const TerserPlugin = require('terser-webpack-plugin'); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); + +module.exports = (env, argv) => { + const IS_DEV = argv.mode === "development"; + const IS_PROD = argv.mode === "production"; + const _entry = [ + './js/theme.js', + './css/theme.scss' + ]; + const _entrySass = [ + './css/theme.scss' + ]; + const ONLY_SASS = argv.onlysass === true; -let config = { - entry: { - main: [ - './js/theme.js', - './css/theme.scss' - ] - }, - output: { - path: path.resolve(__dirname, '../assets/js'), - filename: 'theme.js' - }, - module: { - rules: [ - { - test: /\.js/, - loader: 'babel-loader' - }, - { - test: /\.scss$/, - use: ExtractTextPlugin.extract({ - fallback: 'style-loader', - use: [ - { - loader: 'css-loader', - options: { - minimize: true - } - }, - 'postcss-loader', - 'sass-loader' - ] - }) - }, - { - test: /.(png|woff(2)?|eot|ttf|svg|gif)(\?[a-z0-9=\.]+)?$/, - use: [ - { - loader: 'file-loader', - options: { - name: '../css/[hash].[ext]' - } - } - ] - }, - { - test : /\.css$/, - use: ['style-loader', 'css-loader', 'postcss-loader'] - } - ] - }, - externals: { - prestashop: 'prestashop', - $: '$', - jquery: 'jQuery' - }, - plugins: [ - new ExtractTextPlugin(path.join('..', 'css', 'theme.css')), - new webpack.ProvidePlugin({ - Popper: ['popper.js', 'default'] - }) - ] -}; -config.plugins.push( - new webpack.optimize.UglifyJsPlugin({ - sourceMap: true, - compress: { - sequences: true, - conditionals: true, - booleans: true, - if_return: true, - join_vars: true, - drop_console: true - }, - output: { - comments: false - }, - minimize: true - }) -); + return { + devtool: IS_DEV ? 'cheap-eval-source-map' : '', + entry: { + theme: ONLY_SASS ? _entrySass : _entry + }, + output: { + path: path.resolve(__dirname, '../assets/js'), + filename: '[name].js' + }, + module: { + rules: [ + { + test: /\.js$/, + // exclude: /(node_modules|bower_components)/, + include: [ + path.join(__dirname, '') + ], + use: { + loader: 'babel-loader' + } + }, + { + test: /\.s[ac]ss/, + use: [ + {loader: MiniCssExtractPlugin.loader}, + { + loader: 'css-loader', + options: { + sourceMap: IS_DEV, + } + }, + { + loader: 'postcss-loader', + options: { + sourceMap: IS_DEV, + plugins: function () { + return [autoprefixer] + } + } + }, + { + loader: 'sass-loader', + options: { + sourceMap: IS_DEV + } + }, + ] + }, + { + test: /.(woff(2)?|eot|ttf|svg)(\?[a-z0-9=.]+)?$/, + exclude: /(im(a)?g(e)?)(s\b|\b)/, + loader: 'file-loader', + options: { + name: '../fonts/[name].[ext]' + } + }, + { + test: /\.(png|jpe?g|gif|svg|webp)$/, + use: [ + { + loader: 'file-loader', + options: { + name: '../img/[hash].[ext]' + } + } + ] + }, + { + test: /\.css$/, + use: [{ + loader: 'style-loader', + options: {sourceMap: IS_DEV} + }, { + loader: 'css-loader', + options: {sourceMap: IS_DEV} + }, { + loader: 'postcss-loader', + options: {sourceMap: IS_DEV} + }] + } + ] + }, + externals: { + prestashop: 'prestashop', + $: '$', + jquery: 'jQuery' + }, + optimization: { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + test: /\.js($|\?)/i, + sourceMap: IS_DEV, + terserOptions: { + compress: { + booleans: IS_PROD, + conditionals: IS_PROD, + drop_console: IS_PROD, + drop_debugger: IS_PROD, + if_return: IS_PROD, + join_vars: IS_PROD, + keep_classnames: IS_DEV, + keep_fnames: IS_DEV, + reduce_vars: IS_PROD, + sequences: IS_PROD, + warnings: IS_DEV, + ecma: 5, -module.exports = config; + }, + output: { + comments: IS_DEV + } + } + }), + new OptimizeCSSAssetsPlugin({ + cssProcessorOptions: { + map: { + annotation: true, + inline: IS_DEV + } + } + }), + ] + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: "../css/[name].css", + chunkFilename: "../css/[id].css" + }), + new webpack.ProvidePlugin({ + Popper: ['popper.js', 'default'] + }) + ], + watchOptions: { + ignored: /node_modules/ + } + } +} diff --git a/assets/css/MaterialIcons-Regular.eot b/assets/css/MaterialIcons-Regular.eot new file mode 100644 index 00000000..70508eba Binary files /dev/null and b/assets/css/MaterialIcons-Regular.eot differ diff --git a/assets/css/MaterialIcons-Regular.ttf b/assets/css/MaterialIcons-Regular.ttf new file mode 100644 index 00000000..7015564a Binary files /dev/null and b/assets/css/MaterialIcons-Regular.ttf differ diff --git a/assets/css/MaterialIcons-Regular.woff b/assets/css/MaterialIcons-Regular.woff new file mode 100644 index 00000000..b648a3ee Binary files /dev/null and b/assets/css/MaterialIcons-Regular.woff differ diff --git a/assets/css/MaterialIcons-Regular.woff2 b/assets/css/MaterialIcons-Regular.woff2 new file mode 100644 index 00000000..9fa21125 Binary files /dev/null and b/assets/css/MaterialIcons-Regular.woff2 differ diff --git a/assets/css/maps/theme.css.map b/assets/css/maps/theme.css.map new file mode 100644 index 00000000..7f8e4566 --- /dev/null +++ b/assets/css/maps/theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../node_modules/bootstrap/scss/_root.scss","../node_modules/bootstrap/scss/_reboot.scss","abstracts/_variables-bootstrap.scss","../node_modules/bootstrap/scss/vendor/_rfs.scss","../node_modules/bootstrap/scss/_variables.scss","../node_modules/bootstrap/scss/mixins/_hover.scss","../node_modules/bootstrap/scss/_type.scss","../node_modules/bootstrap/scss/mixins/_lists.scss","../node_modules/bootstrap/scss/mixins/_image.scss","../node_modules/bootstrap/scss/_images.scss","../node_modules/bootstrap/scss/mixins/_box-shadow.scss","../node_modules/bootstrap/scss/_code.scss","../node_modules/bootstrap/scss/mixins/_grid.scss","../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../node_modules/bootstrap/scss/_grid.scss","../node_modules/bootstrap/scss/mixins/_grid-framework.scss","../node_modules/bootstrap/scss/_tables.scss","../node_modules/bootstrap/scss/mixins/_table-row.scss","../node_modules/bootstrap/scss/_forms.scss","../node_modules/bootstrap/scss/mixins/_border-radius.scss","../node_modules/bootstrap/scss/mixins/_transition.scss","../node_modules/bootstrap/scss/mixins/_forms.scss","../node_modules/bootstrap/scss/_functions.scss","../node_modules/bootstrap/scss/mixins/_gradients.scss","../node_modules/bootstrap/scss/_buttons.scss","../node_modules/bootstrap/scss/mixins/_buttons.scss","../node_modules/bootstrap/scss/_transitions.scss","../node_modules/bootstrap/scss/_dropdown.scss","../node_modules/bootstrap/scss/mixins/_caret.scss","../node_modules/bootstrap/scss/mixins/_nav-divider.scss","../node_modules/bootstrap/scss/_button-group.scss","../node_modules/bootstrap/scss/_input-group.scss","../node_modules/bootstrap/scss/_custom-forms.scss","../node_modules/bootstrap/scss/_nav.scss","../node_modules/bootstrap/scss/_card.scss","../node_modules/bootstrap/scss/_breadcrumb.scss","../node_modules/bootstrap/scss/_pagination.scss","../node_modules/bootstrap/scss/mixins/_pagination.scss","../node_modules/bootstrap/scss/_badge.scss","../node_modules/bootstrap/scss/_jumbotron.scss","../node_modules/bootstrap/scss/_alert.scss","../node_modules/bootstrap/scss/mixins/_alert.scss","../node_modules/bootstrap/scss/_media.scss","../node_modules/bootstrap/scss/_list-group.scss","../node_modules/bootstrap/scss/_close.scss","../node_modules/bootstrap/scss/_toasts.scss","../node_modules/bootstrap/scss/_modal.scss","../node_modules/bootstrap/scss/_tooltip.scss","../node_modules/bootstrap/scss/mixins/_reset-text.scss","../node_modules/bootstrap/scss/_popover.scss","../node_modules/bootstrap/scss/_spinners.scss","../node_modules/bootstrap/scss/utilities/_align.scss","../node_modules/bootstrap/scss/mixins/_background-variant.scss","../node_modules/bootstrap/scss/utilities/_background.scss","../node_modules/bootstrap/scss/utilities/_borders.scss","../node_modules/bootstrap/scss/mixins/_clearfix.scss","../node_modules/bootstrap/scss/utilities/_display.scss","../node_modules/bootstrap/scss/utilities/_embed.scss","../node_modules/bootstrap/scss/utilities/_flex.scss","../node_modules/bootstrap/scss/utilities/_float.scss","../node_modules/bootstrap/scss/utilities/_overflow.scss","../node_modules/bootstrap/scss/utilities/_position.scss","../node_modules/bootstrap/scss/utilities/_screenreaders.scss","../node_modules/bootstrap/scss/mixins/_screen-reader.scss","../node_modules/bootstrap/scss/utilities/_shadows.scss","../node_modules/bootstrap/scss/utilities/_sizing.scss","../node_modules/bootstrap/scss/utilities/_stretched-link.scss","../node_modules/bootstrap/scss/utilities/_spacing.scss","../node_modules/bootstrap/scss/utilities/_text.scss","../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../node_modules/bootstrap/scss/mixins/_text-emphasis.scss","../node_modules/bootstrap/scss/mixins/_text-hide.scss","../node_modules/bootstrap/scss/utilities/_visibility.scss","../node_modules/bootstrap/scss/_print.scss","partials/_fonts.scss","layout/_header.scss","abstracts/variables/_layout.scss","layout/_footer.scss","layout/_mainmenu.scss","abstracts/_variables.scss","partials/_commons.scss","partials/lazysizes.scss","components/alert.scss","components/block-social.scss","components/cart.scss","components/categories.scss","components/customer.scss","components/footer.scss","components/imageslider.scss","components/offcanvas.scss","components/products.scss","abstracts/variables/_product-miniature.scss","components/facet.scss","components/slick.scss","components/slick-theme.scss","components/header.scss","components/productcomments.scss","components/starability/_starability-base.scss","components/starability/_variables.scss","components/utilities.scss","partials/bs_alpha.scss"],"names":[],"mappings":"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B,eJMmB,CILnB,eFwQ+B,CEvQhC,WH0FK,kBAtCY,CGjDhB,eJGmB,CIFnB,eFmQ+B,CElQhC,WHqFK,iBAtCY,CG5ChB,eJAmB,CICnB,eF8P+B,CHrOjC,GKhBE,eF0EW,CEzEX,kBFyEW,CExEX,QAAS,CACT,oCJrDkB,CIsDnB,yBHoEK,iBAtCY,CGpBhB,eFsN+B,CErNhC,WAIC,YF8PgC,CE7PhC,wBFsQmC,CErQpC,eCxEC,cAAe,CACf,eAAgB,CDgFjB,aCjFC,cAAe,CACf,eAAgB,CDqFjB,kBAEC,oBAAqB,CADvB,mCAII,kBFgP+B,CE/OhC,YHxBC,aAAW,CGmCb,wBAAyB,CAC1B,YAIC,kBFiBW,CDFP,iBAtCY,CGyBjB,mBAGC,aAAc,CHUV,iBAtCY,CG8BhB,aF1GgB,CEuGlB,2BAMI,oBAAqB,CACtB,WEhHD,cAAe,CAGf,WAAY,CCLb,eAKC,cL++BwC,CK9+BxC,qBPZkB,COalB,wBPTiB,CQSb,sCRXc,CMMlB,cAAe,CAGf,WAAY,CCQb,QAQC,oBAAqB,CACtB,YAGC,mBAA0B,CAC1B,aAAc,CACf,gBNoCG,aAAW,CMhCb,aL3BgB,CK4BjB,KN+BG,eAAW,CQrEb,aPoCe,COnCf,qBAAsB,CAGtB,OACE,aAAc,CACf,IAKD,mBPikCuC,CDvgCrC,eAAW,CQxDb,UTbkB,CSclB,wBPDgB,CMAZ,6CRXc,CSQpB,QASI,SAAU,CRkDV,cAAW,CQhDX,ePoQ6B,CM5Q3B,eCSsB,CVwM5B,IUlME,aAAc,CRyCZ,eAAW,CQvCb,aPjBgB,COclB,SR0CI,iBAAW,CQlCX,aAAc,CACd,iBAAkB,CACnB,gBAKD,gBPwiCuC,COviCvC,iBAAkB,CACnB,sEC1CC,UAAW,CACX,kBAA0B,CAC1B,iBAAyB,CACzB,iBAAkB,CAClB,gBAAiB,CCmDf,0BCvDF,sEFYI,eR8LK,CUvMR,CDoDC,0BCvDF,sEFYI,eR+LK,CUxMR,CDoDC,0BCvDF,sEFYI,eRgMK,CUzMR,CDoDC,2BCvDF,sEFYI,gBRiMM,CU1MT,CASD,iBFZA,UAAW,CACX,kBAA0B,CAC1B,iBAAyB,CACzB,iBAAkB,CAClB,gBAAi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,CACf,oBjBsyBqC,CiBryBrC,gBAAiB,ClBmFf,iBAtCY,CkB3Cd,ejBkP6B,CiBjP7B,UnB5CgB,CmB6ChB,oCjBLa,CiBOd,0DAKG,oBjBZW,CiBeT,kCjBgb2F,CiB/a3F,2PCfmI,CDgBnI,2BAA4B,CAC5B,wDjB+a6F,CiB9a7F,2DjB6awF,CiBtb5F,sEAaI,oBjBvBS,CiBwBT,2CjBxBS,CiBUb,0LAmBI,aAAc,CACf,0EASC,kCjBwZ2F,CiBvZ3F,6EjByZ6F,CiBvZhG,4DAMC,oBjBhDW,CiBmDT,oDjBqe0J,CiBpe1J,sgBAAkJ,CANtJ,wEAUI,oBjBxDS,CiByDT,2CjBzDS,CiB8Cb,8LAgBI,aAAc,CACf,8MAUC,aAAc,CACf,0GAQC,ajBlFS,CiB+Eb,0MAQI,aAAc,CACf,0HAQC,ajBhGS,CiB6Fb,0IAMM,oBjBnGO,CiB6Fb,0NAYI,aAAc,CAZlB,0JAiBM,oBAAkC,CEnJxC,wBFoJ+C,CAlB/C,sJAwBM,2CjBrHO,CiB6Fb,kLA4BM,oBjBzHO,CiB0HR,8GAUD,oBjBpIS,CiBiIb,8MAQI,aAAc,CARlB,0HAaM,oBjB9IO,CiB+IP,2CjB/IO,CiBdf,kBACE,YAAa,CACb,UAAW,CACX,iBjBod0C,CDrXxC,iBAtCY,CkBvDd,ajBMa,CiBLd,iBAGC,iBAAkB,CAClB,QAAS,CACT,SAAU,CACV,YAAa,CACb,cAAe,CACf,oBjBsyBqC,CiBryBrC,gBAAiB,ClBmFf,iBAtCY,CkB3Cd,ejBkP6B,CiBjP7B,UnB5CgB,CmB6ChB,oCjBRa,CiBUd,8DAKG,oBjBfW,CiBkBT,kCjBgb2F,CiB/a3F,qSCfmI,CDgBnI,2BAA4B,CAC5B,wDjB+a6F,CiB9a7F,2DjB6awF,CiBtb5F,0EAaI,oBjB1BS,CiB2BT,2CjB3BS,CiBab,0MAmBI,aAAc,CACf,8EASC,kCjBwZ2F,CiBvZ3F,6EjByZ6F,CiBvZhG,gEAMC,oBjBnDW,CiBsDT,oDjBqe0J,CiBpe1J,gjBAAkJ,CANtJ,4EAUI,oBjB3DS,CiB4DT,2CjB5DS,CiBiDb,8MAgBI,aAAc,CACf,8NAUC,aAAc,CACf,8GAQC,ajBrFS,CiBkFb,0NAQI,aAAc,CACf,8HAQC,ajBnGS,CiBgGb,8IAMM,oBjBtGO,CiBgGb,0OAYI,aAAc,CAZlB,8JAiBM,oBAAkC,CEnJxC,wBFoJ+C,CAlB/C,0JAwBM,2CjBxHO,CiBgGb,sLA4BM,oBjB5HO,CiB6HR,kHAUD,oBjBvIS,CiBoIb,8NAQI,aAAc,CARlB,8HAaM,oBjBjJO,CiBkJP,2CjBlJO,CiBmJR,aHuEP,YAAa,CACb,kBAAmB,CACnB,kBAAmB,CAHrB,yBASI,UAAW,CL9MX,0BKqMJ,uCAeM,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CAlBtB,yBAuBM,YAAa,CACb,aAAc,CACd,kBAAmB,CACnB,kBAAmB,CACnB,eAAgB,CA3BtB,2BAgCM,oBAAqB,CACrB,UAAW,CACX,qBAAsB,CAlC5B,qCAuCM,oBAAqB,CAvC3B,sDA4CM,UAAW,CA5CjB,yBAkDM,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,cAAe,CAtDrB,+BAyDM,iBAAkB,CAClB,aAAc,CACd,YAAa,CACb,mBd2LwC,Cc1LxC,aAAc,CA7DpB,6BAiEM,kBAAmB,CACnB,sBAAuB,CAlE7B,mCAqEM,eAAgB,CACjB,CMjUL,KACE,oBAAqB,CAErB,epBkR+B,CoBjR/B,apBMgB,CoBLhB,iBAAkB,CAClB,qBAAsB,CACtB,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,4BAA6B,CAC7B,4BAA2C,CCsF3C,sBrB0RkC,CDhQ9B,cAtCY,CsBchB,erByL+B,CexR7B,eMiGsC,CLnGpC,iIhBqb6I,CgBhb/I,wCILJ,KJMM,eAAgB,CIiCrB,CnBjCC,WmBQE,apBJc,CoBKd,oBAAqB,CnBTD,sBmBcpB,SAAU,CACV,4CtBvBmB,CsBEvB,4BA2BI,WpB8Y6B,CM/Z3B,eckBsB,CA5B5B,oFdUM,4CRXc,CsBCpB,gGdUM,8ERXc,CsBsCf,uCAOH,mBAAoB,CACrB,aC7CC,UvBHkB,CqBGhB,wBrBFmB,CuBIrB,oBvBJqB,CQYjB,2ERXc,CGOlB,mBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,sCoBSlB,4GAAkG,CAIrG,4CAKC,UvB3BgB,CuB4BhB,wBvB3BmB,CuB4BnB,oBvB5BmB,CuBiCpB,uIAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,yJAGI,6EAAyG,CAI5G,eAlDH,UvBHkB,CqBGhB,wBnBOc,CqBLhB,oBrBKgB,CMGZ,2ERXc,CGOlB,qBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,0CoBSlB,6GAAkG,CAIrG,gDAKC,UvB3BgB,CuB4BhB,wBrBlBc,CqBmBd,oBrBnBc,CqBwBf,6IAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,+JAGI,8EAAyG,CAI5G,aAlDH,UvBHkB,CqBGhB,wBnBqCa,CqBnCf,oBrBmCe,CM3BX,2ERXc,CGOlB,mBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,sCoBSlB,2GAAkG,CAIrG,4CAKC,UvB3BgB,CuB4BhB,wBrBYa,CqBXb,oBrBWa,CqBNd,uIAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,yJAGI,4EAAyG,CAI5G,UAlDH,UvBHkB,CqBGhB,wBnBuCa,CqBrCf,oBrBqCe,CM7BX,2ERXc,CGOlB,gBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,gCoBSlB,4GAAkG,CAIrG,sCAKC,UvB3BgB,CuB4BhB,wBrBca,CqBbb,oBrBaa,CqBRd,8HAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,gJAGI,6EAAyG,CAI5G,aAlDH,arBUgB,CmBVd,wBnBoCa,CqBlCf,oBrBkCe,CM1BX,2ERXc,CGOlB,mBoBAE,arBIc,CmBVd,wBEDoF,CASpF,oBATyH,CpBOrG,sCoBSlB,4GAAkG,CAIrG,4CAKC,arBdc,CqBed,wBrBWa,CqBVb,oBrBUa,CqBLd,uIAKC,arB1Bc,CqB2Bd,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,yJAGI,6EAAyG,CAI5G,YAlDH,UvBHkB,CqBGhB,wBnBkCa,CqBhCf,oBrBgCe,CMxBX,2ERXc,CGOlB,kBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,oCoBSlB,2GAAkG,CAIrG,0CAKC,UvB3BgB,CuB4BhB,wBrBSa,CqBRb,oBrBQa,CqBHd,oIAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,sJAGI,4EAAyG,CAI5G,WAlDH,arBUgB,CmBVd,wBnBEc,CqBAhB,oBrBAgB,CMQZ,2ERXc,CGOlB,iBoBAE,arBIc,CmBVd,wBEDoF,CASpF,oBATyH,CpBOrG,kCoBSlB,6GAAkG,CAIrG,wCAKC,arBdc,CqBed,wBrBvBc,CqBwBd,oBrBxBc,CqB6Bf,iIAKC,arB1Bc,CqB2Bd,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,mJAGI,8EAAyG,CAI5G,UAlDH,UvBHkB,CqBGhB,wBnBSc,CqBPhB,oBrBOgB,CMCZ,2ERXc,CGOlB,gBoBAE,UvBTgB,CqBGhB,wBEDoF,CASpF,oBATyH,CpBOrG,gCoBSlB,0GAAkG,CAIrG,sCAKC,UvB3BgB,CuB4BhB,wBrBhBc,CqBiBd,oBrBjBc,CqBsBf,8HAKC,UvBvCgB,CuBwChB,wBAtCuK,CA0CvK,oBA1C+M,CA4C/M,gJAGI,2EAAyG,CAI5G,qBAKH,avBzDqB,CuB0DrB,oBvB1DqB,CGQrB,2BoBqDE,UvB9DgB,CuB+DhB,wBvB9DmB,CuB+DnB,oBvB/DmB,CGQC,sDoB4DpB,2CvBpEmB,CuBqEpB,4DAIC,avBzEmB,CuB0EnB,4BAA6B,CAC9B,+JAKC,UvBjFgB,CuBkFhB,wBvBjFmB,CuBkFnB,oBvBlFmB,CuBoFnB,iLAGI,6EvBvFe,CuB2FlB,uBAlCH,arBhDgB,CqBiDhB,oBrBjDgB,CCDhB,6BoBqDE,UvB9DgB,CuB+DhB,wBrBrDc,CqBsDd,oBrBtDc,CCDM,0DoB4DpB,4CrB3Dc,CqB4Df,gEAIC,arBhEc,CqBiEd,4BAA6B,CAC9B,qKAKC,UvBjFgB,CuBkFhB,wBrBxEc,CqByEd,oBrBzEc,CqB2Ed,uLAGI,8ErB9EU,CqBkFb,qBAlCH,arBlBe,CqBmBf,oBrBnBe,CC/Bf,2BoBqDE,UvB9DgB,CuB+DhB,wBrBvBa,CqBwBb,oBrBxBa,CC/BO,sDoB4DpB,0CrB7Ba,CqB8Bd,4DAIC,arBlCa,CqBmCb,4BAA6B,CAC9B,+JAKC,UvBjFgB,CuBkFhB,wBrB1Ca,CqB2Cb,oBrB3Ca,CqB6Cb,iLAGI,4ErBhDS,CqBoDZ,kBAlCH,arBhBe,CqBiBf,oBrBjBe,CCjCf,wBoBqDE,UvB9DgB,CuB+DhB,wBrBrBa,CqBsBb,oBrBtBa,CCjCO,gDoB4DpB,2CrB3Ba,CqB4Bd,sDAIC,arBhCa,CqBiCb,4BAA6B,CAC9B,sJAKC,UvBjFgB,CuBkFhB,wBrBxCa,CqByCb,oBrBzCa,CqB2Cb,wKAGI,6ErB9CS,CqBkDZ,qBAlCH,arBnBe,CqBoBf,oBrBpBe,CC9Bf,2BoBqDE,arBjDc,CqBkDd,wBrBxBa,CqByBb,oBrBzBa,CC9BO,sDoB4DpB,0CrB9Ba,CqB+Bd,4DAIC,arBnCa,CqBoCb,4BAA6B,CAC9B,+JAKC,arBpEc,CqBqEd,wBrB3Ca,CqB4Cb,oBrB5Ca,CqB8Cb,iLAGI,4ErBjDS,CqBqDZ,oBAlCH,arBrBe,CqBsBf,oBrBtBe,CC5Bf,0BoBqDE,UvB9DgB,CuB+DhB,wBrB1Ba,CqB2Bb,oBrB3Ba,CC5BO,oDoB4DpB,0CrBhCa,CqBiCd,0DAIC,arBrCa,CqBsCb,4BAA6B,CAC9B,4JAKC,UvBjFgB,CuBkFhB,wBrB7Ca,CqB8Cb,oBrB9Ca,CqBgDb,8KAGI,4ErBnDS,CqBuDZ,mBAlCH,arBrDgB,CqBsDhB,oBrBtDgB,CCIhB,yBoBqDE,arBjDc,CqBkDd,wBrB1Dc,CqB2Dd,oBrB3Dc,CCIM,kDoB4DpB,4CrBhEc,CqBiEf,wDAIC,arBrEc,CqBsEd,4BAA6B,CAC9B,yJAKC,arBpEc,CqBqEd,wBrB7Ec,CqB8Ed,oBrB9Ec,CqBgFd,2KAGI,8ErBnFU,CqBuFb,kBAlCH,arB9CgB,CqB+ChB,oBrB/CgB,CCHhB,wBoBqDE,UvB9DgB,CuB+DhB,wBrBnDc,CqBoDd,oBrBpDc,CCHM,gDoB4DpB,yCrBzDc,CqB0Df,sDAIC,arB9Dc,CqB+Dd,4BAA6B,CAC9B,sJAKC,UvBjFgB,CuBk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/Q5B,iBAtCY,C4BqDhB,e3BsF+B,C2BpFhC,2EAIC,gC3B2VqI,C2B1VtI,6PAQC,oB3B4OiC,CD1Q7B,iBAtCY,C4BsEhB,e3BsE+B,C2BpEhC,8DAIC,qBAA0E,CAC3E,gBC5JC,iBAAkB,CAClB,aAAc,CACd,iBAA+C,CAC/C,mBAAqE,CACtE,uBAGC,mBAAoB,CACpB,iB5Bqf0C,C4Bpf3C,sBAGC,iBAAkB,CAClB,UAAW,CACX,SAAU,CAHZ,8DAMI,U9BxBgB,C8ByBhB,oB9BxBmB,CqBEnB,wBrBFmB,CQYjB,eNugB8C,C4BlgBpD,4DAeM,8E9BhCiB,C8BiBvB,0EAsBI,oB5BqbsE,C4B3c1E,4EA0BI,U9B5CgB,C8B6ChB,wB5B8e8E,C4B7e9E,oB5B6e8E,CM9gB5E,eN+gB8C,C4B1gBpD,uDAkCM,a5B1CY,C4BQlB,+DAqCQ,wB9BpDe,C8BqDhB,sBAUL,iBAAkB,CAClB,eAAgB,CAChB,kBAAmB,CAHrB,8BAOI,iBAAkB,CAClB,UAA+E,CAC/E,YAA+D,CAC/D,aAAc,CACd,U5B0bwC,C4BzbxC,W5BybwC,C4BxbxC,mBAAoB,CACpB,UAAW,CACX,qB9BhFgB,C8BiFhB,wB5BmJ6B,CMvN3B,4CRXc,C8B+DpB,6BAsBI,iBAAkB,CAClB,UAA+E,CAC/E,YAA+D,CAC/D,aAAc,CACd,U5B2awC,C4B1axC,W5B0awC,C4BzaxC,UAAW,CACX,kCAAgE,CACjE,8EAeG,4MVrEqI,CU8D3I,qFAaM,oB9BnHiB,CqBEnB,wBrBFmB,CQYjB,eNwhBqD,C4B9b3D,oFAkBM,yJVhFqI,CU8D3I,wFAwBM,qC9B9HiB,C8BsGvB,8FA2BM,qC9BjIiB,C8BkIlB,4CAWD,iB5B0Z+C,C4B7ZnD,2EAQM,sJV1GqI,CUkG3I,qFAcM,qC9BxJiB,C8ByJlB,eAUH,oBAA2D,CAD7D,6CAKM,aAAqD,CACrD,a5BkY+E,C4BjY/E,kBAAmB,CAEnB,mB5BgY4E,C4BzYlF,4CAaM,sBAA0I,CAC1I,yBAA+G,CAC/G,sB5B2XiI,C4B1XjI,uB5B0XiI,C4BzXjI,wB5B3KY,C4B6KZ,mB5BsX4E,CgBziB5E,qIhB8f+H,CgBzfjI,wCY2JJ,4CZ1JM,eAAgB,CY+KjB,CArBL,4EA0BM,qB9B7Lc,C8B8Ld,4BAA4E,CA3BlF,sFAiCM,qC9BnMiB,C8BoMlB,eAYH,oBAAqB,CACrB,UAAW,CACX,iC5BwR2H,C4BvR3H,sC5BwKkC,CDhQ9B,cAtCY,C6BiIhB,e5BiE+B,C4BhE/B,e5BqE+B,C4BpE/B,a5B9MgB,C4B+MhB,qBAAsB,CACtB,2M5BmWmI,C4BlWnI,qB9B5NkB,C8B6NlB,wB9BxNgB,CiBAd,eayNoD,CtBjNlD,4CRXc,C8B8NlB,uBAAY,CAAZ,oBAAY,CAAZ,eAAgB,CAhBlB,qBAmBI,oB5B0PsE,C4BzPtE,SAAU,CAER,8E9BrOiB,C8B+MvB,gCAiCM,a5BtOY,C4BuOZ,qB9BlPc,C8BgNpB,8DAwCI,WAAY,CACZ,oB5BmIgC,C4BlIhC,qBAAsB,CA1C1B,wBA8CI,a5BpPc,C4BqPd,wB9B5PmB,C8B6MvB,2BAoDI,YAAa,CACd,kBAID,gC5BmOqI,C4BlOrI,kB5B2HkC,C4B1HlC,qB5B0HkC,C4BzHlC,kB5B0HiC,CD1Q7B,iBAtCY,C6BwLjB,kBAGC,+B5B4NqI,C4B3NrI,iB5BwHiC,C4BvHjC,oB5BuHiC,C4BtHjC,iB5BuHgC,CD/Q5B,iBAtCY,C6BgMjB,aAQC,iBAAkB,CAClB,oBAAqB,CACrB,UAAW,CACX,iC5B0M2H,C4BzM3H,eAAgB,CACjB,mBAGC,iBAAkB,CAClB,SAAU,CACV,UAAW,CACX,iC5BkM2H,C4BjM3H,QAAS,CACT,SAAU,CANZ,8CASI,oB5B+KsE,C4B9KtE,4C9B9SmB,C8BoSvB,iDAcI,wB9BhTmB,C8BkSvB,wDAmBM,gB5BqUQ,C4BxVd,4DAwBI,yBAA0B,CAC3B,mBAID,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,MAAO,CACP,SAAU,CACV,iC5BoK2H,C4BnK3H,sB5BoDkC,C4BlDlC,e5BlD+B,C4BmD/B,e5B9C+B,C4B+C/B,a5BjUgB,C4BkUhB,qB9B7UkB,C8B8UlB,wB9BzUgB,CQQZ,4CRXc,C8B+TpB,0BAkBI,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,QAAS,CACT,SAAU,CACV,aAAc,CACd,2B5B8I+F,C4B7I/F,sB5BkCgC,C4BjChC,e5B9D6B,C4B+D7B,a5BjVc,C4BkVd,gBAAiB,CT1VjB,wBrBAmB,C8B4VnB,mBAAoB,CAErB,cAUD,UAAW,CACX,yBAA+F,CAC/F,SAAU,CACV,4BAA6B,CAC7B,uBAAY,CAAZ,oBAAY,CAAZ,eAAgB,CALlB,oBAQI,YAAa,CARjB,0CAY8B,2D9BrXP,C8ByWvB,sCAa8B,2D9BtXP,C8ByWvB,+BAc8B,2D9BvXP,C8ByWvB,gCAkBI,QAAS,CAlBb,oCAsBI,U5B8N6C,C4B7N7C,W5B6N6C,C4B5N7C,kBAAyE,CT/XzE,wBrBFmB,C8BmYnB,Q5B6N0C,CMplBxC,2CRXc,CkBCd,yGhB8f+H,C4BzHjI,uBAAY,CAAZ,eAAgB,CZhYhB,wCYkWJ,oCZjWM,eAAgB,CYoYnB,CAnCH,2CTvWI,wBnBmmB2E,C4B5P/E,6CAsCI,U5BuMoC,C4BtMpC,Y5BuMqC,C4BtMrC,iBAAkB,CAClB,c5BsMuC,C4BrMvC,wB9BhZe,C8BiZf,wBAAyB,CtBxYvB,kDRXc,C8BwWpB,gCAiDI,U5BmM6C,C4BlM7C,W5BkM6C,CmB3lB7C,wBrBFmB,C8B6ZnB,Q5BmM0C,CMplBxC,2CRXc,CkBCd,yGhB8f+H,C4B/FjI,oBAAY,CAAZ,eAAgB,CZ1ZhB,wCYkWJ,gCZjWM,eAAgB,CY8ZnB,CA7DH,uCTvWI,wBnBmmB2E,C4B5P/E,gCAgEI,U5B6KoC,C4B5KpC,Y5B6KqC,C4B5KrC,iBAAkB,CAClB,c5B4KuC,C4B3KvC,wB9B1ae,C8B2af,wBAAyB,CtBlavB,kDRXc,C8BwWpB,yBA2EI,U5ByK6C,C4BxK7C,W5BwK6C,C4BvK7C,YAAa,CACb,kB5BvD+B,C4BwD/B,iB5BxD+B,CmB9X/B,wBrBFmB,C8B0bnB,Q5BsK0C,CMplBxC,2CRXc,CkBCd,yGhB8f+H,C4BlEjI,eAAgB,CZvbhB,wCYkWJ,yBZjWM,eAAgB,CY2bnB,CA1FH,gCTvWI,wBnBmmB2E,C4B5P/E,yBA6FI,U5BgJoC,C4B/IpC,Y5BgJqC,C4B/IrC,iBAAkB,CAClB,c5B+Iu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CgC5N/B,gBhCwwBsC,CgCvwBtC,alCRqB,CkCSrB,qBlCVkB,CkCWlB,wBlCNgB,CkCFlB,6DAWI,SAAU,CACV,ahC2J8D,CgC1J9D,oBAAqB,CACrB,wBlCdmB,CkCenB,oBlCbc,CkCFlB,6DAmBI,SAAU,CACV,ShCiwBiC,CgChwBjC,4ClCvBmB,CkCwBpB,sQAMG,aAAc,CAHpB,6OAcI,SAAU,CACV,UlC3CgB,CkC4ChB,wBlC3CmB,CkC4CnB,oBlC5CmB,CkC2BvB,uPAqBI,ahCvCc,CgCwCd,mBAAoB,CAEpB,WAAY,CACZ,qBlCrDgB,CkCsDhB,oBlCjDc,CmCLhB,oIACE,qBjC8wBsC,CDnpBpC,iBAtCY,CkCnFd,ejC8N6B,CiCjO/B,kQACE,oBjC4wBqC,CDjpBnC,iBAtCY,CkCnFd,ejC+N6B,CiC9N9B,OCDD,oBAAqB,CACrB,kBlC24BsC,CD10BpC,aAAW,CmC/Db,elCmR+B,CkClR/B,aAAc,CACd,iBAAkB,CAClB,kBAAmB,CACnB,uBAAwB,ClBPpB,iIhBqb6I,CgBhb/I,wCkBNJ,OlBOM,eAAgB,CkBerB,CjCXC,4BiCGI,oBAAqB,CjCAxB,aiCMC,YAAa,CACd,YAKD,iBAAkB,CAClB,QAAS,CACV,YAOC,kBlCg3BsC,CkC/2BtC,iBlC+2BsC,CkC72BvC,WC1CC,iBAAoD,CACpD,kBnC0yBsC,CmCxyBtC,wBrCEqB,CWsDnB,0B0B5DJ,WAQI,iBnCoyBoC,CmClyBvC,CAED,iBACE,eAAgB,CAChB,cAAe,CAEhB,OCXC,iBAAkB,CAClB,sBpCm8ByC,CoCl8BzC,kBpCm8BsC,CoCl8BtC,4BAA6C,CAE9C,eAKC,aAAc,CACf,YAIC,epCwQ+B,CoCvQhC,mBAQC,kBAAsD,CADxD,0BAKI,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,sBpCq6BuC,CoCp6BvC,aAAc,CACf,eCrCD,anBmFgE,CC9E9D,wBD8E8D,CmBjFhE,oBnBiFgE,CmB/EhE,kBACE,wBAAqC,CACtC,2BAGC,aAA0B,CAC3B,iBAVD,anBmFgE,CC9E9D,wBD8E8D,CmBjFhE,oBnBiFgE,CmB/EhE,oBACE,wBA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","file":"../theme.css","sourcesContent":[":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","//\n// Color system\n//\n$white: #fff;\n$primary: #2fb5d2;\n$black: #000;\n$gray-200: #e9ecef;\n$gray-300 : #f1f1f1;\n$gray-400: #ced4da;\n\n// Options\n$enable-rounded: false;\n$enable-shadows: true;\n\n//\n// Links\n//\n// Style anchor elements.\n\n\n$link-hover-decoration: none;\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$headings-font-family: 'Noto Sans',$font-family-sans-serif;\n\n$font-size-base: 1rem; // Assumes the browser default, typically `16px`\n\n\n$h1-font-size: $font-size-base * 1.375;\n$h2-font-size: $font-size-base * 1.25;\n$h3-font-size: $font-size-base * 1.125;\n$h4-font-size: $font-size-base * 1.125;\n$h5-font-size: $font-size-base;\n$h6-font-size: $font-size-base * 0.9375;\n\n$display1-size: 3.125rem;\n$display1-weight: 600;\n$display2-size: 2.188rem;\n$display2-weight: 400;\n$display3-size: 1.563rem;\n$display3-weight: 400;\n$display4-size: 1.25rem;\n$display4-weight: 400;\n\n$small-font-size: $font-size-base * 0.875;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$box-shadow: 2px 2px 8px 0 rgba($black,.2);\n\n// Navs\n\n$nav-tabs-border-width: 2px;\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-link-hover-border-color: transparent transparent $nav-tabs-border-color;\n$nav-tabs-link-active-color: $primary;\n$nav-tabs-link-active-border-color: transparent transparent $primary;\n// Pagination\n\n$pagination-border-color: $gray-400;\n$pagination-disabled-border-color: $gray-400;\n$pagination-hover-border-color: $gray-400;\n\n// Modals\n$modal-lg: 990px;\n\n//tables\n$table-bg : $white;\n\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @if (length($shadow) == 1) {\n // We can pass `@include box-shadow(none);`\n $result: $shadow;\n } @else {\n // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`\n @for $i from 1 through length($shadow) {\n @if nth($shadow, $i) != \"none\" {\n $result: append($result, nth($shadow, $i), \"comma\");\n }\n }\n }\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
diff --git a/dependencies/modules/ps_searchbarjqauto/views/templates/index.php b/dependencies/modules/ps_searchbarjqauto/views/templates/index.php new file mode 100644 index 00000000..3b0dc031 --- /dev/null +++ b/dependencies/modules/ps_searchbarjqauto/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/contactform/views/templates/widget/contactform.tpl b/modules/contactform/views/templates/widget/contactform.tpl index 4848f6d5..18a30757 100644 --- a/modules/contactform/views/templates/widget/contactform.tpl +++ b/modules/contactform/views/templates/widget/contactform.tpl @@ -83,16 +83,9 @@
- +
- {literal} - - {/literal} {/if}
diff --git a/modules/productcomments/views/css/index.php b/modules/productcomments/views/css/index.php new file mode 100644 index 00000000..268cd149 --- /dev/null +++ b/modules/productcomments/views/css/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; diff --git a/modules/productcomments/views/css/productcomments.css b/modules/productcomments/views/css/productcomments.css new file mode 100644 index 00000000..bfec7724 --- /dev/null +++ b/modules/productcomments/views/css/productcomments.css @@ -0,0 +1,28 @@ +/** + * 2007-2019 PrestaShop SA and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +/** + * Product comments CSS + */ diff --git a/modules/productcomments/views/img/additional_module.png b/modules/productcomments/views/img/additional_module.png new file mode 100644 index 00000000..8decc750 Binary files /dev/null and b/modules/productcomments/views/img/additional_module.png differ diff --git a/modules/productcomments/views/img/index.php b/modules/productcomments/views/img/index.php new file mode 100644 index 00000000..268cd149 --- /dev/null +++ b/modules/productcomments/views/img/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; diff --git a/modules/productcomments/views/img/small_stars.png b/modules/productcomments/views/img/small_stars.png new file mode 100644 index 00000000..32473ed1 Binary files /dev/null and b/modules/productcomments/views/img/small_stars.png differ diff --git a/modules/productcomments/views/img/stars.png b/modules/productcomments/views/img/stars.png new file mode 100644 index 00000000..77a6ab94 Binary files /dev/null and b/modules/productcomments/views/img/stars.png differ diff --git a/modules/productcomments/views/index.php b/modules/productcomments/views/index.php new file mode 100644 index 00000000..0fe59722 --- /dev/null +++ b/modules/productcomments/views/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; diff --git a/modules/productcomments/views/js/index.php b/modules/productcomments/views/js/index.php new file mode 100644 index 00000000..268cd149 --- /dev/null +++ b/modules/productcomments/views/js/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; diff --git a/modules/productcomments/views/js/jquery.rating.plugin.js b/modules/productcomments/views/js/jquery.rating.plugin.js new file mode 100644 index 00000000..dbe904b3 --- /dev/null +++ b/modules/productcomments/views/js/jquery.rating.plugin.js @@ -0,0 +1,3 @@ +/** +* jquery.rating.plugin.js + */ diff --git a/modules/productcomments/views/js/jquery.simplePagination.js b/modules/productcomments/views/js/jquery.simplePagination.js new file mode 100644 index 00000000..1108cdc6 --- /dev/null +++ b/modules/productcomments/views/js/jquery.simplePagination.js @@ -0,0 +1,398 @@ +/** +* simplePagination.js v1.6 +* A simple jQuery pagination plugin. +* http://flaviusmatis.github.com/simplePagination.js/ +* +* Copyright 2012, Flavius Matis +* Released under the MIT license. +* http://flaviusmatis.github.com/license.html +*/ + +(function($){ + + var methods = { + init: function(options) { + var o = $.extend({ + items: 1, + itemsOnPage: 1, + pages: 0, + displayedPages: 5, + edges: 2, + currentPage: 0, + useAnchors: true, + hrefTextPrefix: '#page-', + hrefTextSuffix: '', + prevText: 'Prev', + nextText: 'Next', + ellipseText: '…', + ellipsePageSet: true, + cssStyle: 'light-theme', + listStyle: '', + labelMap: [], + selectOnClick: true, + nextAtFront: false, + invertPageOrder: false, + useStartEdge : true, + useEndEdge : true, + onPageClick: function(pageNumber, event) { + // Callback triggered when a page is clicked + // Page number is given as an optional parameter + }, + onInit: function() { + // Callback triggered immediately after initialization + } + }, options || {}); + + var self = this; + + o.pages = o.pages ? o.pages : Math.ceil(o.items / o.itemsOnPage) ? Math.ceil(o.items / o.itemsOnPage) : 1; + if (o.currentPage) + o.currentPage = o.currentPage - 1; + else + o.currentPage = !o.invertPageOrder ? 0 : o.pages - 1; + o.halfDisplayed = o.displayedPages / 2; + + this.each(function() { + self.addClass(o.cssStyle + ' simple-pagination').data('pagination', o); + methods._draw.call(self); + }); + + o.onInit(); + + return this; + }, + + selectPage: function(page) { + methods._selectPage.call(this, page - 1); + return this; + }, + + prevPage: function() { + var o = this.data('pagination'); + if (!o.invertPageOrder) { + if (o.currentPage > 0) { + methods._selectPage.call(this, o.currentPage - 1); + } + } else { + if (o.currentPage < o.pages - 1) { + methods._selectPage.call(this, o.currentPage + 1); + } + } + return this; + }, + + nextPage: function() { + var o = this.data('pagination'); + if (!o.invertPageOrder) { + if (o.currentPage < o.pages - 1) { + methods._selectPage.call(this, o.currentPage + 1); + } + } else { + if (o.currentPage > 0) { + methods._selectPage.call(this, o.currentPage - 1); + } + } + return this; + }, + + getPagesCount: function() { + return this.data('pagination').pages; + }, + + setPagesCount: function(count) { + this.data('pagination').pages = count; + }, + + getCurrentPage: function () { + return this.data('pagination').currentPage + 1; + }, + + destroy: function(){ + this.empty(); + return this; + }, + + drawPage: function (page) { + var o = this.data('pagination'); + o.currentPage = page - 1; + this.data('pagination', o); + methods._draw.call(this); + return this; + }, + + redraw: function(){ + methods._draw.call(this); + return this; + }, + + disable: function(){ + var o = this.data('pagination'); + o.disabled = true; + this.data('pagination', o); + methods._draw.call(this); + return this; + }, + + enable: function(){ + var o = this.data('pagination'); + o.disabled = false; + this.data('pagination', o); + methods._draw.call(this); + return this; + }, + + updateItems: function (newItems) { + var o = this.data('pagination'); + o.items = newItems; + o.pages = methods._getPages(o); + this.data('pagination', o); + methods._draw.call(this); + }, + + updateItemsOnPage: function (itemsOnPage) { + var o = this.data('pagination'); + o.itemsOnPage = itemsOnPage; + o.pages = methods._getPages(o); + this.data('pagination', o); + methods._selectPage.call(this, 0); + return this; + }, + + getItemsOnPage: function() { + return this.data('pagination').itemsOnPage; + }, + + _draw: function() { + var o = this.data('pagination'), + interval = methods._getInterval(o), + i, + tagName; + + methods.destroy.call(this); + + tagName = (typeof this.prop === 'function') ? this.prop('tagName') : this.attr('tagName'); + + var $panel = tagName === 'UL' ? this : $('').appendTo(this); + + // Generate Prev link + if (o.prevText) { + methods._appendItem.call(this, !o.invertPageOrder ? o.currentPage - 1 : o.currentPage + 1, {text: o.prevText, classes: 'prev'}); + } + + // Generate Next link (if option set for at front) + if (o.nextText && o.nextAtFront) { + methods._appendItem.call(this, !o.invertPageOrder ? o.currentPage + 1 : o.currentPage - 1, {text: o.nextText, classes: 'next'}); + } + + // Generate start edges + if (!o.invertPageOrder) { + if (interval.start > 0 && o.edges > 0) { + if(o.useStartEdge) { + var end = Math.min(o.edges, interval.start); + for (i = 0; i < end; i++) { + methods._appendItem.call(this, i); + } + } + if (o.edges < interval.start && (interval.start - o.edges != 1)) { + $panel.append('
  • ' + o.ellipseText + '
  • '); + } else if (interval.start - o.edges == 1) { + methods._appendItem.call(this, o.edges); + } + } + } else { + if (interval.end < o.pages && o.edges > 0) { + if(o.useStartEdge) { + var begin = Math.max(o.pages - o.edges, interval.end); + for (i = o.pages - 1; i >= begin; i--) { + methods._appendItem.call(this, i); + } + } + + if (o.pages - o.edges > interval.end && (o.pages - o.edges - interval.end != 1)) { + $panel.append('
  • ' + o.ellipseText + '
  • '); + } else if (o.pages - o.edges - interval.end == 1) { + methods._appendItem.call(this, interval.end); + } + } + } + + // Generate interval links + if (!o.invertPageOrder) { + for (i = interval.start; i < interval.end; i++) { + methods._appendItem.call(this, i); + } + } else { + for (i = interval.end - 1; i >= interval.start; i--) { + methods._appendItem.call(this, i); + } + } + + // Generate end edges + if (!o.invertPageOrder) { + if (interval.end < o.pages && o.edges > 0) { + if (o.pages - o.edges > interval.end && (o.pages - o.edges - interval.end != 1)) { + $panel.append('
  • ' + o.ellipseText + '
  • '); + } else if (o.pages - o.edges - interval.end == 1) { + methods._appendItem.call(this, interval.end); + } + if(o.useEndEdge) { + var begin = Math.max(o.pages - o.edges, interval.end); + for (i = begin; i < o.pages; i++) { + methods._appendItem.call(this, i); + } + } + } + } else { + if (interval.start > 0 && o.edges > 0) { + if (o.edges < interval.start && (interval.start - o.edges != 1)) { + $panel.append('
  • ' + o.ellipseText + '
  • '); + } else if (interval.start - o.edges == 1) { + methods._appendItem.call(this, o.edges); + } + + if(o.useEndEdge) { + var end = Math.min(o.edges, interval.start); + for (i = end - 1; i >= 0; i--) { + methods._appendItem.call(this, i); + } + } + } + } + + // Generate Next link (unless option is set for at front) + if (o.nextText && !o.nextAtFront) { + methods._appendItem.call(this, !o.invertPageOrder ? o.currentPage + 1 : o.currentPage - 1, {text: o.nextText, classes: 'next'}); + } + + if (o.ellipsePageSet && !o.disabled) { + methods._ellipseClick.call(this, $panel); + } + + }, + + _getPages: function(o) { + var pages = Math.ceil(o.items / o.itemsOnPage); + return pages || 1; + }, + + _getInterval: function(o) { + return { + start: Math.ceil(o.currentPage > o.halfDisplayed ? Math.max(Math.min(o.currentPage - o.halfDisplayed, (o.pages - o.displayedPages)), 0) : 0), + end: Math.ceil(o.currentPage > o.halfDisplayed ? Math.min(o.currentPage + o.halfDisplayed, o.pages) : Math.min(o.displayedPages, o.pages)) + }; + }, + + _appendItem: function(pageIndex, opts) { + var self = this, options, $link, o = self.data('pagination'), $linkWrapper = $('
  • '), $ul = self.find('ul'); + + pageIndex = pageIndex < 0 ? 0 : (pageIndex < o.pages ? pageIndex : o.pages - 1); + + options = { + text: pageIndex + 1, + classes: '' + }; + + if (o.labelMap.length && o.labelMap[pageIndex]) { + options.text = o.labelMap[pageIndex]; + } + + options = $.extend(options, opts || {}); + + if (pageIndex == o.currentPage || o.disabled) { + if (o.disabled || options.classes === 'prev' || options.classes === 'next') { + $linkWrapper.addClass('disabled'); + } else { + $linkWrapper.addClass('active'); + } + $link = $('' + (options.text) + ''); + } else { + if (o.useAnchors) { + $link = $('
    ' + (options.text) + ''); + } else { + $link = $('' + (options.text) + ''); + } + $link.click(function(event){ + return methods._selectPage.call(self, pageIndex, event); + }); + } + + if (options.classes) { + $link.addClass(options.classes); + } + + $linkWrapper.append($link); + + if ($ul.length) { + $ul.append($linkWrapper); + } else { + self.append($linkWrapper); + } + }, + + _selectPage: function(pageIndex, event) { + var o = this.data('pagination'); + o.currentPage = pageIndex; + if (o.selectOnClick) { + methods._draw.call(this); + } + return o.onPageClick(pageIndex + 1, event); + }, + + + _ellipseClick: function($panel) { + var self = this, + o = this.data('pagination'), + $ellip = $panel.find('.ellipse'); + $ellip.addClass('clickable').parent().removeClass('disabled'); + $ellip.click(function(event) { + if (!o.disable) { + var $this = $(this), + val = (parseInt($this.parent().prev().text(), 10) || 0) + 1; + $this + .html('') + .find('input') + .focus() + .click(function(event) { + // prevent input number arrows from bubbling a click event on $ellip + event.stopPropagation(); + }) + .keyup(function(event) { + var val = $(this).val(); + if (event.which === 13 && val !== '') { + // enter to accept + if ((val>0)&&(val<=o.pages)) + methods._selectPage.call(self, val - 1); + } else if (event.which === 27) { + // escape to cancel + $ellip.empty().html(o.ellipseText); + } + }) + .bind('blur', function(event) { + var val = $(this).val(); + if (val !== '') { + methods._selectPage.call(self, val - 1); + } + $ellip.empty().html(o.ellipseText); + return false; + }); + } + return false; + }); + } + + }; + + $.fn.pagination = function(method) { + + // Method calling logic + if (methods[method] && method.charAt(0) != '_') { + return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method) { + return methods.init.apply(this, arguments); + } else { + $.error('Method ' + method + ' does not exist on jQuery.pagination'); + } + + }; + +})(jQuery); diff --git a/modules/productcomments/views/js/list-comments.js b/modules/productcomments/views/js/list-comments.js new file mode 100644 index 00000000..e2f6dfe8 --- /dev/null +++ b/modules/productcomments/views/js/list-comments.js @@ -0,0 +1,205 @@ +/** + * 2007-2019 PrestaShop SA and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +jQuery(document).ready(function () { + const $ = jQuery; + const commentsList = $('#product-comments-list'); + const emptyProductComment = $('#empty-product-comment'); + const commentsListUrl = commentsList.data('list-comments-url'); + const updateCommentUsefulnessUrl = commentsList.data('update-comment-usefulness-url'); + const reportCommentUrl = commentsList.data('report-comment-url'); + const commentPrototype = commentsList.data('comment-item-prototype'); + + emptyProductComment.hide(); + // $('.grade-stars').rating(); + + const updateCommentPostErrorModal = $('#update-comment-usefulness-post-error'); + + const confirmAbuseModal = $('#report-comment-confirmation'); + const reportCommentPostErrorModal = $('#report-comment-post-error'); + const reportCommentPostedModal = $('#report-comment-posted'); + + function showUpdatePostCommentErrorModal(errorMessage) { + $('#update-comment-usefulness-post-error-message').html(errorMessage); + updateCommentPostErrorModal.modal('show'); + } + + function showReportCommentErrorModal(errorMessage) { + $('#report-comment-post-error-message').html(errorMessage); + reportCommentPostErrorModal.modal('show'); + } + + // Productcomments 4.2.1 and newer return json. older return html string + // which is parsed, helper method for checking if the response is json and + // should not be parsed + function isJson(str) { + if (typeof str !== 'string') return false; + try { + const result = JSON.parse(str); + const type = Object.prototype.toString.call(result); + return type === '[object Object]' + || type === '[object Array]'; + } catch (err) { + return false; + } + } + + + function paginateComments(page) { + $.get(commentsListUrl, {page: page}, function(result) { + let jsonResponse; + if(isJson(result)) { + jsonResponse = JSON.parse(result); + } else { + jsonResponse = result; + } + if (jsonResponse.comments && jsonResponse.comments.length > 0) { + populateComments(jsonResponse.comments); + if (jsonResponse.comments_nb > jsonResponse.comments_per_page) { + $('#product-comments-list-pagination').pagination({ + currentPage: page, + items: jsonResponse.comments_nb, + itemsOnPage: jsonResponse.comments_per_page, + cssStyle: '', + prevText: 'chevron_left', + nextText: 'chevron_right', + useAnchors: false, + displayedPages: 2, + onPageClick: paginateComments + }); + } else { + $('#product-comments-list-pagination').hide(); + } + } else { + commentsList.html(''); + emptyProductComment.show(); + commentsList.append(emptyProductComment); + } + }); + } + + function populateComments(comments) { + commentsList.html(''); + comments.forEach(addComment); + } + + function addComment(comment) { + var commentTemplate = commentPrototype; + var customerName = comment.customer_name; + if (!customerName) { + customerName = comment.firstname+' '+comment.lastname; + } + commentTemplate = commentTemplate.replace(/@COMMENT_ID@/, comment.id_product_comment); + commentTemplate = commentTemplate.replace(/@PRODUCT_ID@/, comment.id_product); + commentTemplate = commentTemplate.replace(/@CUSTOMER_NAME@/, customerName); + commentTemplate = commentTemplate.replace(/@COMMENT_DATE@/, comment.date_add); + commentTemplate = commentTemplate.replace(/@COMMENT_TITLE@/, comment.title); + commentTemplate = commentTemplate.replace(/@COMMENT_COMMENT@/, comment.content); + commentTemplate = commentTemplate.replace(/@COMMENT_USEFUL_ADVICES@/, comment.usefulness); + commentTemplate = commentTemplate.replace(/@COMMENT_NOT_USEFUL_ADVICES@/, (comment.total_usefulness - comment.usefulness)); + commentTemplate = commentTemplate.replace(/@COMMENT_TOTAL_ADVICES@/, comment.total_usefulness); + + const $comment = $(commentTemplate); + var grade_html = ''; + for (i = 0; i < 5; i++) { + grade_html +='
    '; + if (comment.grade <= i) { + grade_html +=''; + }else if (comment.grade>i && comment.grade < (i + 1)){ + grade_html +=''; + } + else{ + grade_html +=''; + } + grade_html +='
    '; + } + $('.grade-stars', $comment).html(grade_html); + $('.useful-review', $comment).click(function() { + updateCommentUsefulness($comment, comment.id_product_comment, 1); + }); + $('.not-useful-review', $comment).click(function() { + updateCommentUsefulness($comment, comment.id_product_comment, 0); + }); + $('.report-abuse', $comment).click(function() { + confirmCommentAbuse(comment.id_product_comment); + }); + + commentsList.append($comment); + } + + function updateCommentUsefulness($comment, commentId, usefulness) { + $.post(updateCommentUsefulnessUrl, {id_product_comment: commentId, usefulness: usefulness}, function(jsonResponse){ + let jsonData; + if(isJson(jsonResponse)) { + jsonData = JSON.parse(jsonResponse); + } else { + jsonData = jsonResponse; + } + if (jsonData) { + if (jsonData.success) { + $('.useful-review-value', $comment).html(jsonData.usefulness); + $('.not-useful-review-value', $comment).html(jsonData.total_usefulness - jsonData.usefulness); + } else { + const decodedErrorMessage = $("
    ").html(jsonData.error).text(); + showUpdatePostCommentErrorModal(decodedErrorMessage); + } + } else { + showUpdatePostCommentErrorModal(productCommentUpdatePostErrorMessage); + } + }).fail(function() { + showUpdatePostCommentErrorModal(productCommentUpdatePostErrorMessage); + }); + } + + function confirmCommentAbuse(commentId) { + confirmAbuseModal.modal('show'); + confirmAbuseModal.one('modal:confirm', function(event, confirm) { + if (!confirm) { + return; + } + $.post(reportCommentUrl, {id_product_comment: commentId}, function(jsonResponse){ + let jsonData; + if(isJson(jsonResponse)) { + jsonData = JSON.parse(jsonResponse); + } else { + jsonData = jsonResponse; + } + if (jsonData) { + if (jsonData.success) { + reportCommentPostedModal.modal('show'); + } else { + showReportCommentErrorModal(jsonData.error); + } + } else { + showReportCommentErrorModal(productCommentAbuseReportErrorMessage); + } + }).fail(function() { + showReportCommentErrorModal(productCommentAbuseReportErrorMessage); + }); + }) + } + + paginateComments(1); +}); diff --git a/modules/productcomments/views/js/post-comment.js b/modules/productcomments/views/js/post-comment.js new file mode 100644 index 00000000..59c4d539 --- /dev/null +++ b/modules/productcomments/views/js/post-comment.js @@ -0,0 +1,152 @@ +/** + * 2007-2019 PrestaShop SA and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +jQuery(document).ready(function () { + const $ = jQuery; + $('body').on('click', '.post-product-comment', function (event) { + event.preventDefault(); + showPostCommentModal(); + }); + + const postCommentModal = $('#post-product-comment-modal'); + postCommentModal.on('hidden.bs.modal', function () { + postCommentModal.modal('hide'); + clearPostCommentForm(); + }); + + const commentPostedModal = $('#product-comment-posted-modal'); + const commentPostErrorModal = $('#product-comment-post-error'); + + function showPostCommentModal() { + commentPostedModal.modal('hide'); + commentPostErrorModal.modal('hide'); + postCommentModal.modal('show'); + } + + function showCommentPostedModal() { + postCommentModal.modal('hide'); + commentPostErrorModal.modal('hide'); + clearPostCommentForm(); + commentPostedModal.modal('show'); + } + + function showPostErrorModal(errorMessage) { + postCommentModal.modal('hide'); + commentPostedModal.modal('hide'); + clearPostCommentForm(); + $('#product-comment-post-error-message').html(errorMessage); + commentPostErrorModal.modal('show'); + } + + function clearPostCommentForm() { + $('#post-product-comment-form input[type="text"]').val(''); + $('#post-product-comment-form input[type="text"]').removeClass('valid error'); + $('#post-product-comment-form textarea').val(''); + $('#post-product-comment-form textarea').removeClass('valid error'); + $('#post-product-comment-form .criterion-rating input').val(3).change(); + } + + function initCommentModal() { + // $('#post-product-comment-modal .grade-stars').rating(); + $('body').on('click', '.post-product-comment', function (event) { + event.preventDefault(); + showPostCommentModal(); + }); + + $('#post-product-comment-form').submit(submitCommentForm); + } + + // Productcomments 4.2.1 and newer return json. older return html string + // which is parsed, helper method for checking if the response is json and + // should not be parsed + function isJson(str) { + if (typeof str !== 'string') return false; + try { + const result = JSON.parse(str); + const type = Object.prototype.toString.call(result); + return type === '[object Object]' + || type === '[object Array]'; + } catch (err) { + return false; + } + } + + function submitCommentForm(event) { + event.preventDefault(); + var formData = $(this).serializeArray(); + if (!validateFormData(formData)) { + return; + } + $.post($(this).attr('action'), $(this).serialize(), function(jsonResponse) { + let jsonData; + if (isJson(jsonResponse)) { + jsonData = JSON.parse(jsonResponse); + } else { + jsonData = jsonResponse; + } + if (jsonData) { + if (jsonData.success) { + clearPostCommentForm(); + showCommentPostedModal(); + } else { + if (jsonData.errors) { + var errorList = '
      '; + for (var i = 0; i < jsonData.errors.length; ++i) { + errorList += '
    • ' + jsonData.errors[i] + '
    • '; + } + errorList += '
    '; + showPostErrorModal(errorList); + } else { + const decodedErrorMessage = $("
    ").html(jsonData.error).text(); + showPostErrorModal(decodedErrorMessage); + } + } + } else { + showPostErrorModal(productCommentPostErrorMessage); + } + }).fail(function() { + showPostErrorModal(productCommentPostErrorMessage); + }); + } + + function validateFormData(formData) { + var isValid = true; + formData.forEach(function(formField) { + const fieldSelector = '#post-product-comment-form [name="'+formField.name+'"]'; + if (!formField.value) { + $(fieldSelector).addClass('is-invalid'); + $(fieldSelector).removeClass('is-valid'); + isValid = false; + } else { + $(fieldSelector).removeClass('is-invalid'); + $(fieldSelector).addClass('is-valid'); + } + }); + + return isValid; + } + + initCommentModal(); +}); diff --git a/modules/productcomments/views/templates/hook/alert-modal.tpl b/modules/productcomments/views/templates/hook/alert-modal.tpl new file mode 100644 index 00000000..9bdaac6d --- /dev/null +++ b/modules/productcomments/views/templates/hook/alert-modal.tpl @@ -0,0 +1,60 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +{assign var='icon' value=$icon|default:'check_circle'} +{assign var='modal_message' value=$modal_message|default:''} + + + + diff --git a/modules/productcomments/views/templates/hook/average-grade-stars.tpl b/modules/productcomments/views/templates/hook/average-grade-stars.tpl new file mode 100644 index 00000000..bcbe33e6 --- /dev/null +++ b/modules/productcomments/views/templates/hook/average-grade-stars.tpl @@ -0,0 +1,50 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +{if $nb_comments != 0} +
    + {l s='Grade' d='Modules.Productcomments.Shop'} +
    + {section name="i" start=0 loop=5 step=1} + {strip} +
    + + {if $average_grade lte $smarty.section.i.index} + {* empty *} +  + {elseif $average_grade gt $smarty.section.i.index && $average_grade lt ($smarty.section.i.index+1)} + {* half *} +  + {else} + {* full *} +  + {/if} + +
    + {/strip} + {/section} +
    +
    +{/if} diff --git a/modules/productcomments/views/templates/hook/confirm-modal.tpl b/modules/productcomments/views/templates/hook/confirm-modal.tpl new file mode 100644 index 00000000..1ce1f5a0 --- /dev/null +++ b/modules/productcomments/views/templates/hook/confirm-modal.tpl @@ -0,0 +1,70 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +{assign var='icon' value=$icon|default:'check_circle'} +{assign var='modal_message' value=$modal_message|default:''} + + + + diff --git a/modules/productcomments/views/templates/hook/empty-product-comment.tpl b/modules/productcomments/views/templates/hook/empty-product-comment.tpl new file mode 100644 index 00000000..b56b7deb --- /dev/null +++ b/modules/productcomments/views/templates/hook/empty-product-comment.tpl @@ -0,0 +1,35 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +
    + {if $post_allowed} + + {else} + {l s='No customer reviews for the moment.' d='Modules.Productcomments.Shop'} + {/if} +
    diff --git a/modules/productcomments/views/templates/hook/index.php b/modules/productcomments/views/templates/hook/index.php new file mode 100644 index 00000000..268cd149 --- /dev/null +++ b/modules/productcomments/views/templates/hook/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; diff --git a/modules/productcomments/views/templates/hook/post-comment-modal.tpl b/modules/productcomments/views/templates/hook/post-comment-modal.tpl new file mode 100644 index 00000000..a0dba1f9 --- /dev/null +++ b/modules/productcomments/views/templates/hook/post-comment-modal.tpl @@ -0,0 +1,156 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + + + + + +{* Comment posted modal *} +{if $moderation_active} + {assign var='comment_posted_message' value={l s='Your comment has been submitted and will be available once approved by a moderator.' d='Modules.Productcomments.Shop'}} +{else} + {assign var='comment_posted_message' value={l s='Your comment has been added!' d='Modules.Productcomments.Shop'}} +{/if} +{include file='module:productcomments/views/templates/hook/alert-modal.tpl' +modal_id='product-comment-posted-modal' +modal_title={l s='Review sent' d='Modules.Productcomments.Shop'} +modal_message=$comment_posted_message +} + +{* Comment post error modal *} +{include file='module:productcomments/views/templates/hook/alert-modal.tpl' +modal_id='product-comment-post-error' +modal_title={l s='Your review cannot be sent' d='Modules.Productcomments.Shop'} +icon='error' +} diff --git a/modules/productcomments/views/templates/hook/product-additional-info-quickview.tpl b/modules/productcomments/views/templates/hook/product-additional-info-quickview.tpl new file mode 100644 index 00000000..9f9bf4b9 --- /dev/null +++ b/modules/productcomments/views/templates/hook/product-additional-info-quickview.tpl @@ -0,0 +1,39 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +{if $nb_comments != 0} + + +
    +
    +
    +
    +
    +{/if} diff --git a/modules/productcomments/views/templates/hook/product-additional-info.tpl b/modules/productcomments/views/templates/hook/product-additional-info.tpl new file mode 100644 index 00000000..c2f23ba7 --- /dev/null +++ b/modules/productcomments/views/templates/hook/product-additional-info.tpl @@ -0,0 +1,58 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +{if $nb_comments != 0 || $post_allowed} +
    + {if $nb_comments == 0} + {if $post_allowed} + + {/if} + {else} + {include file='module:productcomments/views/templates/hook/average-grade-stars.tpl' grade=$average_grade} + + + {* Rich snippet rating*} +
    + + +
    + {/if} +
    +{/if} diff --git a/modules/productcomments/views/templates/hook/product-comment-item-prototype.tpl b/modules/productcomments/views/templates/hook/product-comment-item-prototype.tpl new file mode 100644 index 00000000..6510f11c --- /dev/null +++ b/modules/productcomments/views/templates/hook/product-comment-item-prototype.tpl @@ -0,0 +1,58 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + +
    +
    +
    +
    +
    + @COMMENT_DATE@ +
    +
    + {l s='By %1$s' sprintf=['@CUSTOMER_NAME@'] d='Modules.Productcomments.Shop'} +
    +
    + +
    +

    @COMMENT_TITLE@

    +

    @COMMENT_COMMENT@

    +
    + {if $usefulness_enabled} + + + {/if} + +
    +
    +
    +
    diff --git a/modules/productcomments/views/templates/hook/product-comments-list.tpl b/modules/productcomments/views/templates/hook/product-comments-list.tpl new file mode 100644 index 00000000..6ac27a13 --- /dev/null +++ b/modules/productcomments/views/templates/hook/product-comments-list.tpl @@ -0,0 +1,87 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + + +
    +
    +
    + chat + {l s='Comments' d='Modules.Productcomments.Shop'} ({$nb_comments}) +
    + {include file='module:productcomments/views/templates/hook/average-grade-stars.tpl' grade=$average_grade} +
    + +{include file='module:productcomments/views/templates/hook/product-comment-item-prototype.tpl' assign="comment_prototype"} +{include file='module:productcomments/views/templates/hook/empty-product-comment.tpl'} +
    +
    +
    +
    + +
    +{* Appreciation post error modal *} +{include file='module:productcomments/views/templates/hook/alert-modal.tpl' + modal_id='update-comment-usefulness-post-error' + modal_title={l s='Your review appreciation cannot be sent' d='Modules.Productcomments.Shop'} + icon='error' +} + +{* Confirm report modal *} +{include file='module:productcomments/views/templates/hook/confirm-modal.tpl' + modal_id='report-comment-confirmation' + modal_title={l s='Report comment' d='Modules.Productcomments.Shop'} + modal_message={l s='Are you sure that you want to report this comment?' d='Modules.Productcomments.Shop'} + icon='feedback' +} + +{* Report comment posted modal *} +{include file='module:productcomments/views/templates/hook/alert-modal.tpl' + modal_id='report-comment-posted' + modal_title={l s='Report sent' d='Modules.Productcomments.Shop'} + modal_message={l s='Your report has been submitted and will be considered by a moderator.' d='Modules.Productcomments.Shop'} +} + +{* Report abuse error modal *} +{include file='module:productcomments/views/templates/hook/alert-modal.tpl' +modal_id='report-comment-post-error' +modal_title={l s='Your report cannot be sent' d='Modules.Productcomments.Shop'} +icon='error' +} diff --git a/modules/productcomments/views/templates/hook/product-list-reviews.tpl b/modules/productcomments/views/templates/hook/product-list-reviews.tpl new file mode 100644 index 00000000..a40c4821 --- /dev/null +++ b/modules/productcomments/views/templates/hook/product-list-reviews.tpl @@ -0,0 +1,57 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} + + + +{if $nb_comments != 0} +{* Rich snippet rating is displayed via php/smarty meaning it will be cached (for example on homepage) *} +
    +
    +
    + {** full icon **} + {section name="i" start=0 loop=5 step=1} + {strip} +
    + + {if $average_grade lte $smarty.section.i.index} + {* empty *} +  + {elseif $average_grade gt $smarty.section.i.index && $average_grade lt ($smarty.section.i.index+1)} + {* half *} +  + {else} + {* full *} +  + {/if} + +
    + {/strip} + {/section} +
    +
    + {**} + {**} +
    +{/if} diff --git a/modules/productcomments/views/templates/index.php b/modules/productcomments/views/templates/index.php new file mode 100644 index 00000000..268cd149 --- /dev/null +++ b/modules/productcomments/views/templates/index.php @@ -0,0 +1,34 @@ + + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; diff --git a/modules/ps_advertising/ps_advertising.tpl b/modules/ps_advertising/ps_advertising.tpl index a2e722dd..5ec080f0 100644 --- a/modules/ps_advertising/ps_advertising.tpl +++ b/modules/ps_advertising/ps_advertising.tpl @@ -24,5 +24,5 @@ *}
    - {$adv_title} + {$adv_title}
    diff --git a/modules/ps_categorytree/views/templates/hook/ps_categorytree.tpl b/modules/ps_categorytree/views/templates/hook/ps_categorytree.tpl index bb171599..d786575c 100644 --- a/modules/ps_categorytree/views/templates/hook/ps_categorytree.tpl +++ b/modules/ps_categorytree/views/templates/hook/ps_categorytree.tpl @@ -56,7 +56,7 @@ {/strip} {/function} -
    +
    • {$categories.name}
    • {categories nodes=$categories.children}
    • diff --git a/modules/ps_contactinfo/nav.tpl b/modules/ps_contactinfo/nav.tpl index 97a1bbb6..bc00ecf3 100644 --- a/modules/ps_contactinfo/nav.tpl +++ b/modules/ps_contactinfo/nav.tpl @@ -23,7 +23,7 @@ * International Registered Trademark & Property of PrestaShop SA *} {/if}
    diff --git a/modules/ps_contactinfo/ps_contactinfo.tpl b/modules/ps_contactinfo/ps_contactinfo.tpl index 3fc439ea..5b7489fe 100644 --- a/modules/ps_contactinfo/ps_contactinfo.tpl +++ b/modules/ps_contactinfo/ps_contactinfo.tpl @@ -23,9 +23,12 @@ * International Registered Trademark & Property of PrestaShop SA *} -
    -
    -

    {l s='Store information' d='Shop.Theme.Global'}

    +
    + + {l s='Store information' d='Shop.Theme.Global'} + + + - +
    diff --git a/modules/ps_currencyselector/ps_currencyselector.tpl b/modules/ps_currencyselector/ps_currencyselector.tpl index feb0fb86..e488f2cb 100644 --- a/modules/ps_currencyselector/ps_currencyselector.tpl +++ b/modules/ps_currencyselector/ps_currencyselector.tpl @@ -29,7 +29,7 @@ -